How to get Software Engineering offers from Top Tech companies in Australia — Part 1: Format, Online Presence, Recruiter Screen

Joe Gaebel
16 min readMay 12, 2023

Articles in this series:
Part 1 — Format, Online Presence, Recruiter Screen (you are here)
Part 2 — Non-technical interviews
Part 3 — Technical Interviews — Algorithms and Data Structures
Part 4 — Technical Interviews — System Design (coming soon!)
Part 5 — Negotiating (coming soon!)

After four months of interview preparation and several interviews with top tech companies in Australia, I found myself with offers from Canva and Atlassian.

Over those four months, I went over several books on non-technical and technical interviews, several courses on system design, books on negotiating offers, and many hours gathering advice from software engineers already working at these companies - not to mention going through the interview processes myself.

This article series is the distillation of that experience with the goal of helping you get offers at the top tech companies in Australia. I’ll point you to the best resources I’ve found and their most crucial parts that will help you maximise your offers as well as optimise your prep time.

Interviewing at tech companies can feel a lot like solving rubik’s cubes while hula hooping on a skateboard. On one hand, it’s a niche talent that you can use to impress your friends. On the other hand, it’s a skill that obliquely demonstrates your competencies as a software engineer.

Unfortunately, employers have a hard time evaluating software engineering candidates and need to rely on a somewhat arbitrary interview process. Fortunately for you, learning how to interview well is a skill that can be developed, and you can leverage interview prep to increase your skills, your job prospects, your salary, and your lifestyle.

Here’s how you can get Software Engineering offers from top tech companies in Australia.

In this article in particular, we’ll go over the benefits of prepping, the interview format, how to make the best first impression, as well as preparing for the recruiter screen.

In the subsequent parts, we’ll go over how to prepare for the non-technical interviews, the technical interviews, as well as negotiating your offers.

My hope is that this series makes it easy for you to prepare, perform and profit from your interviewing experience. I’d say good luck, but you won’t need it after you create your own luck through preparation.

Caveats

The information I’m presenting here is based on interviewing within Sydney Australia, for Australian tech companies, and based on my personal experience interviewing and what recruiters shared with me during the process.

Despite working at Atlassian now, I won’t be sharing any internal recruiting information — not just because I don’t know it, but also because the princples you’ll learn here apply across companies.

I was interviewing for a role as a Senior Backend engineer and so if you’re in the US, or applying for a different role or seniority, some of the following won’t apply as much to you.

For example, a frontend engineer probably won’t have to prepare for a system design interview. A mid-level position might not have as much emphasis on the Leadership non-technical interview.

That being said, what follows is, I believe, a comprehensive guide on how to prepare for these interviews, which will be similar across companies and across engineering roles.

Benefits of Prepping

You could wing it and be successful, but chances are that you won’t:

  • Learn as much (which will help you grow in your career as a whole)
  • Get as lucrative of an offer, and
  • Get a role with as much responsibility or prestige as you could have with some preparation.

There is a lot of preparation that you could do, and it’s my opinion that the more prep you do the better. However, any prep that you do will help towards your interviewing experience and outcomes.

The goal is to feel at least somewhat confident for each interview phase and not get caught up in perfectionism.

For the entirety of your interview process, I would recommend the book Cracking the Coding Interview (this is an affiliate link, just fyi). This book contains valuable information for the beginning phases of interviewing (as well as very useful resources for the technical phases — but more on that in the later parts).

I’ll endeavour to point you to the most important parts of this book so you can optimise your prep time.

The Interview Format

Tech interviews with big tech companies in Australia will follow the following format, not necessarily in this order:

  1. Recruiter Screen
  2. Non-Technical Interview — Behavioural
  3. Non-Technical Interview — Values (for Atlassian, specifically)
  4. Non-Technical Interview — Leadership
  5. Technical Interview — Algorithms
  6. Technical Interview — Data structures
  7. Technical Interview — System Design

This article is the first in the series, and covers what you should do before reaching out to recruiters, the recruiter screen and non-technical interviews.

The interview sequence

In terms of your sequence, it’s most likely you’ll do:
Recruiter screen, Algorithms, Data structures, System design, and then the Values, Behavioural and Leadership interviews. This is because companies want to narrow down potential candidates early with the recruiter screen and the first technical interview.

After the first technical interview, the next interview order could be shuffled up. For this reason, it’s a good idea to get your online presence and non-technical interviews prepared for first.

Where to Start

Before you reach out to recruiters or apply to positions, you’ll want to get your online presence, recruiter screen, and non-technical preparation out of the way (Part 1 and Part 2 of this article series). Doing this before you apply and meet with recruiters means you’ll be able to focus your prep on the meatier technical phases of the interview.

While these non-technical phases are important, compared to the technical prep they are much easier to prepare for. This is because once you’ve figured out roughly what you’ll want to say for your non-technical interviews, it can sit at the back of your mind, ready for refreshing before the interview. Technical interviews however, tend to be more intense and need more continual mental preparation.

Online Presence

Recruiters and prospective employers will look at your online presence. Before reaching out to recruiters or preparing for technical interviews, the first thing you should do is get your online first impression polished. This includes your resume, LinkedIn profile, and your personal website.

Resume

Having an up-to-date, concise, and impactful resume is an important aspect of your first impression. If you don’t already have an impactful and concise resume available as a PDF, spend some time to put this together. For reference, the book Cracking the Coding Interview has everything you need to know about this in the section “Before the Interview”, subsection “Writing a Great Resume”.

Often, creating and updating one’s resume can be a source of dread and frustration. For this reason I recommend using https://jsonresume.org. This open-source framework allows you to encode the informational aspects of your resume into a JSON file, and then render that JSON file with a theme, with hundreds of themes to choose from. It’s also completely free.

This allows you to separate the content of your resume from how it looks which allows for easier updating. Additionally, the themes are just HTML, CSS and handlebars templates, which are pretty sleek, and easily customisable. The benefit of using JSON Resume is that enables easy to update and beautiful resumes, editable in familiar web technologies, and compiles down to a PDF.

Here’s another great source for JSON Resume templates: https://anthonydellavecchia.com/portfolio/json-resume-themes/
and a how-to guide:
https://bhdouglass.com/blog/how-to-build-a-developer-json-resume/

It’s important to ensure your resume content is clear, concise, and impactful. Browse through the 100’s of open-source themes on JSON Resume (or the link above) if you’re lacking in design skills or if your resume could use a refresh.

Linked In

In my opinion, LinkedIn is the go-to hub for finding job opportunities and applying to them, reaching out to recruiters, as well as adding to your online first impression.

Here’s what I would recommend for your LinkedIn profile:

  • Ensure your profile is up to date with your latest work experience and responsibilities.
  • People are biased towards friendly and engaging photos. If you don’t have a professional, friendly, close-up profile picture, hire a photographer and get a professional headshot done.
  • Social proof is an important factor in signalling to prospective employers that you’re fun to work with and are experienced. Have reviews from your previous employers and co-workers present on your profile. If you don’t have any, reach out to managers and co-workers whom you know will be able to advocate for you honestly and emphatically.
  • Use effective bullet points in your work history. They should be concise, talk about what you learned and achieved.
  • Include projects and volunteering.

While not a perfect example, my LinkedIn uses strong bullet points and achievement oriented language, in addition to 16 reviews from previous employers and co-workers. Applying the advice from the “Writing a Great Resume” section of Cracking the Coding Interview will help here as well.

Personal Website

A personal website shows that you’re able to code, and it allows you to express more about yourself. Consider this another way of contributing to a positive first impression for your prospective employers. On your website you get to showcase your work experience, the technology you’re familiar with, the projects you’ve built outside of work, and your personality.

As an example, my website encodes my interests in a scrolling animation at the top of the page, closely followed by volunteering experience. This helps paint a more rounded out image of my character outside of work. From there I have listed out my work experience, the technologies used, reviews, and projects in more detail than on LinkedIn. Your website need not be complex, deeply styled, or fancy. The goal is to increase your online presence and have more influence over your first impression.

A personal website has the added ability to embed custom analytics to understand in more detail the interest areas of your prospective employers. You’ll be able to answer questions like, “Where do my prospective employers/recruiters spend the most time on my site?”, “What areas are they most interested in?”, “Which project links do they click”. This allows you to continue to shape that first impression. To this end, I’ve built a simple React website, and embedded mixpanel analytics.

A user’s journey visiting joegaebel.com

In the above example, you’ll see that the user landed on my site and immediately scrolled to the bottom without engaging with the volunteering, work experience, or reviews sections.

They did however engage in the projects section at the bottom of my page, which showcases the personal projects that I’ve built. This is a single example of a visitor being more interested in my personal projects over work experience, and informs how I might showcase this information more readily if I notice this as a trend across many users.

My interview prep template contains all these steps (and more!) to get your online presence polished, as well as the process I personally took to get offers from top tech companies in Australia. It includes in depth, step-by-step and fill-in-the-blank exercises to make sure you’re prepared to ace your tech interviews. It’s available here.

Once you’ve gotten your online presence polished, you’ll want to begin preparing for meeting with recruiters.

Recruiter Screen — The Elevator Pitch

The very first thing that recruiters will ask you is “tell me about yourself.” This question is an opportunity to help your recruiter get a well-rounded picture of you and your experience. This overview of your experience gives your recruiter a framework with which to understand you, and the rest of the interviews with them will be a process of refining and expanding this mental model.

Because of this, it’s good to set yourself up for success by giving them a prepared picture to start with, rather than needing to do damage control throughout the rest of your interviews because you were coming up with your pitch on the spot.

In my opinion, a good elevator pitch has the structure:

  • Intro and Current Role
  • Education
  • Post-Education and Onwards
  • Current Role
  • Outside of work
  • The reason why you’re leaving your current company and want to join theirs

Here’s an example of the pitch I used with Canva and Atlassian.

Intro and Current Role
My most recent position was senior software engineer at a carbon accounting startup, where in the second half I was the engineering lead for my team, and often took responsibility for product management.

Education
I went to school in Canada, I have a bachelors degree in Software Engineering. Before school ended I wanted to get real world experience, so a friend and I built a portfolio website and flew out to San Francisco to knock on doors and get jobs.

From that I was able to do a year long internship in Silicon Valley with a very principled company called Mavenlink. I was really lucky to work for this company, they were really principled in their engineering practices (like Test-Driven development, Pair programming, CI/CD), and through pair programming daily with senior engineers I learned a lot faster than other methods. Near the end of my internship I was leading a team of engineers to build search functionality in the product.

After that year I incorporated a consultancy and worked part time for that company while finishing my degree, where I ran my own cross functional team implementing a few key features in the product.

Post Education and Onwards
After I graduated I went back to San Francisco and worked for Mavenlink for another 8 months, where I worked on an ETL and fixed some very complicated system bugs on the support team. Eventually I got the sense that I wanted to work on different products, but continue the same ways of working.

It turned out that Mavenlink’s product teams were started through working with a consultancy in Silicon Valley called Pivotal Labs. They had helped start Twitter and a few other big companies, and were big proponents of lean product management, extreme programming, and user centred design. Luckily I was able to meet with the director of the Sydney office.

I worked with Pivotal Labs for 4.5 years, where I worked with many different clients for roughly 6 months at a time, helping hire and train teams, upskill their engineering and product practices, and ship awesome products.

Eventually I started to feel the draw to work at a product company again, and especially in the realm of sustainability.

Current Role
For the last 6 months I worked at Pathzero as a senior software engineer. I worked on the platform team, and I was responsible for helping the engineering organisation thrive as a whole. I did this by modernising their technology stack, implementing and educating on modern software engineering practices. As well, I took on the role of engineering lead and product manager for their user login portal and admin console.

Outside of work
Outside of work I’m really glad to be in the technology space for it’s ability to solve real world problems. Recently my partner and I moved into an apartment that has massive garage door remotes. Because of my affinity for technology I was able to take the remote apart and integrate it with a Raspberry Pi. From there I have the Pi serve a website and allow me to open the garage with my phone.

As well, I do a bit of surf life saving and surf sports on the side — living by the beach is like a tropical vacation in contrast to living in Canada.

Wrap up
In my next role I’m hoping to work for a company that empowers product teams to be creative and to deliver products that customers will love. A company with human centric values and strong engineering principles, as well as a place that wants to do good.

Having an informative overview of your background, work history, and current motivations will cover most of the recruiter screen. Having this written out and partially rehearsed will allow you to ad-lib naturally during the recruiter screen, while ensuring you highlight the meaningful parts of your career journey.

A fill in the blank Elevator Pitch exercise is included in my Interview Prep Template. This guide includes every step I personally took to get offers from the top tech companies in Australia, and will help you hone in on exactly the steps you need to take to prepare, available here.

Applying the advice from the “So, tell me about yourself” section of Cracking the Coding Interview will help here as well.

Technical Questions in the Recruiter Screen

The recruiter may ask you if you’ve used specific technologies, for example, Java, and the Spring Framework as they did at Canva and Atlassian. This is to check if you have familiarity with the languages and frameworks they use in-house. This matters more to Canva, as they want engineers to start with experience in Java. Whereas Atlassian hires engineers with or without Java knowledge.

Questions for the Recruiter

The recruiter expects that you’ll have questions about the role, team, culture and company, and you should. Having prepared questions that you really care about is important because it shows that you’re taking this opportunity seriously, and giving thought to where you fit in their organisation. Some questions you may want to consider asking are as follows:

  • What are the biggest challenges facing the team? (credit to Andrew Huth at Technically Speaking)
  • What is the compensation package and benefits for this role?
  • Can you tell me about the engineering culture?
  • What are the expectations around remote working vs. in office?

A Note on Salary Expectations

At this stage the recruiter may ask you what your salary expectations are. This is a reasonable question, because if your expectations are way beyond the pay-band for the role you’ve applied to, it’s better to find this out sooner rather than later. It could be the case for example, that you’ll want to apply for a more senior role if your salary expectations are beyond the role you applied for.

A key point here, however, is that you do not want to limit the potential of your offer. By telling your recruiter your exact salary expectation at this stage, you risk setting the “upper bound” of the offer. For example, let’s say you tell your recruiter that you are hoping to have a $150k salary. This will fulfil their understanding of whether or not you’re in the pay-band for your role, however it will also signal to them that you will be happy with $150k. This will mean that your offer will likely not be much higher than this number, and could possibly be lower!

If you had not told them your exact salary expectations, there is a greater chance that your offer will be higher than your expectation, as well as having further room for negotiation if it doesn’t meet your expectations.

How to deal with this question without limiting the potential of your offer?

How to answer “What are your Salary Expectations?”

Rather than answering with an exact figure, you can answer the pay-band compatibility question by asking for the pay-band for this role. You can say something like:

“I can’t give an exact figure, however if you share with me the range for this role, I’ll be able to let you know if it’s in the right ballpark”.

Knowing the pay-band info helps you a lot. Firstly, it allows you to benchmark your salary expectations. Additionally it lets you know whether or not continuing with the interview process is worthwhile. If the pay-band includes the number you would be happy with, and some room to negotiate higher, you can affirm “Yes, it’s in the right ballpark”.

If they decline to give you the range, you can ask them for the average salary for the role and evaluate.

If they decline to give you the average, and are pressing you for an exact number, it is truly in your best interest to decline to answer, politely. You can say any of the following, “I’m sorry, I’m not comfortable giving an exact figure at this stage”, or “At this stage, I’m still working to understand the range of benefits, salary, and other compensation, and how that compares with the other companies I’ve applied to”.

When recruiters ask for your salary expectations, one reasonable purpose is to understand if you’ve applied to the correct role and to ensure that the both of you aren’t wasting your time. This question however can be answered in ways that can compromise your future ability to negotiate your offer.

Imagine for example that you’re interested in buying a used car from an ad which doesn’t mention the price. In your head, you would be happy to pay $20k. When you enquire with the seller, he says “Yes, it’s still available, but I won’t consider any offers under $15k”. He has now set the upper bound of the negotiation, since he’s stated his sought-after number. It’s likely that you’ll negotiate with him slightly lower than his sought after number. With that one admission, he’s lost at least $5k that you were happy to pay.

Now imagine this with your prospective employer. You let them know that you would be happy with $150k. Meanwhile, they might have been expecting to pay you $160 or beyond. Don’t set the upper bound. Avoid giving an exact number, answer in ballparks, and if pressed, politely refuse.

More discussion on negotiation is included in Part 4, however at this stage in the interview process, the above should be enough to get you over the “what are your salary expectations” hurdle.

Conclusion

This concludes the first part of the series, focusing in on the interview format, getting your online presence polished to make the best first impression, preparing for the recruiter screen, and ensuring to not set the “upper bound”.

Remember, by doing this interview prep, you’re giving yourself the best chance to learn and grow in your career, as well as optimising your offer and career prospects.

In the subsequent parts of this series, you’ll learn how to prepare for the non-technical interviews, technical interviews, and how to negotiate once you’ve been given initial offers.

As a companion to this article series, I’ve created a step-by-step, fill-in-the-blank Interview Prep template. This template includes every step I personally took to get offers from the top tech companies in Australia, and will help you hone in on exactly the steps you need to take to prepare, available here.

It’s my hope that this information helps you in your interview process!

Next article:
Part 2 — Non-technical interviews

Other articles in this series:
Part 3 — Technical Interviews — Algorithms and Data Structures
Part 4 — Technical Interviews — System Design (coming soon!)
Part 5— Negotiating (coming soon!)

--

--