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

    Default job background
    Technology / Internet
    Description
    REQUIRED SKILLS Active Secret Clearance OR Ability to obtain one


    • BS Degree or higher
    • 4 – 8 years' experience in programming and development with C++
    • 4+ years programming applications running on a Linux/Unix operating system (2+ years for Android operating systems – nice to have)
    • 1+ years experience using Qt
    • Proven experience in design and implementation of user interfaces for embedded applications / mobile devices with cross-platform development tools and modern UI design.
    The candidate will have experience developing software structured to separate areas of concern (presentation, business logic, persistence) ADDITIONAL SKILLS/QUALIFICATIONS Preferred (some subset of the following):


    • Experience in Scrum Methodology or other Agile practices.
    • Experience with Mobile Application Development.
    • Experience with Software CM (e.g., Subversion, Git, GitLab, GitHub).
    • Experience with UI / UX Development Frameworks (e.g., Qt, Android, AngularJS, Ionic, GWT, SmartGWT, Catch2, React, ).
    • 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 C, or Python is a plus
    • Experience with Java is a plus

    JOB DUTIES

    • Cryptographic and Space-Based development initiatives performing development 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 Leidos, subcontractors, and customer representatives) what is required to achieve this effectively on diverse tasks.