Software Engineer - San Diego, CA, United States - TEKsystems c/o Allegis Group

    Default job background
    Technology / Internet
    Description
    :
    C++ Developer (mid and senior) Secret Clearance required Hybrid – will work 1 day at the office Hull Street, San Diego, CA) Temp to hire (after 6 months)

    • Sr
    position

    • Mid position 30 min technical phone interview, then 1 hour in-person interview at the job site OVERVIEW
    • NGLD is a system being developed that will replace an existing system called Secure Key Loader (SKL)
    This is the software that runs on the encryption device and loads the encryption keys onto the communication systems in the field (think of a hard end laptop or mobile type device with client server software running on the hardware)


    • The government client is already two years into development
    They will finish development over next 6 months and then move into testing, and then production / maintenance


    • The funding for this position is good through 9/30/24, but this work will continue for years to come and highly likely to be extended
    Navy/NIWC has had this important work for 35 years (and their primary partner for 10+ years)
    This is a critical system for the DoD and this work will be on-going


    • The team is developing the software that will go on that hardware and building the UI software for those devices
    • The ideal candidate would have C++, Qt, Python, as well as demand experience with DoD communications systems or Signals Intell (or even better would be EKMS type work)
    • This is not web software, therefore a person to ramp up quickly would need to come from a client-server or embedded / hardware type environment JOB DUTIES
    • Cryptographic and Space-Based development initiatives performing programming in C++
    • Contributions include researching, designing, prototyping and developing solutions for cryptographic devices
    • These security-focused solutions enable the warfighters mission and safety

    Activities include:
    o Develop performant software in resource-constrained environments o Perform full software development lifecycle, including design, development, testing / automation, and integration o Develop interfaces to high assurance crypto modules

    • This team operates in an Agile Scrum development environment
    • Software engineering, object oriented, and functional programming principles to ensure that developed code has high quality, is maintainable, efficient, reliable, understandable, secure and fault tolerant
    • As a C++ Developer you will support the software configuration management process and understand software components and their interface requirements with other APIs and host systems (i.e., virtualized, containerized, or hardware)
    • This position requires someone who is proactive and passionate about ensuring the quality of software deliverables and can communicate with the development teams (including the government client, subcontractors, and customer representatives) what is required to achieve this effectively on diverse tasks

    Skills:
    C++, client server, development, embedded software, secret clearance, agile, python Top Skills Details:
    C++,client server,development,embedded software,secret clearance Additional Skills & Qualifications:

    NICE TO HAVE

    • Experience in design and implementation of user interfaces for embedded applications / mobile devices with cross-platform development tools and modern UI design (they use Qt for the UI development)
    • Qt
    • Python
    • Experience developing software that runs on a mobile device (this will enable candidate to quickly pick up the type of development work they are doing on this program)
    • Experience with UI / UX Development Frameworks (e.g., Qt, Android, AngularJS, Ionic, GWT, SmartGWT, Catch2, React, )
    • Experience with various Software configuration management tools (e.g., Subversion, Git, GitLab, GitHub)
    • Experience with Agile Management Tools and Concepts (e.g., VersionOne, JIRA, Rally, etc.)
    • Experience with Automated Testing Tools/Technologies/Concepts (Squish for Qt, TDD, Selenium, Cucumber, Gherkin, BDD)
    • Experience with CMake and Bash scripting
    • Experience with formalized API development methodologies (e.g., OpenAPI 3.0)
    • Experience with Java is a plus

    Experience Level:
    Intermediate Level