The two-sided marketplace nature of job seekers/jobs, how you should use it to your advantage, and how the explosion with remote work (in software engineering) is changing this balance for juniors & seniors.
Thread for anyone job searching now, or in the future.
The job market *always* starts from the companies who hire. They have the budget, and need someone with a specific skillset. They post a job, and get (and often also source) qualified applicants.
There's a huge difference between popular & unpopular ones though:
The job market is a "sellers market" when there are a lot fewer jobs than qualified ppl who want to apply or change jobs. Recessions are good examples of this (in software: 2001, 2008, and some sectors now).
When this happens, even less popular companies see a lot more interest.
It's a "buyers" market when there are a lot more job opportunities than qualified candidates: meaning even the more popular companies see less interest, and "normal" companies struggle to see just enough applicants.
Examples: much of the software sector 2001-2007, 2010-now
Based on whether a role is entry-level (little to no work experience needed), mid-level (a few years needed), or senior & above, there's (almost) always a transformation from a sellers market to a buyers market.
Simply put: there's rarely enough supply for senior people.
What all of this means so far:
- More popular/better paying companies always have a lot more competition
- The more senior you are, the less competition you typically see (but the less likely you want to typically move)
- If it's a seller's market, it's harder to get a job
So what does remote and remote from everywhere jobs do with the market? It's a wonderful thing we have these, right?
Well, before these jobs were here, locality (where you are based) and visas were a HUGE filter in all the above applicant pools: (via thetechresume.com)
This is the "old world". Any company that announces full-remote roles expands their base to hire from. This is great for the company, but actually makes it a LOT harder for you to get those roles thanks to bigger, and often truly global competition:
For entry-level positions (where there have already been *lots* of applicants), full-remote positions turn into even more competitive ones. Also: full-remote is a LOT harder to do with junior folks, so there's fewer such roles to start with.
For senior roles, there is more competition with remote roles as well, but there were not that many local applicants to start with. Plus, there are often more senior remote roles, given remote-only is easier to coordinate if you don't need to train people:
So how does remote work change the job market?
- It makes it harder for entry-level folks to get a (new) job, unless they really stand out or have referrals
- It might make it a bit more challenging for senior folks, but the increase in such roles probably offsets this.
How can you use this information for your advantage? 1. Know that remote roles get a LOT more applicants than ones "restricted" to a country, or for an office 2. Be aware how popular the company is you're applying to. Fix up your resume (thetechresume.com) & be realistic
3. Job searching is a numbers game. Try "shooting" to popular, less popular and not popular companies to see where you get to stand out. Not just companies, but roles as well, like @EvidenceNMedia did:
4. Know that the more senior you get, the more it becomes a buyers market where you have the advantage.
The first few years of your career: think of it as investment (especially if you have few options to start with)
5. If you are hearing back from the most popular places: amazing! If not: look for places where you can stand out, and have less competition. Find the hidden diamonds out there. Here's inspiration from @swartzcenter:
6. What will make you stand out at the places you want to work for, in two years? Can you do those things, or work at a place where you can do it?
Most people think of job searching in the present. Plan for the longer game. If you have a job now: what will you want later?
That's all.
Job searching is frustrating: we've all been there. You can fume at it: or you can try to take a step back, understand this complex web of companies and job seekers, and capitalize on insights few are aware of.
7 mobile eng industry predictions after months of research for my book, Building Mobile Apps at Scale:
1. Kotlin Multiplatform will become the de facto *native* way to share code between iOS and Android. KMM is maturing rapidly & is easy for iOS engineers to also pick it up.
2. Flutter will become the most popular way to build cross-platform apps.
The only downside is having to learn Dart. Otherwise, it's fast & tooling is solid. Google has gone all-in, building many of their own apps 100% Flutter. Cannot say the same with RN & other alternatives.
3. Full-native mobile development is not going anywhere with large apps with millions of users.
Having full control of the UX & the ability to immediately make use the latest APIs will be key for many apps and platforms.
Flutter, RN, and others will not take over all the space.
One of the best engineering manager job adverts I've seen.
1. No unnecessary requirements beyond "having done some level of a similar job" 2. A very clear 30-60-90-180 days plan (the majority of the ad) 3. A salary range 4. Paid the same wherever you are based (even outside US!)
I assume decent job ads like this (that also offer terms that should be standard but are not, like remote, with the same, NY-like salary) will get lots of applications.
I heard the team is split between the East Coast and EU: I assume the timezone will be important.
Just know that honest job ads like this can generate a LOT of interest. Take it from @dhh - Basecamp saw 400+ applications for a senior engineer: m.signalvnoise.com/the-worst-part…
Two small reasons to consider working at a company that has a high-quality engineering blog:
1. A sign of a transparent engineering culture (important!)
2. Some of your work & impact can become public (writing on the eng blog), possibly creating future opportunities for you.
High-quality eng blogs:
- Share in-depth details about eng challenges, approaches, learnings.
- Talk about (internal) tools used & specifics. Often with screenshots, code samples.
- *Always* display names of the engineers authoring the post
A company with a high-quality engineering blog typically:
- Supports engineers attending engineering conferences, talking about their learnings
- Has much larger internal awareness of who does what ("have you read their blog post?")
- Can attract industry-known talent more
I've been tiptoeing on software engineering compensation in the Netherlands and Europe because... I was on the high end of it. Me and many others.
I'm starting to talk about how this system works, starting with why compensation is "tripolar". And why this is important (cont'd):
Silicon Valley is having a *huge* effect on the market going up. It might also help reverse people leaving from the EU to the US to make massive salary gains, now that the "top of the market" is going up. By a LOT.
Don't take how important it is to talk about salaries from me. Take it from a DM from a person who told me he wished he knew about these things *years* earlier.
In the best engineering organizations, engineers tend to get a lot of support from managers. And it works!
But I've yet to see a place that gave *proper* support for the frontline managers supporting their teams. It works for a while: until these managers burn out and leave.
"Proper support":
- Mentors in the org for line managers
- Team meetings with the "manager team" that's both a safe space to vent, and to take action
- Involving EMs in top-down decisions that will hit their teams
- Running retrospectives with the EMs, and acting on them
While I know a *lot* of frontline engineering managers who are amazing at taking care of their team, managers of managers and directors suddenly "forget" to do the same with their EMs.
Directors will often assume EMs don't need this. On the medium- and long-term: they would.
LinkedIn built their own crash reporting solution, and explain why they did it, and what benefits they saw.
2. At Uber, similar to LinkedIn, the mobile platform team built an internal crash reporting tool called Healthline that supported signals like ANR, non-fatal, OOM and memory leaks.
It was/is a really nice tool, with many internal integrations.