Join our internal Platform Team, a collaborative group of multi-disciplinary experts dedicated to revolutionizing our tech stack and infrastructure. As an internal-facing delivery team, our mission is clear: accelerate application development, reduce operational complexity, and enhance time-to-market for our growing engineering department.
As a Software Engineer on the Platform Team, you'll thrive in a diverse and dynamic environment working alongside seasoned professionals, including senior developers, tech leads, and architects.
Your primary responsibilities include hands-on development, rigorous testing, and continuous improvement of our platform infrastructure.
Key Responsibilities
- Develop robust, high quality software meeting the requirements of the agreed specifications and complying with Karbon formal and informal development team standards and procedures.
- Maintaining and championing a high standard of quality, consistency and scalability in our code base
- Work closely with quality assurance team members to resolve issues raised by testing throughout the development cycle.
- Streamlining and automating processes, proactively identifying and eliminating technical debt
- Maintaining a current knowledge of development technologies used in the development of Karbon software applications.
- Implement improvements across the platform to enhance developer experience.
- Collaborating effectively with product, support and other software engineering teams.
- Establish and maintain good working relationships within the development team.
- Owning and taking your code from local to production, provisioning CI/CD pipelines and cloud infrastructure.
- Delivering operational support for the platform as part of a team on-call roster rotation.
Qualifications
Candidates with the following characteristics and experience are encouraged to apply:
Essential
- Proficiency with C#, SQL Server, and .Net (MVC, Web API, .Net core). That said, we are looking for candidates fluent in a variety of programming languages, with demonstrated ability to bring in and use these when and where appropriate.
- Knowledge of software engineering best practices, including SSDLC, SOLID principles, testing, clean code architecture, and various architectural designs.
- Experience with cloud services and build/deployment tools (e.g., AWS, Azure, GitHub Actions).
- Desire to identify and improve system performance. This includes local developer experience, performance, observability and maintainability.
- Proven experience in making application-wide changes across engineering departments.
- Experience with various storage engines (SQL, Elasticsearch, NoSQL) and knowing when to use each.
- Eagerness to learn and adapt to a diverse set of technologies.
- Understanding of scalable systems, software architecture, data structures, and algorithms.
- A problem solver with a self-starter mindset that can adapt well to changing priorities
- Excellent communication skills to work in an international, multi-location team.
- Has initiative and a passion for all things web and a willingness to go the extra mile.
- Initiative, passion for technology, and a commitment to teamwork and ownership.
- Bachelor's degree in computer science or relevant industry experience.
Desirable
- Your entire infrastructure is defined as code, and you have expertise in provisioning cloud environments with Terraform.
- Knowledge and experience containerising applications using Docker and deploying to Azure ACA or AKS.
- Knowledge of distributed systems architecture and best practices in distributed system design.
- Experience in event-driven architecture and stream processing
- Experience with Azure services.