Software Architect
Role details
Job location
Tech stack
Job description
This role includes developing software architecture models, creating system and software architecture diagrams, defining components, interfaces, APIs, data flows, deployment views, and operational workflows, and selecting appropriate design patterns and architectural styles. You will use digital modeling tools to capture system structure, component relationships, integration points, and security-relevant design decisions. You will also guide implementation approaches, review designs and code, provide hands-on technical direction to development teams, and contribute to technical documentation, proposals, and customer discussions.
Requirements
Do you have experience in Java?, Do you have a Bachelor of Science?, * Strong experience in software architecture and system design, including defining modular, scalable, maintainable, and secure software architectures.
- Applied knowledge of software design patterns, architectural patterns, and architectural styles, including when and how to use patterns such as layered architecture, service-oriented architecture, event-driven design, microservices, adapters, facades, factories, dependency injection, and domain-driven design concepts.
- Ability to decompose complex systems into well-defined components, services, interfaces, APIs, data flows, and deployment models.
- Experience developing architecture artifacts, including system context diagrams, component diagrams, sequence diagrams, interface definitions, deployment views, data flow diagrams, and operational workflow models.
- Experience using digital modeling, architecture, or systems engineering tools to document and communicate software architectures.
- Hands-on software development experience, with the ability to prototype solutions, review code, assess implementation tradeoffs, and guide development teams.
- Strong understanding of secure software engineering practices, including authentication, authorization, access control, logging, error handling, secure configuration, and protection of sensitive data.
- Ability to translate security, operational, performance, scalability, reliability, and maintainability requirements into practical software designs and technical roadmaps.
- Experience integrating software with cloud platforms, enterprise systems, embedded systems, networks, APIs, or mission/operational environments is highly beneficial.
Benefits & conditions
Pulled from the full job description
- 401(k)
- Health insurance
- Paid time off, * 401(k)
- Health insurance
- Paid time off