- Job posted on: 18th Mar 2021
- Applications close:
Have a question about advertising a job on EthicalJobs?
Please direct all enquiries about a particular job ad to the employer listed on the ad - you can find their details under the "How to Apply" section on each job ad.
Please note we are NOT a recruitment company, and unfortunately we don't provide career advice or accept CVs. For help on finding an ethical job, please see our Career Advice section above.
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 all the passionate, values-driven job-seekers 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 6,000 for-purpose organisations around the country, and has a passionate community of 280,000+ unique users using the site each month. And we’re growing!
You’ll be joining a friendly, passionate and successful team of 24 people (growing to ~30 in 2021!) who share a vision of a more equitable, just and sustainable world.
When we’re not working from home (as we are right now), our spacious office in Collingwood has loads of natural light, high ceilings, standing desks, a large outdoor deck for lunch in the sun and drinks after work, and great food and coffee just around the corner.
You’re a backend developer with at least 2 years professional coding experience in a team setting (e.g. using a CI/CD pipeline, code reviews, using Git), with at least one year of that writing PHP consistently.
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 basic database, calling upon your understanding of SQL syntax (specifically, foreign key constraints and indexes) and relational databases in general (we use MySQL).
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 the differences between a Unit and a Functional test case.
As a team player, you’ve spent a couple of years now 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).
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.
You’ll be joining our product team – currently 4 software engineers, a Head of Product, a UI/UX Designer and a QA specialist. We have plans to grow the team to at least 10 people by December.
We’re building our recruitment platform that’s already being used by more than 6,000 charities and not-for-profit organisations around Australia.
You’ll join the rest of the team in providing a high level of input and contribution to sprint planning (currently 2-week cycles); as a result, you’ll get to work on areas you’re interested in, and even tinker in new areas (such as testing out a new framework in our microservice architecture).
We’re a very friendly, open and relaxed team. We’re always looking for different perspectives, so you’ll have the opportunity to challenge implementations or ideas by anyone else in the team. We focus on the idea, not the role title.
We’re all subject to code-reviews using GitHub pull requests, where we try to focus on the implementation and testing, rather than coding standards or syntax.
We’ve got some big, ambitious plans for the platform in 2021 and you’ll be crucial in helping us to unlock these dreams.
We operate a “microservices architecture” - don’t worry, we don’t expect you to know about it (bonus points if you do, though!). This is enabled via a technology called 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.
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.
Please download the attached PD for the selection criteria, salary and other details of this role.