Sr Software Engineer
Role details
Job location
Tech stack
Job description
This position leads the design, development, and delivery of software solutions, with a focus on Java-based systems and integrated simulation environments. The role is responsible for analyzing requirements, designing system architectures, and implementing new features and enhancements across backend, data-driven, and distributed systems. The engineer manages projects through the full development lifecycle, from concept and design through testing and deployment, while contributing to technical direction and product strategy. This position also provides technical guidance and mentorship to less experienced team members and collaborates with teams to deliver scalable, high-quality solutions. Responsibilities Exercises independent judgment and discretion in overall project management, including prioritizing, planning, and tracking project progress.
- Designs, develops, and modifies software programs, including prototypes.
- Researches product development options and provides analysis to guide product direction.
- Collaborates with internal departments to identify customer needs and incorporate them into project objectives; provides ongoing product development support.
- Assists in leading and managing software development teams.
- Supports team leadership by evaluating employee performance, setting expectations and goals, and participating in recruiting, training, and disciplinary actions.
- Manages and contributes to the creation of software design documentation and related materials.
Reasonable accommodation may be made to enable individuals with disabilities to perform the essential functions.
Requirements
- Bachelor's degree in computer science or other relevant degree.
- Minimum 5-8 years of experience as software developer.
- Expert level proficiency in Java, including experience with web or server frameworks, such as React/Angular and Spring/MEAN/MERN.
- Exposure to networking, distributed systems, or server-side architectures preferred.
- Ability to design and deliver effective product demonstrations, clearly articulating value to customers and stakeholders.
- Strong technical aptitude and capacity to solve complex engineering problems.
- Demonstrated problem-solving and analytical skills.
- Ability to work independently with minimal oversight.
- Proven ability to develop innovative solutions for loosely defined or ambiguous problems.
- Experience leading or mentoring junior and mid-level engineers (team size of one or more).
- Excellent communication skills, with the ability to clearly convey complex technical concepts both verbally and in writing.
Preferred Experience/Qualifications
- Experience with C++ and/or JavaScript is desired, especially when integrating with simulators or sensors written in those languages.
- Experience with Machine Learning and/or Computer Vision, particularly using Python-based ecosystems.
- Familiarity with point cloud processing, simulation environments, or geospatial data (GIS).
- Experience with game engines (e.g., Unreal or similar) or building/modifying simulated environments.
- Experience with cloud and infrastructure tools (e.g., AWS, Docker, Jenkins).
- Familiarity with web technologies, including JavaScript, web servers, or UI development.
- Experience with version control systems and shared code repositories (e.g., SVN, Git).
- Exposure to Modeling & Simulation (M&S) frameworks or defense-related simulation tools.
- Experience working with data pipelines, visualization tools, or analytics workflows.