Prosumely Logo

IT and Development

Software Architect job description

A Software Architect designs high-level system structures, selects technology stacks, and ensures software scalability, security, and long-term maintainability.

Published July 23, 2024Updated May 16, 20264026 likes

Job brief

We are seeking a visionary Software Architect to lead our platform’s technical evolution and drive our transition to a robust, event-driven architecture. In this role, you will define the standards for how our services communicate, choose the right tools for our multi-cloud environment, and mentor our talented team of senior engineers. You will have the unique opportunity to shape the foundational design of our next-generation software suite, directly influencing our ability to scale and innovate. If you are passionate about complex system design and thrive on solving large-scale engineering challenges, we want you on our team.

Key highlights

  • Design and document high-level software architecture, choosing appropriate patterns like microservices, event-driven, or serverless models to meet business requirements.
  • Evaluate and select technology stacks, including programming languages, frameworks, and databases, ensuring they align with long-term security and performance goals.
  • Lead complex refactoring initiatives to decompose monolithic legacy systems into decoupled, scalable services without disrupting live production environments.
  • Create and maintain technical design documents and architectural decision records to ensure consistent development standards across multiple engineering squads.

What is a Software Architect?

A Software Architect is a senior-level technical leader responsible for defining the high-level structure, behavior, and interaction of complex software systems. By evaluating trade-offs between various frameworks, databases, and cloud services, the Software Architect ensures that the chosen technology stack supports current business goals while remaining adaptable for future scaling. This role bridge the gap between abstract business requirements and concrete engineering implementation, setting the technical vision for software development teams.

What does a Software Architect do?

A Software Architect typically spends their time creating system blueprints, authoring architectural decision records (ADRs), and conducting rigorous code reviews to enforce design standards. They provide technical guidance to engineering teams, troubleshoot performance bottlenecks in distributed systems, and lead initiatives to refactor legacy codebases into modern microservices. Through deep collaboration with Product Managers and DevOps Engineers, they translate organizational objectives into secure, cost-effective, and highly available technical roadmaps.

Key responsibilities

  • Design and document high-level software architecture, choosing appropriate patterns like microservices, event-driven, or serverless models to meet business requirements.
  • Evaluate and select technology stacks, including programming languages, frameworks, and databases, ensuring they align with long-term security and performance goals.
  • Create and maintain technical design documents and architectural decision records to ensure consistent development standards across multiple engineering squads.
  • Lead complex refactoring initiatives to decompose monolithic legacy systems into decoupled, scalable services without disrupting live production environments.
  • Conduct thorough code reviews and architectural audits to identify risks, technical debt, and opportunities for performance optimization in critical services.
  • Collaborate with Security and DevOps teams to integrate zero-trust networking, encryption, and automated CI/CD security scanning into the development lifecycle.
  • Provide technical mentorship to senior and staff engineers, fostering a culture of excellence in system design, testing strategies, and clean code principles.
  • Lead incident post-mortems for major system failures, identifying root causes and designing long-term infrastructure improvements to prevent recurrence.

Requirements and skills

  • 10+ years of software engineering experience, with at least 3 years in a formal Software Architect or Lead Engineer capacity.
  • Expert-level knowledge of distributed systems, domain-driven design (DDD), and SOLID principles in large-scale enterprise environments.
  • Deep expertise in cloud architecture on AWS, GCP, or Azure, including proficiency with Kubernetes, managed databases, and caching strategies.
  • Proven experience building and maintaining high-throughput APIs (REST, GraphQL, gRPC) and asynchronous messaging systems like Kafka or RabbitMQ.
  • Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related technical discipline.
  • Relevant professional certifications such as AWS Certified Solutions Architect (Professional) or Google Cloud Professional Cloud Architect.
  • Strong ability to synthesize complex technical tradeoffs and communicate them clearly to non-technical stakeholders, including C-suite and Product owners.
  • Demonstrated experience selecting and integrating NoSQL and relational databases, such as PostgreSQL, MongoDB, or Cassandra, for varied use cases.

FAQs

What does a Software Architect do on a daily basis?

A Software Architect focuses on high-level system design rather than feature implementation. Daily tasks involve creating system diagrams, defining API contracts, researching new technology, and solving complex performance issues that span multiple services. They act as the primary technical authority, ensuring that the software remains resilient, secure, and aligned with organizational objectives.

What are the most important Software Architect skills?

Key skills for a Software Architect include deep knowledge of distributed system design, experience with cloud infrastructure (AWS/Azure/GCP), and a strong command of various database technologies. Equally important are soft skills like strategic thinking, technical communication, and the ability to negotiate trade-offs between speed-to-market and long-term system maintainability.

Who does a Software Architect work with in an organization?

A Software Architect acts as a central point of contact between technical and business stakeholders. They work closely with CTOs and Product Managers to define technical roadmaps, collaborate with DevOps teams to design deployment pipelines, and guide Senior Software Engineers in executing architectural patterns. They also interact with Security Officers to ensure systems meet regulatory and compliance standards.

How is a Software Architect different from a Senior Developer?

While a Senior Developer focuses on writing high-quality code and delivering specific features, a Software Architect looks at the broader picture, including system-wide stability, cost, and future-proofing. The architect makes the decisions on 'how' we build the system—choosing the language, the database, and the integration patterns—that the developers then implement.