- Melbourne > Collingwood
- Job posted on: 28th Jan 2022
- Applications close:
Support the work of over 7,000 for-purpose organisations across Australia
Help us to change the world, one job at a time
(Potential for role to be combined with currently advertised Software Engineering Manager role)
EthicalJobs.com.au is working to change the world, one job at a time.
We bridge the gap between thousands of not-for-profit organisations that strive to make our world a better place, and millions of passionate, values-driven people who want to “work for a better world”.
As a for-profit social enterprise and one of Australia’s top job-search sites for the not-for-profit sector and beyond, our platform supports the work of more than 7,000 for-purpose organisations around the country, and has a passionate community of 320,000+ unique users using the site each month. And our team and our platform are both growing fast!
You’ll be joining a friendly, passionate and successful team of 33 people who share a vision of a more equitable, just and sustainable world.
When we’re not working from home (as we are for the moment) our spacious office is just off Smith St in Collingwood, including a large outdoor deck for lunch in the sun and drinks after work, and great food and coffee just around the corner.
This is a key technical role with the ability to have a huge impact on our platform and our community of ethical employers and jobseekers.
As our Tech Lead you’ll drive quality technical solutions based on industry best practice and principles. You’ll be ultimately accountable for code quality, solution output, software engineering output and the end to end delivery cycle of initiatives that ensure our delivery is of high quality and delivered on time.
We are still a small (but growing) software development team – currently 6 developers – so you will be able to influence our tech stack and architecture decisions in this role.
This is a hands-on technical role, and it may or may not have people management responsibilities depending on your preference, experience and career path.
You’ll be providing technical leadership for our 6 software engineers and up to 6 additional new team members planned for 2022, including leading on new ideas and challenging the status quo when necessary.
** While primarily a technical leadership role, we’re very open to exploring the addition of Software Engineering Manager responsibilities (including line management) for candidates with suitable experience. Please refer to our Software Engineering Manager role currently being advertised.
We currently operate a microservices architecture using Kubernetes, a container orchestrator, which manages and deploys our code.
Most backend code is written in PHP 7.4 up to PHP 8, running mostly in Laravel and API Platform, and exists solely to be delivered as a RESTful API. These APIs are served using a cloud-native edge router (Traefik), using the microservice pattern “API gateway”. CI + CD pipelines run through GitHub actions, allowing us to have automated staging & production deployments running on Google Cloud.
Each developer runs the EthicalJobs stack (API + frontends) locally for development which we’re currently streamlining, and there’s a staging environment for testing before production release.
We’re test focused: We like to test the code we build, and we have a continuous integration infrastructure in place that runs our tests on every push.
You have 7+ years experience in software development including 3+ years experience in leading teams. Ideally your tech lead experience will span a minimum of 2 previous roles. Your coding experience has been in a team setting (e.g. using a CI/CD pipeline, code reviews, using Git), with 3+ years spent consistently writing PHP.
You have a background in building medium-large web applications, ideally in SaaS environments.
You’re experienced with modern, cloud-based architectures and APIs, and have worked with event-driven or serverless architectures, containers, Kubernetes and automated CI/CD pipelines.
You have 2+ years experience with cloud platforms (ideally GCP but not essential) and have employed DevOps practices in your day to day work.
Excellent written and verbal communication skills, with the natural ability to articulate technical information in a clear manner to a variety of audiences, including individuals from non-technical backgrounds.
Demonstrated accountability for achieving release timeline with a quality product;
“Estimation” is one of your favourite words(!) - you like to be prepared and take pride in delivering on your commitments.
Drawing on your experience as an enthusiastic contributor to technical design and architectural discussions, your curiosity and collaborative style has won you the respect and appreciation of your peers. You’re an advocate for “everyone’s opinion has value” and have honed your listening skills accordingly.
You have high energy levels and you’re someone who wants to work in a dynamic, fun, fast paced environment.
You’ve worked in Scrum teams before and have a good understanding of the framework.
From a purely technical perspective:
You’re comfortable using client libraries and crafting HTTP requests to interact with web APIs. You’ve got a clear understanding of how to consume or provide HTTP requests/responses in a RESTful way.
You know how to design a database, calling upon your understanding of SQL syntax (specifically, foreign key constraints and indexes) and relational databases in general (we use MySQL). You are also comfortable with running migrations and maintenance on databases.
You understand the meaning of programming patterns or principles such as “SOLID”, “separation of concerns”, “event bus”, “Domain Driven Design” or “Test Driven Development”.
You have written many tests before, and have an understanding of when and why to use particular approaches to testing.
You’ve spent years writing object-oriented code in a web framework. Your stack is second-nature to you now; and you could keep writing code if the internet cuts out (for a while, at least!).
Building and maintaining reliable platforms and systems is important to you and you’re able to justify the methods you use to achieve this (such as excellent test coverage).
You are able to balance the goals of software development with those of a growing organisation, understanding the business needs and designing robust and high quality solutions without over engineering.
Finally, you’re also someone with an interest in social-justice and/or environmental issues and wants to be part of an organisation focused on working for a better world.
Please download the attached Position Description for the full selection criteria, additional benefits and how to apply.
Please note: Candidates will be reviewed and shortlisted before the application deadline, so early applications are encouraged.
NB: Women, people of colour and people of diverse gender, age and cultural backgrounds are strongly encouraged to apply.