/ Playbook / Part 1

The Grad/Intern Playbook: Part 1 - Australia's Software Engineering Industry and the Timeline

Introduction

Welcome to The Grad/Intern Playbook! This is a set of articles I wrote documenting my thoughts on how to make it through the technology industry in Australia as a university student. I’m Sai, the current former president of the Monash Association of Coding (MAC), and a future Machine Learning Engineer at Canva, a unicorn web design company. Throughout university, I discovered the many, many details of the technical interview process, and how to best prepare for it. Regarding the technology scene in Australia, students from NSW dominate the industry. In contrast, students from Melbourne/Monash are more scarce, partially because I suspect the culture behind sharing the many secrets of the process is too well hidden. I want to document the specifics of the process.

The MAC committee of 2023

The best committee I could have asked for...

Inspirations

There already exist articles on getting a grad/intern role in the tech industry, and some of my inspirations come from the following places:

Preface

Before you read further, this will be an extremely opinionated article that won't shy away from making concrete points. So, if you've got an eye for making real big bucks out of university (in Australia), here's my guide to software engineering as a university student in Australia. This will also be split into multiple parts, with the first part being an introduction to some of the more prominent companies in Australia and the timeline for when you apply to these companies.

What do you want out of tech?

While a lot of people are interested in the tech industry or technical roles because it pays handsomely out of university, there are quite a few intermediate steps to getting a coveted position that pays over $100,000 fresh out of university and that the number of people who do make this much are a small minority. Sure, it may be possible for someone who does no self-guided work in their spare time to get one of these roles. Still, it’s significantly less likely when countless candidates actively maximise their probability of getting in. There’s a discourse on being passionate about programming versus treating it as a role. Still, it would help if you were interested in programming to get far, at least from the start. The rest of what I’ll outline will seem very dull if you’re not invested in different aspects of computer science. ThePrimeTime reacts to a video called Software Engineering Anxiety by bigboxSWE, which eloquently covers a lot of my thoughts on the field as a whole, especially at 9:40, where Prime acknowledges that you shouldn’t make software engineering your life, but also says that there are many more candidates willing to put everything on the line when it comes to job applications. In the end, it’s all up to you, and if you don’t find any joy in it, then you’ll struggle with the entire process.

The targets

Before you get ahead of yourself and aim for the Big 4 consulting firms because you’ve heard they’re prestigious, let’s discuss technical roles. Technology companies are driven primarily by their software and usually pay the most. Still, there are also quantitative trading firms that hire software engineers to work, which are classified as finance. Companies whose primary product isn’t tech, such as banks, accounting firms, supermarket chains, and so on, generally pay less but have more lenient technical processes (on average). We’ll be examining software engineer/developer roles, which can also include similar roles like data science/machine learning.

  • Tech and quantitative trading firms have more challenging interviews on average but usually pay more. Quantitative trading companies are on the high end for interview difficulty.
  • Non-tech companies who hire developers may have interviews unrelated to what you have studied, e.g. psychometric testing, case studies, etc

Technical companies usually have processes for training their engineers and better guidance from mentors who may have decades of experience with different companies. That’s not to say that non-technical companies can’t compare; banks typically pay for certifications or anything to upskill yourself. However, when focusing on technology, you are in an excellent position to learn a lot.

More information on the interview processes will be covered in article three.

Big Tech

Unfortunately, Australia doesn’t have as many options when it comes to big tech companies that have an office here. Nonetheless, there are a few companies that have an office in Sydney or are expanding out with satellite offices in other states. These companies are considered tech because their primary function is selling tech-based products. At the end of each company is I for an internship and G for graduate roles, with ? indicating uncertainty.

A common occurrence I’ve seen with many students and posts on Reddit is the consensus of an Australian FAANG, which consists of the four companies listed below. I am less invested in ranking companies; however, they have excellent engineers, pay well, and pamper their employees.

  • Atlassian: A software company that develops collaboration and productivity software, including Jira and Confluence. (I,G, ⭐)
  • Canva: An online graphic design platform that allows users to create various designs, from social media posts to business cards. I interned here as an MLE! (I,G,⭐)
  • Google: While not an Australian company, Google has a significant presence in Australia and employs many software developers. (I,G?,⭐)
  • Amazon: Consists of Amazon and AWS, a subsidiary that hires software engineers. (I,G,⭐)

The listed companies are reputable, and most are rumoured to pay well.

  • Airwallex: A fintech company providing cross-border payment solutions for businesses. (I,G)
  • Rokt: A marketing tech company specialising in personalised offers at the point of transaction to improve e-commerce customer engagement and conversion rates. (G,⭐)
  • Afterpay: A payment platform that allows users to buy now and pay later, with no interest or fees. (?,⭐)
  • Bukalapak: An Indonesian e-commerce company that operates an online marketplace connecting buyers and sellers of various products, from electronics to fashion to home goods. (G)
  • SEEK: A job search website that allows users to search for jobs in various industries and locations. (G)
  • WiseTech Global: A logistics software company that provides solutions for the logistics industry. (I, G,⭐)
  • REA Group: A digital advertising company that operates property websites such as realestate.com.au and realcommercial.com.au. (I*, G)
  • IBM: A technology company that offers a range of solutions in areas such as artificial intelligence, cloud computing, blockchain, and data analytics. (G)
  • Snap Inc.: A camera and social media company that operates the popular Snapchat app, as well as other products like Spectacles (smart glasses) and Bitmoji (personalised avatar app). (I,G,⭐)
  • TikTok: A social media platform that allows users to create and share short-form videos set to music or audio snippets. The app has become increasingly popular recently, particularly among younger generations. It has spawned many viral trends and challenges. (I, G,⭐)
  • Adobe: A software company that writes software aimed at designers, such as Photoshop, InDesign, or Illustrator. (I, G, ⭐)

This list is incomplete as well and is a curation of some I have taken note of. There may also be mistakes, in which case, feel free to get in touch with me! As for the pay, you’ll have to find that yourself, as it will vary yearly and from company to company. But some top companies here pay upwards of 100K and are marked by ⭐, which is very good money. And yes, I used ChatGPT to generate those descriptions.

Quantitative trading firms

A list of firms that I’m aware of includes Optiver (I, G,⭐), IMC (I, G,⭐), Akuna Capital (I, G,⭐), SIG (I, G,⭐), Jump Trading (I?,⭐), VivCourt (G,⭐), Citadel Securities (I, G,⭐), and Tibra Capital (I,⭐). Jane Street is based in Hong Kong but also takes students from Australian universities. All of these firms pay over $100,000 for a graduate developer role.

The consensus with these firms is that you’re more confident with your coding skills, perhaps after a stint in competitive programming. Some, but not all, of these firms also prefer people with Java/C++ experience, so for more flexibility, consider looking into learning one of these languages. Often, some of the companies listed may ask for your WAM or ATAR. From my own experience, these get asked for at the application stage. I’ve seen events where having a high WAM/ATAR is a requirement, but I’ve also heard of students with one or neither of them who’ve got through, so your mileage may vary.

These firms also place a heavy emphasis on not requiring a background in finance. However, it helps to have a basic idea of financial instruments, which many places have videos detailing. Suppose you intend to make as much money out of university. In that case, you should highly consider these companies, as Jane Street touts a first-year graduate total compensation of $700,000. However, the amount of people from Monash who intern/work at Jane Street is approximately in the single digits…

Other places

Then, there are more companies below that may be worth considering. This list will likely be continually updated.

  • Quantium: A data analytics and AI company serving finance, retail, and healthcare industries. Offers advanced analytics for data-driven decisions. (I?,G)
  • Carsales.com.au: A digital advertising company that operates automotive classifieds websites such as carsales.com.au and bikesales.com.au. (G)
  • Telstra: A telecommunications and media company that provides various services, including mobile and internet services, television, and streaming. (I,G)
  • Macquarie: An Australian investment bank that offers a range of financial services, including asset management, advisory, and banking. Their technology division works on developing innovative solutions to support the bank’s operations and services.
  • Big 4 banks: Westpac, CBA, ANZ and NAB. The experience varies wildly from team to team.
  • CSIRO: Australia’s research agency. They do a lot of work on various topics and offer internships in computing, data science and similar fields.
  • Investment Banks, such as Goldman Sachs, Credit Suisse, Morgan Stanley, etc. These companies hire engineers.

The big 4 consulting firms (KPMG, EY, Deloitte, PwC) are also options to consider if you have a few other options. There are many things people say about them: high churn rate, low pay in exchange for a lot of training, not the best if you’re interested in tech, and so on. Standard advice regarding these firms is that they’re a good option during the Monash IBL program as a stepping stone to more prominent places.

  • It’s often common to renege (go back on) on a company if you’ve received a better offer. While I don’t endorse reneging constantly, as you may be blacklisted for doing so, it’s essential to not feel locked down by a company whose offer you accepted early on; this is your career, after all.

Job sites

Many companies will post their intern/graduate applications on job boards. Some of the most popular sources for finding these include:

I’d recommend noting companies and what they do so that you can apply in future years. In Australia, most companies take on penultimate students for internships, though there are some companies that take on pre-penultimate students.

In Australia, unpaid internships are considered unlawful if the intern is considered to be doing “productive” work. If you’re undertaking work experience that is considered vocational, i.e contributes to your education, the internship is considered lawful. For this reason, teachers and nurses embark on unpaid internships. So, internships that you seek out should be paid, and some of the previously mentioned companies pay their interns a very good amount. Some services require you to pay for internship experience; these are illegal and predatory.

So typically internships offered as part of some university capstone unit aren’t illegal (The IBL program at Monash for instance), and if they do offer any payment, it’s typically through a tax-free scholarship.

The timeline

Students typically do three or four-year degrees, whether it’s a standard degree, a double degree, or an honours degree. The penultimate year is before your final year when you apply for internships. If unsuccessful, you can always apply for graduate roles in your last year. That’s not including changes to your progression, as many students typically switch degrees, pick up a second degree, or underload.

Does the university matter?

Yes and no. Some places have tiers for universities for hiring, which are commonly known as target schools. However, this seems less common in Australia when looking at tech companies. Some quantitative trading companies may have a preference for universities within the group of 8:

  • University of Melbourne (UniMelb)
  • Australian National University (ANU)
  • University of Sydney (USYD)
  • University of New South Wales (UNSW)
  • University of Queensland (UQ)
  • Monash University (Monash)
  • University of Western Australia (UWA)
  • University of Adelaide (UA)

But as to whether it truly matters? It may matter, but there are other considerations for many companies. I’ve seen people work at previously mentioned big tech companies who did not come from the above universities, so it is possible to break into the field.

Degree differences

It’s worth noting that your degree doesn’t matter to a recruiter so long as it’s STEM-related. Hell, some roles don’t even need a STEM degree. You could do computer science and engineering and major in mechatronics/software engineering, IT in software development, science majoring in computational science, etc. It only makes a little difference, except for a few helpful core units. With that being said, some courses are much more useful than others. An example would be doing applied data science at Monash, compared to data science in computer science, also at Monash. Some other examples I can think of are:

  • The Monash computer science (CS) and software engineering (SE) degrees have a compulsory data structures and algorithms unit, whereas IT does not

  • The applied data science (ADS) degree goes into depth regarding machine learning, whereas the data science specialisation leaves room for improvement

  • The Monash SE, IT, and CS degrees all have the IBL program*, whereas science degrees do not

  • The SE degree has a compulsory honours year, whereas CS has an optional honours year, and IT has no such honours year

  • A double degree in science/computer science majoring in mathematics will have more space for math as opposed to computer science on its own

There are many intricacies to what your degree is, but the result isn’t too significant as long you put the effort in your spare time. This guide will follow a four-year course, but you can still follow the advice as usual anyway, as the timeline would just be a year shorter.

Getting more chances/University progression

Some students utilise more extended degrees to get more chances for internships. A typical example would be doing a double degree, where you have two penultimate years, by first considering an alternative exit where you drop a degree or finish both degrees. Underloading is also a viable option, as there’s no rush to complete your degree. Some companies will auto-reject you based on your prospective graduation date, so you could change this to account for dropping a degree/honours year.

Three years is short for someone with no prior coding ability to become competent enough. However, it’s possible, assuming you do a bunch of development in your spare time. I’ve heard advice from others regarding underloading/overloading, and the consensus is that it’s okay to underload, as 4 units while managing other commitments or working towards a career can be very daunting. There’s genuinely no rush to finish early, as you’ll be less prepared for whatever comes after.

To summarise, you may extend the amount of time you have till you find an internship by:

  • Underloading so that you finish your degree later
  • Doing a double degree or an honours year on top of your degree
  • Pretend that you graduate earlier using an honours year or double degree and say you intend to drop it.
  • I don’t endorse this, but you can also fake a penultimate year to stack multiple internships. What you get out of this is beyond me, besides getting a feel for where you want to go.

Blacklisting

I have seen people mention being “blacklisted” by a company. In practice, the blacklist is more of a cool-down period, where you cannot apply for another role at that company for some time, typically 6 to 12 months. To be blacklisted means you’ve done something that is likely illegal, not just because you applied to the company and got rejected. From what I have gathered, IMC, Jane Street, Google, and Canva implement cool-down periods of varying lengths, and this is usually done to lower the burden of applications.

First year

There are a few places that offer pre-penultimate internships, but these are not expected. This would be the Google STEP program and Optivers internships. The Google STEP program is conflicting on who can enter, as there were years when it was entirely women, though I have heard opportunities have opened up to everyone after that year.

Some other programs that may be of note include:

  • IMC launchpad: A short experience that could get you fast-tracked to the final round of an IMC internship in the following year
  • Optiver FutureFocus: A similar thing to IMC Launchpad but Optiver-themed
  • SIG Discovery Day: Same as above, but SIG
  • Akuna’s winter internship
  • Big 4 insight programs

Even so, you should be okay with not finding an internship in your first year. It’s exceptional if you do! It’s also common to not know that these internships exist, as they sometimes open at the start of the year when you may have yet to begin classes. Smaller companies may also be happy to take you on as an intern or as a part-time developer if you’re enthusiastic.

I suggest drilling down on your programming classes, as they will evolve in difficulty. Another aspect should be learning about different fields in programming. The introductory courses teach Python or C, which are good languages, but don’t scratch the surface if you’re interested in web development or another field. Some suggestions include:

  • Learn another language (Java, C++, Rust, JavaScript, Haskell, OCaml)
  • Learn a framework for the above languages
  • Attempt a personal project
  • Get involved with club events
  • Talk with people!
  • Do a research project (see second year)

If your goal is to aim for the big leagues, you can maximise your odds by doing this sort of stuff early on. The things you’ll need to focus on are covered in the second article. An understated part of the internship/graduate grind is talking to other people, as you’ll get a better idea of what you want to do, what you want to aim for, and what you should be doing.

My recommendation is to become familiar with clubs/societies at your university. For Monash, this would be:

  • Monash Association of Coding (MAC): We run technical events on upskilling yourself and getting into the industry, for instance, topics in Machine Learning, building an application, or learning about frameworks.
  • MonSec: A cybersecurity club that runs workshops on the cybersecurity field, such as penetration testing, reverse engineering, cryptography, OSINT, and so on. They run weekly workshops and participate in CTFs (Capture The Flag)
  • WIRED (FITS): The faculty’s official society, which is concerned with social events, technical events, and various other broadly IT-related activities.
  • Commerce and Computing Association (CCA): A club that blends commerce and computing (with the intersection usually being tech consulting). They run more social/networking-related events.
  • Monash Deep Neuron (MDN): An engineering student team focusing on deep learning and high-powered computing. Student teams are more involved, as you’ll be trained in deep learning or high-power computing and work on a project during your time there.
  • Monash Algorithms and Problem Solving Society (MAPS): A student team focused on competitive programming, with weekly workshops on various competitive programming topics. I’d recommend this if you are interested in the more competitive companies.

As for how much involvement you should aim for, that’s a matter of choice. You can join most of the events/workshops these clubs run and talk to the regulars/committee members to learn more. Alternatively, you could become a committee member yourself, which is a positive on a resume.

Second year

You will have likely completed a few computer science units at this point; however, whether you will have completed the first algorithms and data structures course depends on your university. Monash and UniMelb only do this in the first semester of Y2, whereas it may be different with UNSW’s trimesters. Assuming you’ve participated in club activities and done some programming in your first year, now it’s time to start drilling down on some of the interview-specific skills and honing your general ability.

Two invaluable outlets for students through the university would be tutoring their introductory units or research assistant work. Teaching students how to write code is a valuable experience. It reinforces your ability, often considered a higher form of understanding. A research assistant also exposes you to research topics in computer science/technology, which gives you a topic to talk about in interviews, in addition to getting paid. The winter research program opens around week nine in semester one, and the summer research program opens around a similar week in semester two. At Monash, TA positions have become available to first years if you’re exceptional.

Overall, I’d recommend doing the following:

  • Attend any networking nights that societies advertise. Make sure you talk with other students and not just the recruiters!!
  • Start looking into Leetcode and consider the Blind75/Neetcode150 set of problems
  • Continue working on any personal projects you may have
  • Participate in a hackathon with friends

So, by the end of the year, you’re comfortable writing code in two languages, have experiences to discuss in interviews, and can nail a coding assessment. I did this through the second year and did Leetcode every day for a month straight in the summer leading up to the third year. I also did a research program in deep learning over the summer to continually hone my skills. You also don’t need to do everything on this list; they are recommendations for immersing yourself and becoming familiar with software engineering and also being able to nail a behavioural interview through your own experiences.

As for potential internship outlets, if you’re still considered pre-penultimate, refer to the year one pre-penultimate program. Additionally, CSIRO has internships through Data61, which take “exceptional” second years, regardless of whether you’re penultimate. Remember, there’s no harm in applying, as you’ll get better with each attempt. NAB also offers its technology program throughout the semester if that would be something you’re interested in.

Third year / Penultimate year

By the time you’ve reached your penultimate year, you will have had quite an amount of experience from clubs, writing code in your own time, hackathons, research, tutoring, or a pre-penultimate internship. The goal is now to smash your internship interviews so that you’ll be set for the summer. The big tech companies release their internship applications between January and March, and quantitative trading firms follow a similar timeline. Non-technical companies open up later; for instance, the banks open around mid-year. It is worth noting that ML at Canva only opened in September (in 2022, it’s back to normal), so there are always exceptions to the rule of thumb.

So, the game plan is to have your resume ready (DM me if you want your resume vetted!), be familiar with technical assessments, have a collection of stories you can format using STAR, and have a lot of willpower. These interviews are tiring, as applying to upwards of 10 companies during the semester and progressing is rather taxing. It’s also worth it that you use it sooner rather than later, as some of these companies receive upwards of 10k applications. It may be a while before your application is processed, by which point the number of spots would have filled up.

One less-known secret is reaching out to people from networking nights, LinkedIn, Discord or other social media for potential referrals, which can have various effects. Usually, it guarantees your resume will be seen by a recruiter. I have reached out to people on LinkedIn in the past, asking questions about the company or the interview process, and they are usually happy to answer and even provide a referral. There’s no harm in doing so, assuming your message is phrased appropriately.

Some advice I have:

  • Apply early, apply early, apply early! Even if you feel less than 100% before, the earlier you get in, the less likely that roles will be filled.
  • Have no shame in getting your resume vetted. Seriously, hang your dignity up and get feedback continuously; it could make a big difference.
  • Your first time interviewing, or even going through the process, is likely going to suck. It’s just through repeatedly failing that you become comfortable with the process.
  • Apply to companies that you may not be as interested in, just for the reason above. It’s a win-win scenario; you either learn from failure or get an offer.
  • If you have one offer in hand, ask a recruiter to expedite the process of another interview.
  • Log all the feedback you get; it’s a no-brainer, as you should be able to refine your performance based on that.
  • The interview process is different to the job, so you shouldn’t feel discouraged if the whole process feels arbitrary and difficult.

As for each of the interviews, I’ll be covering that in the third article.

Addendum A - Summer

Congrats! You’ve landed a summer internship, but it’s still ongoing. Typically, companies hire interns as a cheap method to scout out graduate talent and give them return offers to get them on board early. However, in recent years, with a rough market, the headcount at various companies in some teams has shrunk or frozen, meaning that you may have to work to impress during your internship. As a result, the intern-to-graduate conversion offers have decreased. Some of my tips during the internship would include:

  • Establishing a good relationship between you and your host/supervisor, which includes regular communication on the project, participating in standups and so on
  • Try to finish your project or get it to a state that you can talk about
  • Don’t work over the required hours; this may seem like a no-brainer, but don’t buy into the corporate grind mindset; IMO, it’s unhealthy
  • Get to know your peers! If they’ve ended up in the same place you have, there will always be something you can learn from them, whether it’s about other companies or just gossip.

Addendum B - Course Placements

At Monash, there is an industry-based learning (IBL) program that lets you do an internship for around 6 months. You get paid around $19,000 as a scholarship instead of completing a computer science project. These are primarily companies in Melbourne, and the work can vary from making slides to proper development. Where you end up depends on your performance in the interviews and luck.

Under normal progression, the IBL placement is done at the start of your third (for a regular computer science student), replacing the computer science project. The internship starts in late January, meaning it may conflict with any summer internships if you’re in a 3-year degree.

As for whether this is worth it, that once again depends on what you make of the opportunity; while it is below minimum wage, you are gaining invaluable experience that can be hard to come across. On the flip side, if you were confident in your abilities to secure your own internship, then go ahead; however, you’ll have to complete a project-based unit instead, which will most certainly involve teamwork. Anecdotally, I’ve heard of a few of the IBL-partnered companies paying over 100K once you take a graduate role with them.

  • Alternatively, you can do both by using up the leave from either of the internships.
  • One opinion I’ve heard about doing IBL is that technically, you still have to pay 3,000 for enrolling in the unit, so you’re earning less than 19k, and an internship would be better.

Fourth year / Final year

If you’ve reached your final year of university and are having an existential crisis because you didn’t do an arbitrary amount of grinding/prep work, your best bet would be graduate programs if you intend to not delay the progression of your course. Graduate programs, on average, take in fewer students than intern programs, so they are inherently more competitive. Graduate programs usually have more rounds than their intern counterparts as well. As of 2023, the tech industry has shrunk partially because of economic conditions, and lending money is becoming expensive. The consequences of this include layoffs, reduced headcount for some teams, and more competition for roles. Australia is not as impacted as the USA. Still, it’s important to consider job prospects and how to make yourself a more competitive applicant.

At this stage, your options are mostly the same as in previous years: take any opportunity to apply or partake in opportunities because each experience gives you more feedback or something you can learn for the future. Graduate roles are open even 12-18 months after you graduate, so there’s always the following year/or the next 6 months because some places have mid-year intakes.

Conclusion - Part 1

There is much to note regarding landing a role in the tech industry as a university student. I intend to split this into four parts as follows:

  • Part 1 - The timeline
  • Part 2 - Becoming a better candidate
  • Part 2.5 - Crafting your resume
  • Part 3 - Tackling the interview process

To summarise this article, actively work to learn more about the industry and programming, talk to many people, and participate in events throughout the university. But most importantly, push your own limits, challenge your beliefs by trying, and if that isn’t enough, remember Gojo’s words, and imagine a future version of yourself who’s freely surpassed your limits. If you’re interested in learning more, you can always reach out to me :)

A future me (Domain Expansion) can surpass his limit