Manages development activities through the entire software development life cycle.
Recommends improvements to processes and technology that improve the effectiveness of the team.
Analyzes requirements and create specification. Analyzes current software functionality, project requirements to understand scope of work, and impact of future design decisions. Reads, comprehends, and creates technical specifications and technical documentation.
Under the guidance of senior development team members, designs changes and enhancements to software, in line with agreed patterns, standards and frameworks, prior to making any changes.
Develops and codes according to specification and design. Effectively uses integrated development environment tools, including: editors, debuggers, etc. Develops and/or modifies software to produce the desired results while adhering to AIT standards.
Follows a Test-driven Development, Continuous Integration, Continuous Delivery and Code Review based approach. Participates in the Quality Assurance testing process and fixes issues found during testing.
Liaises with customers and vendors through the software development lifecycle to resolve software challenges, as required.
Creates user and support documentation.
Plans and implements changes, as required. Performs peer review of production migration prior to implementation, as required. Attends change control meetings to represent any changes, as required. Creates detailed implementation plan and implements approved changes into production, as required.
Provides accurate and timely status updates to management, escalating roadblocks as necessary.
Troubleshoots and resolves medium-impact, medium-complexity technical challenges and problems, escalates if necessary.
KNOWLEDGE AND SKILLS REQUIRED:
Strong knowledge of both Kotlin and Java. Knowledgeable with Git and source control in general, as well as branching and merging strategies. Knowledge of both SQL (relational) and NoSQL databases (MySQL, Postgres, Mongo or comparable.) Thorough understanding of OOP (Object-oriented Programming) principles. Understanding of proper memory management. Understanding of proper debugging. Understanding of design patterns such as MVC and MVVM and how to work with and implement them. Comfortable working with Google’s core frameworks and libraries. Familiarity with design patterns such as the Coordinator and Repository patterns. Knowledge of healthcare business objectives and strategies. Time management, communications, decision making, presentation, human relations, and organization skills. Excellent interpersonal and organizational skills, ability to handle diverse situations, multiple projects.
KNOWLEDGE AND SKILLS PREFERRED:
Familiarity with Reactive (Rx) programming and concepts such as Observables, Iterators and Functional Programming
Understanding of Continuous Integration and Continuous Delivery
Knowledge or REST APIs and best-practices in using them
Familiarity with tools such as Paw, Postman
Familiarity with Photoshop, Sketch and Zeplin
EDUCATION AND EXPERIENCE REQUIRED:
Bachelor’s degree in a field of study such as Computer Science, Information Technology, or related field, OR a minimum of three years of relevant IT work experience
Two years experience in software development covering object-oriented programming
Experience logically comprehending technical and/or functional manuals and instructions
Troubleshooting issue resolution experience
Experience with Android Studio and other IDEs
Experience working with development environments and toolsets, including: database queries, data types, flat files, data mapping, programming structures, and programming logic, to solve computing problems of low to moderate complexity
Experience with both Kotlin and Java
Experience working in JIRA
EDUCATION AND EXPERIENCE PREFERRED:
Experience working in an Agile environment and awareness of both Scrum and Kanban principles.
Experience with Healthcare Business Operation
Experience with HockeyApp
Experience having code reviewed and reviewing other developers’ code
Experience using RxKotlin/RxJava, Protocol-oriented Programming, MVVM, Coordinator, Repository
Experience and comfortability with code-linting and styling
Experience working in heavily multithreaded applications, Async/Await
Under minimal levels of supervision, the Android Developer (Mobile) applies practical knowledge of development to create and enhance mobile applications of moderate complexity for Android. Actively participates in outstanding customer service and accepts responsibility in maintaining relationships that are equally respectful to all.
At AdventHealth, Extending the Healing Ministry of Christ is our mission. It calls us to be His hands and feet in helping people feel whole. Our story is one of hope — one that strives to heal and restore the body, mind and spirit. Our more than 80,000 skilled and compassionate caregivers in hospitals, physician practices, outpatient clinics, urgent care centers, skilled nursing facilities, home health agencies and hospice centers are committed to providing individualized, wholistic care.