Arquiteto de Software
Job Description
As a Software Architect, your responsibilities include: 1. Selecting appropriate architectural patterns such as microservices and message queues. 2. Justifying pattern choices based on requirements. 3. Balancing simplicity and flexibility in design. 4. Defining clear strategies for handling increased load and ensuring scalability. 5. Implementing fault recovery mechanisms to ensure resilience. 6. Ensuring the continuous availability of the launch control service, even in case of daily consolidation failures. 7. Defining component communication protocols and message formats. 8. Selecting suitable integration tools and defining their responsibilities. 9. Implementing authentication, authorization, and encryption for robust security. 10. Implementing protection mechanisms against attacks, such as WAF. 11. Analyzing the quality of system division into smaller, manageable parts. 12. Abstracting and segregating responsibilities across layers. 13. Ensuring adherence to best development practices, including SOLID principles and Clean Code. 14. Writing readable, organized, and maintainable code. 15. Utilizing the C# language efficiently. 16. Implementing tests with good coverage, quality, and relevance. 17. Meeting mandatory technical requirements. 18. Fulfilling business requirements effectively.
Qualifications
To succeed as a Software Architect, you should have: 1. Proven experience in designing and implementing scalable, resilient, and secure software architectures. 2. Practical experience in software development using C#. 3. Experience applying software design principles (SOLID, Clean Code, etc.). 4. Experience implementing automated tests (unit, integration, etc.). 5. Experience with architectural patterns (microservices, message queues, etc.). 6. In-depth knowledge of C# and the .NET ecosystem. 7. Solid understanding of software design patterns. 8. Knowledge of software architecture principles (microservices, message queues, etc.). 9. Knowledge of Agile development practices (Scrum, Kanban). 10. Knowledge of information security (authentication, authorization, encryption). 11. Knowledge of code versioning tools (Git). 12. Familiarity with testing methodologies (TDD, BDD). 13. Familiarity with Docker and Docker Compose. 14. Knowledge of CI/CD (Continuous Integration / Continuous Delivery). 15. Knowledge of IaC (Infrastructure as Code).
Benefits
Keyrus is committed to: - Providing a discrimination-free environment. - Fostering a culture of equality and inclusion.
Apply Now
