So here's my advice in a vacuum:
- I heavily recommend doing something on the front-end as it's far more concrete to non-technical people, especially recruiters.
- When you're doing something visual like a mobile app or website, it's far easier to share it and get a meaningful amount of users. This makes impact far clearer to both hiring companies and yourself. I reaped huge benefits doing this by building Android side projects that got millions of users in my free time.
- For whatever stack you choose, lean towards the industry standard. So for Android, write in Kotlin, for web, write in TypeScript/React, etc.
There's also several other more pragmatic angles to consider like:
- What companies in your region are looking for
- The pay scale of certain stacks vs. others
- The amount of competition in a stack
I am looking for a Software Engineer role in big techs.
For Big Tech in particular, they simply don't care what tech stack you have used, especially for junior engineers. Here's the reasoning behind that and what you should optimize for instead:
- If you're a junior engineer, you're almost certainly not good with that tech stack anyways, even if it was more "cutting edge".
- Even if you were to choose a more relevant stack for some Big Tech company, there are going to be so many other applicants who are trying to game that same angle that it's impossible for you to stand out with that alone.
- Big Tech companies are so gigantic that they use pretty much every conceivable tech stack possible. This leads to them hiring engineers based more off of their fundamentals vs. their knowledge in 1 particular stack. Even though I went to Meta to do Android, my interview was only ~20% specific to Android. The vast majority of my interview was very agnostic.
- The best way to impress Big Tech companies is to build projects that actually have a ton of users. Let's say you build an Android project using some modern framework like Jetpack Compose and you apply to an entry-level Android position at a Big Tech company. I guarantee you that 100+ applicants will have similar projects - You would not look special at all. However, let's say you published your project and got 10,000+ users on it. Only a small handful of applicants will be able to claim the same, and you are now instantly competitive. This is how I was able to get reachouts from Instacart, Square, and Uber (all very prestigious companies that could go under the label of "Big Tech") from my projects.
At the end of the day, you should build something you're passionate about. The #1 failure mode with side projects by an astronomical margin is losing motivation and not seeing them through to the end. This is hugely mitigated when you work on an idea that genuinely gets you excited. Here is our 1 hour+ masterclass about how you can come up with a great side project idea.
Lastly, I highly recommend my step-by-step guide to building an impressive software project.