Position Description
Ata Glance
Legrand has an exciting opportunity for a Senior Software Engineer to join the Data Center Power & Control Division Team in Blumenau, Brazil. We are seeking a highly skilled Senior Software Engineer to join our dynamic team. The ideal candidate will have extensive experience in designing and developing microservices architecture using containerization technologies. You will play a key role in building scalable and secure applications while leveraging cloud platforms and a variety of databases.
What Will You Do?
- Design, develop, and maintain microservices architectures using Docker and Kubernetes.
- Implement and manage container orchestration to ensure efficient application deployment and scaling.
- Collaborate with cross-functional teams to define system architecture, design APIs, and integrate with various data stores such as PostgreSQL, Cassandra, and Redis.
- Develop and maintain messaging systems using RabbitMQ, NATS, and MQTT for asynchronous communication.
- Build and optimize RESTful APIs and gRPC services to ensure high performance and scalability.
- Develop microservices using Golang, focusing on clean code, maintainability, and performance.
- Work in a Linux OS environment, ensuring robust application performance and reliability.
- Utilize networking principles to design and implement communication protocols between services.
- Utilize cloud platforms (GCP and AWS) to deploy and manage applications in a secure and cost-effective manner.
- Implement security best practices throughout the Software Development Life Cycle (SDLC), including Static Application Security Testing (SAST) and Dynamic Application Security Testing (DAST).
- Conduct code reviews and mentor junior engineers to foster a culture of continuous improvement and knowledge sharing.
- Troubleshoot and debug complex issues using tools like GDB and PDB.
- Stay up-to-date with industry trends and emerging technologies to enhance our development practices and tooling.
Qualifications
Required Skills
- Bachelor's or Master’s degree in Computer Science, Engineering, or a related field.
- 5+ years of experience in software development, with a strong focus on microservices.
- Proficiency in Go (Golang) and experience with other programming languages (e.g., Python).
- Strong experience with containerization and orchestration tools (Docker, Kubernetes).
- Familiarity with databases such as PostgreSQL, Cassandra, and caching solutions like Redis.
- Experience with messaging systems, including RabbitMQ, NATS, and MQTT.
- Solid understanding of cloud services (AWS, GCP) and deployment strategies.
- Experience in developing microservices in a Linux OS environment.
- Strong networking experience to facilitate effective service communication.
- Knowledge of application security practices, including SAST and DAST.
- Strong understanding of software development methodologies and best practices.
- Excellent problem-solving skills and the ability to work collaboratively in a team environment.
- Strong communication skills, both verbal and written.
Preferred Qualifications:
- Experience with CI/CD pipelines and DevOps practices.
- Familiarity with distributed systems and microservices communication patterns.
- Previous experience in a senior or lead engineering role.