Job Openings Software Architect

About the job Software Architect

Role Overview

The Software Architect plays a highly critical individual contributor role in defining the architectural vision and guiding the long-term technical direction of our products. This position requires a blend of strategic thinking and hands-on technical expertise to drive innovation and excellence in our software architecture.

As a Software Architect, you will lead a culture of technical excellence, collaboration, and continuous improvement, ensuring that our systems are scalable, secure, reliable, and aligned with business objectives.

You will decompose complex problems into simple, straightforward solutions that can be used across Spursols business units and products. By working on the hardest problems and leading the architectural direction of our most ambitious ideas, your decisions will have a significant impact on business results. You will be responsible for architecting and designing complex systems, leveraging your deep understanding of software architecture patterns and design principles. While this role may not have direct formal reports, mentorship is a key aspect in this capacity, as you will guide engineering teams to achieve engineering excellence and influence a culture of adherence to high standards.

With accountability for multiple technical initiatives, you will drive technical innovation by promoting best practices, fostering a culture of experimentation, and staying abreast of technology trends and emerging technologies.

Ultimately, you will own the architectural roadmap and serve as the subject matter expert for software architecture, system design best practices, and emerging technologies. You will communicate technical concepts and solutions effectively to diverse audiences, ensuring alignment between technical decisions and product vision.

Essential Role Requirements

10+ years of hands-on experience in software engineering, with a proven track record of designing and building scalable, reliable, and high-performance systems.

Bachelor's degree in computer science, engineering, or related field; advanced degree preferred.

Expertise in a range of programming languages, frameworks, and technologies, with a deep understanding of software architecture patterns and design principles.

Lead the design and development of scalable, high-performance, and fault-tolerant software systems.

Evaluate and recommend emerging technologies, frameworks, and tools that can enhance the efficiency and performance of our systems.

Identify opportunities to create the right balance between system performance, scalability, and cost effectiveness with clarity & articulation around trade-offs.

Create and maintain architectural documentation, including design diagrams, system specifications, and best practice guidelines.

Strong leadership and collaboration skills, with the ability to influence and inspire engineering teams to deliver exceptional results.

Passion for technology and innovation, with a customer-centric mindset and a commitment to delivering outstanding technical solutions.

Extensive experience communicating technical concepts and solutions to diverse audiences, including executive leadership, engineering teams, and external stakeholders.

Execution-focused mindset with a strategic outlook, capable of balancing short-term goals with long term vision and objectives.

Core Differentiators from junior engineering roles:

Architectural design and technical leadership.

Document architectural decisions, design patterns, and best practices.

Review code and ensure it adheres to coding standards and best practices.

Assist in project planning, estimating, and resource allocation.

Evaluate technical feasibility and potential risks of proposed projects.

Recommend tech upgrades to company leaders.

Communication and collaboration skills.

Problem-solving mindset.