Tech Stack
AndroidAngularAWSETLGraphQLJavaKafkaKotlinMySQLOraclePostgresRDBMSSDLCSQL
About the role
- Designing, developing, and implementing custom software and database application capabilities for a variety of legacy and modernized systems with limited oversight
- Acting as a member of a product team supporting teammates and collaborating with a do what it takes attitude to ensure product and team success
- Providing improvements to the product(s) being supported
- Actively participate in release and sprint planning, artifact creation, sprint testing, regression testing, demonstrations and retrospectives and solution releases
- Supporting release planning with conceptual design and development / refinement of software engineering guidelines
- Analyzing complex project-related problems and creating innovative solutions involving, scheduling, technology, methodology, tools and solution components
- Ensuring product quality and timeliness of work, providing advice and guidance, resolving problems to meet objectives, and providing periodic performance reports
- Providing mentoring to junior members of the team
Requirements
- A least seven (7) years related technical professional experience, with software design, development and implementation in a Windows Environment
- Experience using Kotlin or Java to develop applications for Android devices
- Experience designing, building, and maintaining high quality, reusable, and reliable Java and Kotlin code
- Experience integrating Android applications with back-end services using various protocols and technologies such as REST, GraphQL, and websockets.
- Experience creating plugins within a framework of existing Android applications
- Experience with source code control systems and concurrent development workflows (Git preferred)
- Experience with SQL and RDBMS such as Oracle, MySQL, or PostgreSQL
- Ability to diagnose performance bottlenecks and implement optimizations
- Experience implementing and maintaining unit tests to ensure robustness, usability, and reliability
- Bridge the gap between user interface design and technical implementation
- Passion for user experience and user-centric development
- Continuously research new and best coding practices
- Optimize application for maximum speed and scalability
- Strong communication skills that include leading design-related conversations, ability to build and nurture good relationships and foster an environment for collaboration
- Object oriented design and development (OODD) expertise, Service Oriented Architecture (SOA).
- Understanding of all elements of the software development life cycle, including planning, development, requirements management, CM, quality assurance, and release management.