Responsibilities
- As a software architect, your primary goal will be to focus on optimizing, stabilizing and scaling our backend platform. This will involve designing and implementing solutions to address a variety of technical issues, including security, scalability, code maintainability and documentation. You will be responsible for designing and implementing new features and functionality as needed.
- You will be responsible for effective communication between the product and technical implementations. Your primary goal will be to ensure that you are effectively communicating your technical vision and plans to the rest of the team to enable better flow within development and quality assurance. This will involve using a variety of communication channels, including written documents, verbal presentations, and visual aids, to clearly and effectively convey your ideas and plans.
- To achieve these goals, you will need to have strong technical skills and experience in a variety of technologies and programming languages. You should have a strong understanding of software architecture and design patterns, and be able to create scalable, maintainable, and reliable systems.
Requirements
- Strong technical skills and experience in a variety of technologies and programming languages.
- Strong understanding of software architecture and design patterns.
- Track of being able to design and create scalable, maintainable, and reliable systems.
- Experience in documenting and designing using visual collaboration tools such as UML diagrams, Wireframes, User flow diagrams, System architecture diagrams, Workflow diagrams.
- Leadership and communication skills.
- Problem-solving ability. You should be able to think critically and creatively, and be able to come up with innovative solutions to complex problems.
- Attention to detail. Should have a strong attention to detail, as you will be responsible for designing systems that need to be scalable, maintainable, and reliable.
- Project management skills. You should have experience managing software development projects, Software-Development-Life-Cycle and Agile methodologies, and be able to juggle multiple tasks and priorities.
Tech Stack
- Collaborative technical design tools. C4, FigJam, Notion, Mermaid, JIRA
- Domain Driven Design, Microservices, Bounded Context
- REST API, JSON-Schema, Kafka Event-Bus, GRPC, Proto-Buff
- MysSQL, MongoDB, ElasticSearch, GraphDatabase, S3
- NodeJS, Typescript, Python
- AWS, Docker, Kubernetes
- OpenTelemetry, DataDog