We are looking for a skilled and motivated Software Developer to join our team in building innovative solutions that support the automation of network application deployments. This role offers a dynamic and collaborative environment, providing the opportunity to work with cutting-edge technologies such as Kubernetes, Go, and CI/CD pipelines to deliver high-quality, scalable software solutions.
• BSc or MSc in engineering, telecommunications, computer science or an equivalent education with 3 - 5 years of experience in software development.
• Proficiency in one or more programming languages: Go, Python, or Java.
• Understanding of software design patterns and best coding practices.
• Ability to write unit and integration test, familiar with automated testing frameworks and methodologies.
• Strong understanding and hands-on experience with Docker and Kubernetes.
• Knowledge of data storage solutions and patterns - SQL/NoSQL databases.
• Experience with Agile methodologies, particularly Scrum or Kanban.
• Familiarity with version control systems, specifically Git.
• Experience with CI/CD tools such as Jenkins or GitLab CI for continuous integration and delivery.
• Strong knowledge of Linux environments and command-line interfaces.
• Familiarity with basic networking concepts, API design and RESTful services.
Preferred Qualifications:
• Experience with public cloud platforms (e.g., AWS, Google Cloud, Azure) for application deployment and management.
• Proficiency in using Helm and familiarity with Kubernetes best practices for scaling, networking, and resource management.
• Strong communication skills and the ability to work collaboratively in a team setting.
• A proactive attitude toward learning new technologies and methodologies.
What You Will Learn:
• Advanced software development practices and methodologies in a collaborative environment.
• In-depth experience with Kubernetes.
• Continuous professional development in programming languages and software engineering best practices.
• Write clean, maintainable, and efficient code in languages such as Go and Python.
• Participate in the full software development lifecycle, including design, implementation, testing, and deployment.
• Lead and perform development activities.
• Engage in code reviews and provide constructive feedback to improve code quality and team practices.
• Actively participate in a scrum team and contribute to agile processes. Present developed features and code changes during sprint reviews.
• Support your colleagues in completing their tasks.