Senior Software Engineer
Role details
Job location
Tech stack
Job description
Software Development & Architecture
- Backend Engineering: Design, develop, and maintain robust applications and APIs using PHP and the Symfony framework.
- Database Management: Architect and optimize MySQL database schemas, queries, and performance.
- Code Quality: Write clean, maintainable code and enhance our application's architecture.
DevOps & Infrastructure (Foundational)
- Deployment Ownership: Manage and maintain the Docker deployment model for our applications, ensuring containers are secure and optimized.
- Pipeline Management: Maintain and update GitLab CI/CD pipelines to ensure smooth, automated testing and deployment workflows.
- Observability Ownership: Implement and own application observability
- Dependency Management and Upgrading: Ensure that application dependencies are up-to-date and smoothly integrated
Quality Assurance & Documentation
- Test Automation: Write and maintain Acceptance and Unit Tests using Codeception to ensure feature reliability before production deployments.
- Documentation: Create and maintain developer guides, API documentation, and deployment playbooks for the team.
Requirements
We are seeking a proactive, innovative, and technically versatile Senior Software Engineer with a focus in DevOps who is passionate about writing clean, scalable code and equally comfortable navigating the infrastructure it runs on. In this role, you will be designing and building robust applications using PHP and Symfony. You will also take ownership over how your code is tested, deployed, and hosted.
You will leverage your foundational DevOps skills to manage our Docker deployment model, maintain GitLab CI/CD pipelines, and ensure our applications run smoothly on our Ubuntu infrastructure., * PHP Development: Minimum 8 years of experience, but ideally 10 or more years of experience in PHP full-stack development using the Symfony framework
- Linux Administration: Proficient-level knowledge of Ubuntu systems (CLI, package management, permissions, networking).
- Containerization: Advanced proficiency in Docker containerization and orchestration with Kubernetes.
- CI/CD: Strong expertise in GitLab CI/CD pipeline configuration and management.
- Test Automation Tools: Familiarity with test automation tools such as Codeception, Selenium, and PHPUnit
- Application Configuration Management: Proficient familiarity with the configuration of PHP, Apache, and Nginx applications
- Database Management: Solid understanding of MySQL database administration.
Nice-to-Have Skills
- Cloud Platforms: Familiarity and experience leveraging popular cloud deployment platforms such as AWS.
- Monitoring & Messaging: Experience setting up and administering Centreon servers and RabbitMQ.