
Software Architect
Job Description
Job Description
Our group is seeking highly motivated individuals to support software design, implementation, test, and deployment activities within a rapid prototyping environment. The candidate will work across different technical areas in a dynamic team-oriented development environment and will likely support multiple projects at one time. The position requires the ability to lead a team of software developers to design, implement, and test prototype software systems. The position requires the development and integration of sensor data and algorithms based on statistical modelling and machine learning techniques. The candidate should be well-organized, self-driven, creative, detail-oriented, and have strong verbal and written communication and teaming skills. Mentoring more junior staff members is expected. Documentation and presentation of work is required throughout the life-cycle of development efforts and may include the generation of flowcharts, diagrams, slides, and code documentation.
Candidates are expected to work onsite in Lexington, MA for at least 60% of their working time.
Requirements
PhD or M.S. with 3 years of experience in computer science, computer engineering, or a related technical discipline
- Experience in software architecture development
- Experience in full-stack software development
- Experience designing modular, extensible, and scalable microservice based architectures
- Experience with data pipelines, and APIs
- Experience in evaluating and selecting appropriate technologies and frameworks
- Proficiency in Python and Java
- Experience developing and deploying cloud-based software (AWS, Azure, etc.)
- Development and utilization of continuous integration and deployment (CI/CD) architectures and DevSecOps best practices
- Experience leading and participating in Agile development methodologies (Scrum, Kanban)
- Experience creating, querying, and optimizing databases
- Basic knowledge of the Windows and Linux operating systems
- Excellent written and oral communications skills in technical and non-technical environments
Desired Skills:
- Working knowledge of Go, C#, JavaScript, C/C++, or Rust
- Working knowledge of basic scripting languages (PowerShell, Bash, Perl, etc.)
- Experience using generative AI to accelerate software development
- Requirements development and user requirements elicitation experience
- Program management experience
- Experience with cloud-native services
- Familiarity with basic machine learning processing and optimization techniques