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
- Proactively identifies hidden problems and patterns in data and uses these insights to drive improvements to coding hygiene and system architecture
- Contributes to software engineering communities of practice and events that explore new and emerging technologies
- Executes standard software solutions, design, development, and technical troubleshooting
- Writes secure and high-quality code using Java, MVVM, Dagger, RxJava, and Kotlin
- Designs, develops, codes, and troubleshoots with consideration of upstream and downstream systems and technical implications
- 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 5+ years 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
- Overall knowledge of the Software Development Life Cycle
- Solid understanding of agile methodologies such as CI/CD, Applicant Resiliency, and Security
- Experience working with Restful API integration
- Experience working with RxJava, LiveData, or State flows
- Experience in Unit testing libraries like Mockito, JUnit, Gherkin scripts for UI Test Automation.
- Strong understanding of java and android ecosystem and
- all mobile UI fundamentals, from layout to animations
- Understanding of SOLID principles and architectural patterns such as MVP, MVI and MVVM
Preferred qualifications, capabilities, and skills
- Familiarity with Agile development including daily scrum and weekly iteration reviews and planning
- Experience with Unit Testing frameworks
- Experience with Android jetpack, Kotlin Coroutines