Software Engineer, Entry-Level
Role details
Job location
Tech stack
Job description
The Software Engineer, Entry-Level role supports the development and maintenance of real-time lab control applications. This position assists with testing, analysis, and implementation efforts that support system design and evaluation, while collaborating with internal and external teams to ensure successful program execution.
Responsibilities
Assist in executing programming assignments using established programming procedures and data processing requirements.
Support efforts to maintain data integrity and improve code efficiency for distributive and/or parallel processing.
Contribute to the design, development, and implementation of software in C++, CUDA, and Python based on defined architectural guidance, ensuring code is efficient, scalable, and maintainable.
Provide documentation and modeling support using tools such as doxygen and UML.
Assist in implementing mathematical and analytical solutions for calculations, transformations, and processes as defined by specifications.
Apply foundational software engineering principles to support design, development, testing, and deployment activities, including exposure to CI/CD processes and tools.
Work under guidance to evaluate assignments, apply appropriate programming techniques, and develop effective solutions.
Support the preparation of technical documentation, reports, and briefings for internal teams.
Meet assigned deadlines, follow compliance standards, and deliver quality work products.
Perform other duties as assigned., Employees in these positions will function in a general office/cubicle setting environment, and laboratory/testing setting using standard office equipment and various electronic testing equipment, including a computer, telephone, printers, video equipment, computer software, and testing equipment. Will interact in a general office setting environment with various personnel; participate in meetings and contribute to team success; deliver timely results and produce reports; receive and communicate information; may include telework. May function in a specialized laboratory/testing environment using electronic testing equipment, computer software, and complex systems. May move and test equipment of various weights. Laboratory environment may require use of protective equipment (PPE) including but not limited to safety glasses and protective hearing and footwear. May be expected to work varying shifts and hours to ensure successful operation of activities in the organization due to business demands; travel occasionally for assigned work.
Requirements
Bachelor's or Master's degree in Engineering (Software, Electrical, Computer, Mechanical, or Aerospace), Physics, Mathematics, or Computer Science.
0-3 years of experience in software engineering, modeling & simulation, or application development (internships and academic projects may be considered).
Basic proficiency in C++ and/or Python, with willingness and ability to learn CUDA.
Familiarity with development in a Linux environment (RedHat and/or Debian preferred).
Exposure to mathematical or analytical problem-solving concepts.
Familiarity with software development lifecycle concepts (e.g., version control, testing, CI/CD) is a plus.
Strong communication skills and ability to work effectively in a team environment.
Ability to collaborate with cross-functional teams and support interactions with government and contractor stakeholders.
Work will be performed in a government-owned, contractor-operated lab environment.
U.S. Citizenship with Active Secret Security clearance and ability to maintain the designated security clearance level is required.
Benefits & conditions
SimTech offers a market leading compensation package with excellent benefits, work/life balance, outstanding retirement plan, career advancement and much more.