Job responsibilities
- Executes standard software solutions, design, development, and technical troubleshooting
- Writes secure and high-quality code using the syntax of at least one programming language with limited guidance
- Designs, develops, codes, and troubleshoots with consideration of upstream and downstream systems and technical implications
- Applies knowledge of tools within the Software Development Life Cycle toolchain to improve the value realized by automation
- Applies technical troubleshooting to break down solutions and solve technical problems of basic complexity
- Gathers, analyzes, and draws conclusions from large, diverse data sets to identify problems and contribute to decision-making in service of secure, stable application development
- Learns and applies system processes, methodologies, and skills for the development of secure, stable code and systems
- Adds to team culture of diversity, equity, inclusion, and respect
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 2+ years of applied experience
- Hands-on practical experience in system design, application development, testing, and operational stability
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
- Demonstrable ability to code in one or more languages, especially Java
- Experience across the whole Software Development Life Cycle
- Exposure to Agile methodologies
- Familiarity with engineering tools for development (IDEs), debugging, testing (Cucumber), and delivery/deployment (CI/CD)
- Knowledge of software design principles and examples of applying them, especially for scalability, resiliency, and security
- Emerging knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
Preferred qualifications, capabilities, and skills
- Experience developing in a functional programming style and language, especially Scala
- Familiarity with modern front-end technologies such as JavaScript and React
- Exposure to cloud technologies such as AWS