The Senior Software Engineer will work individually and in a collaborative agile team-focused environment. Individual will prototype, design, develop and integrate unique solutions to hard problems. Individual will lead parts of software development efforts through all aspects of the software engineering life cycle including scope and work estimation, design, documentation, implementation, testing and integration. Senior Software Engineer will assist in determining and recommending the best designs based on customer business objectives, timelines and other resource constraints.
Must be dynamic, innovative, self-starting problem solver. Must have the aptitude and attitude to tackle unsolved technical challenges.
Senior Software Engineer will:
- Interact with software system engineers and technical team leads to rapidly learn a complex operational system, its subsystems, and components to positively contribute to development;
- Determine and communicate system requirements and capabilities in furtherance of the customer's mission;
- Design, develop and document modular, readable, and maintainable solutions to hard problems;
- Champion and implement advanced software development practices in an Agile environment;
- Recommend and lead changes to development and systems integration that will increase efficiency and development effectiveness.
Required Skills and Experience:
- Degree in Computer Science, Electrical Engineering, Computer Engineering, or related field and experience commensurate with the requested level in software engineering.
- 12+ years of verifiable experience independently designing and implementing medium to large-sized software systems and components;
- Five+ years of experience developing in Java;
- Five+ years verifiable experience creating software with two or more of the following technologies:
- Angular/Oracle PL/SQL or database design
- Five+ years of experience working with two or more of the following:
- CentOS or RedHat Server
- Oracle 11g/12c
- Windows 7/10,
- Ability to communicate effectively in both oral and written media to describe the strengths and weaknesses of software designs and the implementations of those designs;
- Knowledge of Linux operating system (centOS or RedHat desired) and at least two application, messaging, or web server systems.
- Proven experience in solving challenging technical problems.
- Senior to expert level knowledge in Oracle database development.
- Ability to demonstrate expert knowledge of networking technologies from the programmer's perspective.
- An active TS/SCI with Polygraph is required for this position
- Experience developing with GWT (Google Web Toolkit)
- Ability to create and read Bash scripts
- Experience with PKI and SSL from the programmer's perspective
- Experience with Agile development methodologies