Job responsibilities
- Executes software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Creates secure and high-quality production code and maintains algorithms that run synchronously with appropriate systems
- Produces architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development
- Gathers, analyzes, synthesizes, and develops visualizations and reporting from large, diverse data sets in service of continuous improvement of software applications and systems. In addition, write test cases, leverage unit / integration testing, and develop test automation.
- Proactively identifies hidden problems and patterns in data and uses these insights to drive improvements to coding hygiene and system architecture
- Participate in design and develop scalable and resilient systems in a timely manner using Java and .Net to contribute to continual, iterative improvements for product teams and build and deploy them using Microservices
- Contributes to software engineering communities of practice and events that explore new and emerging technologies
- Adds to team culture of diversity, equity, inclusion, and respect
- Participate in scrum team stand-ups, code reviews and other ceremonies, contribute to task completion and blocker resolution within your team
- Produces architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 3+ years applied experience
- Must be a U.S. Citizen or Permanent Resident with 7+ years of U.S. residency
- Hands-on practical experience in system design, application development, testing, and operational stability
- Proficient in coding in one or more languages, such as, Java, J2EE, SQL and Spring Framework
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
- Overall knowledge of the Software Development Life Cycle and the ability to work in a large Agile/Scrum environment , collaborating with Agile teams, and actively participating in Agile ceremonies.
- Solid understanding of agile methodologies such as CI/CD, with GIT and BitBucket, Application Resiliency, Security, TDD, DevOps automation and code quality tools (i.e. static/dynamic code scanning)
- Demonstrated knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
- Knowledgeable in developing RESTful Micro Services with distributed architectures, such as, Kafka (or similar messaging libraries)
Preferred qualifications, capabilities, and skills
- Experience with cloud technologies such as AWS or Google Cloud, with experience designing cloud ready solutions, including creating artifacts, models, and strategy presentations
- Web based development experience with modern JavaScript libraries like Angular.js.
- Hands on experience developing .NET framework in C#
- Experience mentoring Junior Software Engineers