Be Challenged and Make a Difference
In a world of technology, people make the difference. We believe if we invest in great people, then great things will happen. At AnaVation, we provide unmatched value to our customers and employees through innovative solutions and an engaging culture.
Description of Task to be Performed:
Come join our growing team and make a difference every day! As part of a high-performing team, the selected candidate will be responsible for designing, developing, and maintaining high-quality software solutions. With extensive experience in Agile environments, the candidate will play a key role in leading development efforts, implementing best practices, and collaborating with cross-functional teams to deliver value-driven software increments. This senior role requires advanced technical expertise, leadership abilities, and a deep understanding of Agile principles to drive successful software development projects. The candidate will participate in Agile ceremonies such as sprint planning, daily stand-ups, and sprint reviews, collaborating with Agile teams to prioritize development tasks, estimate efforts, and provide regular updates on progress in addition to providing technical leadership and mentorship to junior developers, guiding them in software design principles, coding techniques, and best practices.
The candidate will design, develop, and maintain software applications, modules, and components using appropriate programming languages, frameworks, and technologies, ensuring adherence to coding standards and best practices. The candidate will perform code reviews to ensure code quality, maintainability, and adherence to architectural guidelines and implementing automated testing and continuous integration practices to ensure software reliability and stability. The candidate will also be expected to collaborate with product owners, business analysts, and stakeholders to understand project requirements, translate them into technical designs, and provide input on feasibility and implementation approaches. The candidate will be responsible for documenting software designs and architectures, conducting problems solving and troubleshooting, identifying opportunities for performance optimization and for staying abreast of the latest trends, tools and technologies in software development.
This position is currently hybrid with two days per week on-site with our customer in Lorton, VA. Remote status is subject to change at the customer’s direction but is expected to continue. There will also be several meetings/workshops throughout the year where engineers will collaborate on-site for one to two weeks.
This position requires an active Top-Secret clearance and the ability to obtain SCI access with a CI polygraph
Required Qualifications:
- Education: Bachelor’s Degree required, with a preference in the areas of Computer Science, Electrical Engineering, Computer Engineer, or related discipline.
- Minimum of eight (8) years of professional experience in software development roles, with significant experience in designing and building complex software solutions.
- Minimum of three (3) years of experience working in Agile environments, preferably in roles involving leadership and collaboration within Agile teams.
- Experience with development in one or more scripting languages (e.g., Python, Go, Bash, Java, C, C++, JavaScript), and other programming languages.
- Experience designing working environments and/or programs within Linux-based operating systems (Ubuntu, RedHat, Debian, etc.)
- Experience with User Interface / User Experience (UI/UX) development technologies, especially with JavaScript frameworks, such as React, Angular, or Vue Working knowledge of database query languages and mobile database design.
- Expertise in source control management with Git.
- Deep understanding of relational databases such as SQL Server, PostgreSQL, or SQLite.
- Mobile application decompiling.
- Mobile app development or systems experience.
- Experience leading code review Experience with iOS and Android mobile development languages, including Java, Objective-C, or Swift.
- Comfortable viewing, analyzing, and understanding raw binary data.
- Excellent skills with developer documentation.
- Excellent skills with collaborative coding and ability to adopt shared coding practices.
- Excellent skills developing quality code using best practices such as unit testing.
- Experience using industry standard RE tools (IDA Pro, Ghidra, JEB, Hopper) to determine the function of closed-source software.
- Experience with project leadership to include managing project tasks ensuring timelines are met.
- Excellent verbal and written communication skills.
Preferred Qualifications:
- Relevant certifications such as Certified Scrum Developer (CSD), Professional Scrum Developer (PSD), or similar certifications demonstrating proficiency in Agile software development practices are highly desirable.
- Rust programming language.
- Knowledge of common mobile architectures and their associated instructions, including x86 and ARM.
- OS Level expertise in Linux (or similar).
- Experience with GNU Debugger (GDB).
- Experience identifying and exploiting vulnerabilities, such as memory corruption through stack overflows, heap overflows, integer overflows, and logical flaws.
- Software release management experience. · Experience with Atlassian suite and software project management. · Computer Network Operations (CNO) experience.