Required (All Levels):
• Demonstrates knowledge delivering software within a formal Systems Development Life Cycle (SDLC)
• Demonstrates knowledge of developing Java based applications
• Ability to apply sound judgment in analyzing and organizing technical solutions
• Effective research, analytical, and problem-solving skills
• Effective interpersonal, verbal, and written communication
• Ability to work independently and as part of a team
• Bachelor’s Degree in related field and/or the equivalent combination of education, training, and experience
• Required list of skills and competencies:
Programming Languages
• Kotlin, including Kotlin DSL for build scripts
• Java
Frameworks and Libraries
• Dagger/Hilt - Dependency injection
• Jetpack Compose - Toolkit for building native UI
• JUnit, Mockito, Espresso, Hamcrest - Testing frameworks
• Kotlin Coroutine - Asynchronous programming
• Retrofit - Networking
Tools
• Android Studio - Android IDE
• Proguard/R8 - Shrink, obfuscate, and optimize
• Azure DevOps Pipelines - CI/CD pipelines using YAML
Architectural Patters
• MVVM (Model View View-Model)
• Android architecture. Application, Activity, Fragment lifecycle.
Methodology
• SAFE Agile
• Scrum
Level III:
• Prior experience working on small to medium sized projects of increasing complexity, or a combination of education, training and experience
• Demonstrates ability to coach, lead, guide, and provide technical direction to professional staff members
• Ability to negotiate with stakeholders, governance committees, and senior management when deciding how best to deliver software solutions to satisfy business requirements
• Ability to deliver software using different software development methodologies
Level IV:
• Formal degree in a related field
• Advanced training/certification in information technology, computer science or related field
• Extensive experience in application/systems analysis, workflow or procedural analysis
• Strong planning, organizational, and multi-tasking skills
• Strong research, analytical, and problem solving skills
Level V:
• Excellent relationship and facilitation and presentation skills
• Demonstrated technical abilities in independently resolving complex problems
• Deep knowledge of financial industry trends, direction and standards that guide new technology offerings
• Experience, and demonstrated knowledge in strategic planning
• Experience leading, guiding, and mentoring professional staff
Desired (All Levels):
• College degree and formal training in information technology, computer science or related field
• Knowledge of Navy Federal business processes and technical systems
• Strong analytical expertise
• Knowledge of Financial industry best practices in relation to Mobile Application offerings and capabilities
• Experience delivering software using Agile frameworks such as Scrum, Kanban, or XP
• Previously developed native Android Apps using Google’s official IDE, Android Studio
• Refines knowledge by staying up to date on emerging trends in the mobile application development landscape
• Able to leverage techniques such as Test-Driven Development and Continuous Integration and Delivery pipelines
• Desired/Nice to have list of skills and competencies (level, III, IV & V):
Programming Languages
• Bash/shell scripting
• HTML
Frameworks and Libraries
• Okhttp - Http client
• RxJava - Reactive programming
Tools
• Verimatrix apkdefender - Code protection
• Wiremock - Service virtualization tool
• Firebase Crashlytics - Crash reporting, application monitoring
• Firebase App Distribution - Test app distribution
• Adobe Analytics - Telemetry
• Azure App Insights - Telemetry
• Launch Darkly - Feature management
• Google Playstore Console - App store
Architectural Patters
• MVP (Model View Presenter)
Methodology
• Extreme Programming (XP) - Agile software development framework
• ATDD (Acceptance test–driven development)
Bachelor's degree