
Senior Software Architect
Posted 2 days ago

Posted 2 days ago
This is a fully remote position, open to applicants in Brazil.
• Choose suitable architectural patterns, including microservices and message queues.
• Provide justification for architectural choices based on requirements.
• Evaluate trade-offs between simplicity and flexibility.
• Establish strategies for scalability and resilience.
• Guarantee the availability of the release control service in the event of a failure during the daily consolidation process.
• Define the communication protocols and message formats between components.
• Select integration tools and outline their respective responsibilities.
• Implement mechanisms for authentication, authorization, encryption, and protection against attacks, such as a WAF.
• Analyze how to segment the system into manageable components while separating responsibilities across various layers.
• Write clean, organized, and maintainable C# code.
• Create tests with high coverage, quality, and relevance.
• Fulfill both technical and business requirements.
• Document the architecture, produce diagrams, and outline data flows.
• Provide detailed instructions for local operation and execution (README).
• Centralize documentation and identify potential improvements or expansions.
• Exhibit a long-term vision and planning capability.
• Discuss development trade-offs and challenges effectively.
• Ensure flawless local execution of the system.
• Utilize Docker, Docker Compose, CI/CD, and Infrastructure as Code (IaC).
• Prepare cost estimates.
• Demonstrated experience in designing and implementing scalable, resilient, and secure software architectures.
• Practical experience in software development using C#.
• Familiarity with software design principles such as SOLID and Clean Code.
• Experience with automated testing, including unit, integration, and other forms.
• Knowledge of architectural patterns, including microservices and message queues.
• Extensive understanding of C# and the .NET ecosystem.
• Strong grasp of Design Patterns.
• Awareness of software architecture principles.
• Understanding of agile development methodologies (Scrum, Kanban).
• Knowledge of information security principles (authentication, authorization, encryption).
• Proficiency in Git.
• Familiarity with Test-Driven Development (TDD) and Behavior-Driven Development (BDD).
• Experience with Docker and Docker Compose.
• Understanding of Continuous Integration/Continuous Deployment (CI/CD).
• Knowledge of Infrastructure as Code (IaC).
• Ability to translate business requirements into technical specifications.
• Capability to make data-driven technical decisions considering trade-offs.
• Skill in clearly documenting solutions.
• Willingness to learn and adapt to new technologies and tools.
• Opportunities for development initiatives and programs, including the Orange Juice tech community, the Training Program, the Leadership School, and partnerships with NGOs and EdTech organizations.
• Flexibility to work remotely.
• Position is also open to candidates with disabilities.
Shield AI
Netflix
Travoom
HeroSoftware GmbH - Shopify Apps
Get handpicked remote jobs straight to your inbox weekly.