Description

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)

Education

Bachelor's degree