Software Architect
We are seeking a highly skilled and experienced Software Architect to design, develop, and oversee the implementation of complex, high-performance software systems. The ideal candidate will have a deep understanding of software architecture patterns, hands-on coding experience, and the ability to guide development teams in various departments in building scalable, maintainable, and secure applications.
Key Responsibilities
Architecture & Design
- Design the software architecture for new systems and legacy systems.
- Plan and manage architectural adoption for existing and legacy systems.
- Define architectural patterns (e.g., modular, microservices, event-driven, layered, DDD) and technology stacks selection.
- Set standards for clean code, component modularity, naming conventions, and reusability.
- Break down systems into services, modules, and libraries.
- Conduct PoCs for technologies and design patterns.
- Create technical specifications, sequence diagrams, and architecture blueprints.
- Design with DR strategies and HA in mind.
Technical Leadership
- Conduct design reviews, architecture discussions, and code reviews.
- Provide hands-on support in writing prototypes, POCs, and core framework components.
- Lead the technical evaluation of tools, frameworks, and third-party systems.
- Define integration patterns across on-premises and cloud systems.
- Mentor and coach software engineers on best practices, coding standards, and architectural guidelines.
Development Strategy
- Define software development processes, including CI/CD pipelines, branching strategies, and testing automation.
- Identify and address technical debt and bottlenecks.
- Collaborate with DevOps on containerization (e.g., Docker, Kubernetes) and deployment strategies.
Performance, Security, & Quality
- Ensure systems are designed for performance, scalability, reliability, and security.
- Integrate logging, monitoring, and observability into architecture.
- Apply security-by-design principles and ensure compliance with secure coding standards.
Stakeholder Collaboration
- Work closely with product managers, business analysts, and QA teams to ensure technical solutions align with business needs.
- Translate business requirements into high-level and low-level design documentation.
Education & Experience
- Bachelor’s or master’s degree in computer science, Software Engineering, or related field.
- 10+ years of software development experience, with at least 3+ years of architectural experience across complex systems.
Technical Skills
- Proficiency in modern programming languages (Java, JavaScript/TypeScript).
- Strong understanding and hands-on experience of RESTful APIs, gRPC, GraphQL, and messaging systems (e.g., Kafka, RabbitMQ).
- Experience with cloud platforms (OCI).
- Expertise in containerization, orchestration (e.g., Docker, Kubernetes, OKE), and CI/CD pipelines.
- Solid knowledge and experience of RDBMS (Oracle DB, PostgreSQL) and NoSQL (e.g., MongoDB, Redis) databases.
- Familiarity with architectural frameworks such as TOGAF, C4 model, or Zachman.
- Experience with DevSecOps
Soft Skills
- Excellent problem-solving and analytical skills.
- Strong communication and interpersonal skills.
- Ability to explain complex technical concepts to non-technical stakeholders.