We have an opportunity to impact your career and provide an adventure where you can push the limits of what's possible.
As a Lead Software Engineer at JPMorgan Chase within the Corporate Sector's Infrastructure platform team, you are an integral part of an agile team that works to enhance, build, and deliver trusted market-leading technology products in a secure, stable, and scalable way.
As a core technical contributor, you are responsible for conducting critical technology solutions across multiple technical areas within various business functions in support of the firm’s business objectives.
Job responsibilities
- Executes creative software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Develops Automation Tools and creates and maintains applications for network automation, including configuration management, monitoring, and troubleshooting tools.
- Documents software design, code, and usage instructions to facilitate maintenance, resiliency testing and future development.
- Integrates software solutions with various network devices and systems using APIs and network protocols.
- Collaborates with Network Engineers and works closely with Network Engineers and Product Owners to understand requirements, develop solutions and ensure seamless integration of software tools.
- Identifies opportunities to eliminate or automate remediation of recurring issues to improve overall operational stability of software applications and systems
- Leads evaluation sessions with external vendors, startups, and internal teams to drive outcomes-oriented probing of architectural designs, technical credentials, and applicability for use within existing systems and information architecture
- Conducts thorough testing and validation of developed software to ensure it meets functional, security and performance requirements.
- Adds to team culture of diversity, equity, inclusion, and respect
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 5+ years of applied experience
- Hands-on practical experience delivering system design, application development, testing, and operational stability
- Advanced in one or more programming language(s)-python. Extensive experience with Python development and ability to write loosely-coupled, modular and readable services using best-in-class architecture patterns (.
adapter pattern, unit of work pattern, repository pattern) with a test-first approach.
- Proficiency of networking concepts, protocols (TCP / IP, DNS, DHCP) and technologies.
- Experience with RESTful APIs, JSON, and XML for integrating software with management systems and providing Engineer CRUD capabilities to intent data.
- Proficient in all aspects of the Software Development Life Cycle
- Proficiency in working with Linux operating systems, including scripting and basic administration tasks.
- Experience with version control systems, particularly BitBucket and Git, for code management and collaboration and familiarity with network automation tools, such as Ansible.
- Experience in various testing types (unit testing, integration testing, performance testing, post-validation testing, Test Driven Development (TDD), Behavior Driven Development (BDD), cyber testing, resiliency testing)
- Demonstrated proficiency in software applications and technical processes within a technical discipline (., cloud, artificial intelligence, machine learning, mobile,
- Experience with container technologies such as Kubernetes and Docker.
Preferred qualifications, capabilities, and skills
- Experience with databases (SQL NoSQL) for storing and retrieving network configuration and performance data.
- Understanding of DevOps principles and practices, including CI / CD pipelines.
- Alerting and Monitoring : Proficiency in setting up alerting in monitoring tools like Grafana, Splunk, Jaeger, Dynatrace, and OpenTelementry.