We’re hiring in Melbourne, Australia!

We have an ever-growing stream of work available — we just need more trusted, professional, pragmatic, self-directed and talkative software developers to do it.

Are you the kind of software developer who is excited about the thought of code you submit running through a battery of tests and being deployed within thirty minutes?

Do you like being your own business analyst, able to think not only about code but its implications on how a system will work?

We’re looking to hire people with pragmatic software principles and a high level of technical expertise, regardless of what particular pieces of technology that experience has been in or for how long.

Students working together on academic project

Right now, we have more of a pressing need for developers with a focus on the back end. Here’s our job ad:

Pragmatic and Talkative Back-End Software Engineer

Our code product is Adnuntius Advertising, a sophisticated ad management and delivery system designed as a SaaS application with customers the world over. It’s super-fast, handling 20,000 transactions per second without missing a beat.

What We're Looking For

You must be self-­directed. Our aim is to get out of the way and have you kicking goals one after another. The structure is almost completely flat — there is no team or dev lead, no project managers or business analysts, no architects.

You’ll be given general guidance on what needs to be done and you’ll nut out how to get there. You’ll be responsible for figuring out how your work fits into the overall software system and whether it meets the business requirements. Better yet, you’ll get all the benefits of implementing your own projects, but with the added bonus of being able to collaborate with others and learn from your coworkers who each have many years of industry experience.

Specific Skills and Requirements

  • You look to collaborate with objects rather than inherit them
  • You create abstract classes through gritted teeth and prefer composition
  • You don’t consider a language worth dealing with unless it supports first-­class functions. Having said that, you can make do with Java and are mightily happy with the Java ecosystem.
  • You know how important test frameworks are and love seeing regressions caught before your code is merged into a code base
  • You wouldn’t consider taking on a job that didn’t already have continuous integration going on
  • You have completely forgotten, or never experienced, how CVS and Subversion works
  • You want everything you make to be simple and understand how difficult that is to do

Our Current Tech Stack

We do research and development without any super-strong allegiances to any particular piece of technology.

Currently, we use the following technology for the Adnuntius products we’ve developed and maintain:

  • Java for application development
  • R for data analysis
  • Scala for functional programming within the Java ecosystem
  • Python for quick tooling, scripting and testing
  • Elasticsearch for silky search
  • Kafka for messaging
  • Cassandra for distributed data storage
  • PostgreSQL for relational databases
  • jOOQ for talking with databases in Java
  • Gradle for builds
  • Guice for dependency injection
  • React, AngularJS and Angular 2+ for modern application interfaces
  • Sass for speedier CSS development
  • Node.js, npm, webpack, yarn and gulp for managing UI projects and resources
  • Consul for configuration management and service discovery
  • Prometheus for gathering, storing and alerting upon application metrics
  • Grafana for monitoring and visualisation of system performance
  • HAProxy for load balancing
  • Nginx for web serving and reverse proxying
  • Ansible for automation, machine management and deployments
  • Linux for hosting, development, everything!
  • Git for version control
  • GitLab for continuous integration and code review

About the only two things we’re religious about is Git (or any other distributed version control) and GitLab (or any other continuous integration system).

We’re a pragmatic bunch mostly interested in results. Our software developers think about the business requirements when creating technical solutions, even adapting the business requirements to match the capabilities of the technology options.

We’re so pragmatic we’ll even use PHP and MySQL to run this website!