We are seeking an experienced Software Architect to provide technical leadership and drive architectural decisions across our organization. The ideal candidate will have a strong background in distributed systems, cloud architecture, and modern development practices, with the ability to bridge technical implementation and business strategy while mentoring development teams.
Responsibilities
• Design and establish architectural standards, patterns, and practices for software development across the organization.
• Lead the technical vision for our software platforms, ensuring alignment with business objectives and industry best practices.
• Design scalable, secure, and maintainable distributed systems leveraging microservices architecture and cloud-native solutions.
• Provide architectural oversight for front-end development using ReactJS, TypeScript, and Material-UI.
• Guide back-end architecture decisions utilizing C# .NET 6+, Python and PostgreSQL.
• Establish best practices for API design, implementation, and versioning.
• Define and implement data architecture strategies, including data modeling, storage solutions, and integration patterns.
• Create and maintain architectural documentation, including system diagrams, design patterns, and technical specifications.
• Evaluate and recommend new technologies, frameworks, and tools to improve development efficiency and system performance.
• Collaborate with Cloud Architects and Data Engineers to ensure cohesive integration between different system components.
• Lead architecture review sessions and provide technical guidance to development teams.
• Mentor senior developers and technical leads in architectural principles and best practices.
• Ensure implementation of security best practices and compliance requirements across all architectural layers.
• Drive initiatives for technical debt reduction and system modernization.
• Participate in high-level sprint planning and backlog grooming sessions to provide architectural insight.
• Collaborate with DevOps teams to establish CI/CD best practices and deployment strategies.
Qualifications
• Bachelor's degree in Computer Science, Engineering, or related field; Master's degree a plus.
• Minimum 5 years of software development experience, with at least 2 years in architectural roles.
• Strong expertise in distributed systems design and microservices architecture.
• Extensive experience with cloud platforms, particularly AWS services.
• Deep understanding of front-end architecture using ReactJS, TypeScript, and component libraries like Material-UI.
• Professional working experience of the .NET ecosystem (version 6 and above) as well as C#, and Python.
• Strong background in database design and optimization, particularly with PostgreSQL.
• Experience with event-driven architecture and message queuing systems (SNS, SQS).
• Expertise in API design and RESTful services.
• Strong understanding of security principles and best practices.
• Experience with infrastructure as code using AWS CDK and CloudFormation.
• Knowledge of containerization technologies (Docker) and orchestration platforms (Kubernetes).
• Understanding of DevOps practices and CI/CD pipelines.
• Experience with agile methodologies and their practical application.
• Strong analytical and problem-solving skills.
• Excellent communication skills with ability to explain complex technical concepts to various audiences.
• Experience leading and mentoring technical teams.
Tech Stack
• Cloud Platform: AWS.
• Front-end: ReactJS, TypeScript, Material-UI (MUI).
• Back-end: .NET 6 and above, C# and Python.
• Databases: Amazon RDS (PostgreSQL), Amazon Redshift.
• Data Processing: AWS Glue, AWS EMR.
• Storage: Amazon S3.
• Messaging and Queuing: Amazon SNS, Amazon SQS.
• Infrastructure as Code: AWS CDK, CloudFormation.
• CI/CD: GitHub Actions.
• Containerization: Docker, Amazon ECS/EKS.
• Monitoring and Logging: Amazon CloudWatch, AWS X-Ray.
• Version Control: GitHub, GitHub Actions.
If you are passionate about Scrum and Agile software development, have a track record of successfully leading agile teams, excel at integrating quality assurance into the development process, and are ready to drive continuous improvement in a dynamic environment, we would like to have you on our team!