Job Description
Job Description
Overview
We are seeking a highly skilled and experienced DevOps Software Engineer to lead the creation, management, and operation of a diverse set of DevOps tools, processes, and technologies. This role is central to enabling the development and ongoing operation of a modern, microservices-based cloud infrastructure supporting an enterprise-scale IoT platform.
Key Responsibilities
- Design and implement horizontal tools, technologies, and best practices that support engineering teams in building, debugging, testing, releasing, managing, and securing cloud-native microservices.
- Collaborate on defining methodologies and workflows that empower fast-paced engineering teams to thrive in a dynamic development environment.
- Promote and implement best practices and supporting technologies for source control management, CI/CD architectures, performance SLAs, security, auditing, and monitoring.
- Develop and maintain common frameworks and software libraries in multiple programming languages to support scalable and highly available microservice architectures.
- Manage and troubleshoot the running system architecture of the IoT platform, with a focus on continuous improvement in quality, performance, and security.
- Work closely with architects, technical product managers, and cross-functional teams to translate system architecture and product requirements into well-designed, implemented, and tested software solutions.
- Deliver high-quality software incrementally in an Agile development environment.
- Advocate for and help adopt best-in-class software engineering practices, frameworks, and tools across the organization.
Qualifications
- Bachelor’s degree in Computer Science or related Engineering field; Master’s degree preferred.
- 8+ years of hands-on experience as a software engineer focused on cloud-based systems.
- Proficiency in multiple programming languages, including strong Java development skills (preferably Java 1.8), with additional experience in Python, Golang, or JavaScript/Node.js.
- Proven experience developing cloud-based services (SaaS) and platforms (PaaS).
- Deep hands-on experience with AWS, including both traditional services (EC2, S3, DynamoDB, RDS) and modern paradigms (Lambda, API Gateway, Fargate).
- Strong background in developing microservices and complex microservice-based platform architectures.
- Excellent understanding of distributed systems and designing for scalability, performance, and availability.
- Experience establishing non-functional best practices and deploying technologies to enhance platform security, auditability, reliability, latency, and scalability.
- Solid knowledge of distributed network architectures and network security.
- Familiarity with data persistence technologies, including relational databases and NoSQL solutions.
- Strong interpersonal and technical communication skills, with a collaborative and proactive mindset.
- Minimum of 3 years working in teams applying modern Agile software development practices.