Software Engineer (Java/Kotlin on Android)
CACI International
- Ashburn, VA
- Permanent
- Full-time
- * *
- 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
- Must be a U.S. Citizen with the ability to pass CBP background investigation, criteria include but are not limited to:
- 3 year check for felony convictions
- 1 year check for illegal drug use
- 1 year check for misconduct such as theft or fraud
- College degree (B.S.) in Computer Science, Software Engineering, Information Management Systems or a related discipline. Equivalent professional experience will be considered in lieu of degree
- Professional Experience: at least seven (7) years related technical 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.
- Technical Certifications, such as AWS Certified Developer, AWS Certified Solutions Architect, OCP Java, etc.
- Understanding of system architecture concepts and experience with system design (defining service building blocks, data flow, building systems with scalability, reliability, and maintainability in mind).
- Additionally, familiarity with any of the following highly desirable: ETL tools, messaging tech such as Kafka, application security, automated testing, UML, state-management angular libraries such as NGRX or NGXS
- DevOps experience/CI/CD pipeline.