reflexiveconcepts.catsone.com
Software Engineer III
Senior software engineer building and leading development of complex, performance-critical software systems (analytics, large datasets, real-time systems) on government contracts, including team-lead duties. Stack focuses on Spring Boot backends with REST APIs and modern JavaScript frontends, ReactJS preferred, with state management via Redux/Jotai/NgRx.
- Compensation
- Not disclosed
- Location
- Columbia, MD
- Work setup
- Not specified
- Seniority
- Lead
- Employment
- Not specified
- Experience
- Not specified
- Category
- Software engineering
- Posted
Skills
Must have
- 20 years' SWE experience in programs/contracts of similar scope, type, and complexity
- Bachelor's degree in Computer Science or related discipline (4 additional years of SWE experience may substitute)
- Develop, maintain, and enhance complex and diverse software systems based on documented requirements
- Works individually or as part of a team
- Reviews and tests software components for adherence to design requirements and documents test results
- Resolves software problem reports
- Utilizes software development and design methodologies appropriate to the development environment
- Provides input on hardware/software trade-offs, software reuse, and COTS/GOTS use in place of new development
Nice to have
- Backend application development using Spring Boot
- Frontend development with a modern JavaScript framework (ReactJS preferred; Angular or Vue.js also mentioned)
- UI state management using Redux, Jotai, NgRx, or equivalent libraries/patterns
- Design, develop, and maintain backend services and RESTful APIs using Spring Boot
- Integrate frontend components with Spring Boot REST APIs, managing loading, error, and data update states
Full description
Reflexive Concepts is seeking a skilled Software Engineer III to join our team!Responsibilities:
- Analyze user requirements to derive software design and performance requirements
- Debug existing software and correct defects
- Provide recommendations for improving documentation and software development process standards
- Design and code new software or modify existing software to add new features
- Integrate existing software into new or modified system or operating environment
- Develop simple data queries for existing or proposed databases or data repositories
- Write or review software and system documentation
- Serve as team lead at the level appropriate to the software development process being used on any particular project
- Design or implement complex database or data repository interfaces/queries
- Develop or implement algorithms to meet or exceed system performance and functional standards
- Assist with developing and executing test procedures for software components
- Develop software solutions by analyzing system performance standards, confer with users or system engineers; analyze systems flow, data usage and work processes; and investigate problem areas
- Modify existing software to correct errors, to adapt to new hardware, or to improve its performance
- Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design
- Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints; perform quality control on team products
- Implement recommendations for improving documentation and software development process standards
- Oversee one or more software development teams and ensure the work is completed in accordance with the constraints of the software development process being used on any particular project
- Confer with system engineers and hardware engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements and interfaces
- Coordinate software system installation and monitor equipment functioning to ensure operational specifications are met
- Recommend new technologies and processes for complex software projects
- Serve as the technical lead of multiple software development teams
- Select the software development process in coordination with the customer and system engineering