A seasoned software engineer, recently laid off from big tech, reflects on the drastically changed landscape for junior developers and offers practical advice for aspiring tech professionals to navigate a highly competitive job market.
Mind Map
Cliquer pour agrandir
Cliquez pour explorer la carte mentale interactive complète
Hello world. I'm a software engineer
who's been recently laid off from big
tech with over 25 years of experience in
the tech industry. So, I've been getting
a lot of questions and comments from
young guys in college who are studying
computer science about how to get into
the tech industry and whether they
should continue pursuing computer
science and tech or not. Now, this takes
me back to when I was a junior engineer
fresh out of college. It was a different
world back then. Back then, just showing
your sheepkin diploma was enough to get
your foot in the door in many tech
companies. I remember I had just
accepted and joined a consulting
company. And the very first project that
they dropped me onto was a CMS site that
was about to be launched within a month
for a major telecom client. Being a
junior developer, I was put onto bug
fixing duty almost immediately. There
was just one problem though. I didn't
know anything about professional
software development. Yeah, I have a
computer science degree, but that didn't
even teach me the basics. Like for
example, how unit tests work, how
mocking of data works, how a runtime
debugger works. I didn't even know like
the basics of libraries and dependency
management in the Java language. As
such, I soon got into the state where
defects that I fixed would like fail in
higher environments. The squad that I
was dropped into was incredibly helpful
and understanding. Once I remember this
unsupported major minor version bug, I
was stuck with this bug for literally
hours. Basically, this issue happens
when a version of a library that you
compiled your code with isn't matching
the version of the same library in the
runtime environment of that code. But I
didn't know that as a junior. So, I just
kept debugging and debugging. I got to
the point where I was like trying to
explode this Java library package and
looking at the class files inside of
that package. Now, the build master on
the squad, let's call him Dimma, Dimma
was a really friendly and helpful guy
who had this curious habit of telling
really pessimistic jokes. Oh, and by the
way, imagine a build master as a person
who did the same tasks as what a modern
CI/CD pipeline would do today. So, Dimma
came and asked me how I was doing. So I
told Dimma, "Hey man, I'm exploding this
library package to figure out this bug."
And Dimma laughed. He explained to me
what this bug was and how to fix it. And
then after that, for the entire duration
of this project, I became known on the
squad as the guy who exploded his
package. I had my first go live launch
night with that project. I remember
staying up with the team until the early
hours of the morning fixing one
production launch gating defect after
another. I learned from my first tech
lead, let's call him Naga, what it means
to be a production cowboy. So after
around midnight, we sort of hit a law in
this go live where it seems like high
severity defects were all squashed. At
that point, Dimma, the build master,
decided to go home. He thought he had
enough for the day. But right after he
left, we found just a flurry of launch
gating defects. And I keenly remember
Naga furiously modifying config files on
production servers directly manually to
get this whole thing to work. Now, Naga
may not have been the most disciplined
software engineer, but he was a fine
tech lead and just a great human being.
Finally, around 5:00 a.m. in the
morning, all the production bugs were
squashed and the site was safely
launched. And I remember Naga telling me
that morning, "Hey, the most important
thing isn't fixing the bugs. The most
important thing is to learn from them
and to have fun doing it." It was a
crazy time being a junior engineer just
starting out. I had this cocktail of
emotions, fear, excitement, anxiety,
hope. I had massive, massive imposttor
syndrome. But at the same time, I had
this burning desire to improve, to
master my craft and make my way in this
world. Over the years, as my career in
tech progressed, I always had the
support and guidance of leaders and
mentors like Naga. So, as I rose through
the ranks, I tried to pay it forward. I
did that by mentoring many junior
engineers. And at my most recent
employer, I had the privilege of running
several summer internship programs. For
junior software engineers today, the
broader environment that they're
launching their careers into could not
be more different from the one that I
experienced. First, there are just way
more engineers on the job market. All of
this learn to code stuff from the
government, from big tech leaders, from
universities, they really produce this
huge saturation of engineering
graduates. So these junior engineers now
face a job market where their college
degree is worth astronomically less than
what it was a generation ago. To just
get a job in tech, junior engineers now
have to compete with practically
everybody for the limited pool of
entrylevel opportunities. They're
competing against experienced mid-level
engineers, right? both those that are
currently employed and trying to keep on
and hold on to their jobs, but also
those laidoff engineers who are willing
to essentially demote themselves and
work entry-level jobs. They're competing
against offshore engineers who can work
for much lower wages. They're competing
against senior engineers and architects
who are able to develop with much
greater productivity given the set of
generative AI tools available. And in
big tech, they're even competing against
data centers filled with GPUs for these
slivers of corporate budget. And ironically,
ironically,
I'm noticing that these new engineering
grads, their knowledge and capability is
vastly superior to what I had coming out
of college. In a summer internship
program that I ran a couple of years
ago, there was this one college intern.
This guy literally architected and
implemented and deployed a cloudnative
web application that was useful and used
by the company. And after the internship
ended, he still didn't get a position.
Even though I pushed for him, there just
weren't enough entry-level positions.
And even when a junior software engineer
does get a job, it seems to me that
today there's less of a support network
for them. and seemingly every incentive
to discard them as soon as possible. So,
it seems to me that the tech industry
has somehow evolved into this machine
that is willingly wasting the potential
of an entire generation of smart and
talented engineers. This feels kind of
like an injustice to me. You know, my
son is STEM inclined. He's a teenager
and he just recently pushed his first
PRs for a project that he was
contributing to. So the question of what
to do about this has really been on my
mind these days. As such, I want to
share some coping strategies to help
junior engineers get into tech. With my
experience in the industry, each one of
these strategies should move the needle
at least a little bit. So let's get
started. Be true to yourself. So if
you're studying computer science in
college and you have a passion and a
desire for it or if you just sort of
like it then keep doing it. But say you
are not really interested. Say you don't
like it. Maybe you even despise it. Then
why are you learning computer science?
If you're doing it because of parents,
family expectations,
because all the bonkers money, Tik Tok
videos about the lifestyle,
I would urge you to reconsider. If your
inner self truly wants to study or
pursue something else,
please don't betray that inner voice.
I've met a lot of people through my
career that didn't like computer science
at all but still pursued a career for
those external reasons and it's a source
of deep regret. Say you like computer
science. Next is to build your eminence.
That means while you're still in school,
try to showcase your work. And by your
work, I don't mean like some portfolio
of websites that you just built yourself
and you're hosting yourself. What I mean
is work that is recognized by
institutions, companies, and
organizations. Imagine building software
for your university or for a nonprofit
organization or contributing meaningful
software to a free open-source
framework, joining meetup groups and
giving lectures, joining hackathons and
winning those hackathons. These are
demonstrations of your eminence that
will matter. You want to maximize the
value of internships. This is because
internships, while being not a guarantee
of a full-time offer, is nevertheless
astronomically more likely to land you a
full-time job than just cold applying to
jobs. You can try to get internships by
applying to school boards, careerfires,
through your alumni networks, and
through professional networks. If you
didn't land an internship,
you should try your hardest to apply for
jobs. And what I mean by trying is make
sure your resume is professionally
reviewed and polished. Make sure to
practice those lead code and hacker rank
questions and get good at it. Make sure
to do mock interviews so that you're
used to that interview environment. To
maximize your chances of getting a job,
try to apply to a broad range of
companies, not just tech companies, but
also non- tech companies. What you're
looking for is a technical software
engineering role, right? That role can
exist in non- tech companies, and that
technical job is what's important for
building your experience. If you're not
getting any hits for software
engineering roles, you should consider
applying to adjacent roles. When I say
adjacent roles, I mean roles like QA
engineer, data engineer, sales engineer,
DevOps engineer and others. And then
once you get that adjacent role, you can
then gradually move yourself into the
software engineering field. Finally, I
urge you to be flexible about the nature
of the job itself. Suppose you can't get
a full-time tech job with a big tech
company. You should consider other forms
of work like partnerships,
gigs, being a solo entrepreneur, and
starting your own project,
being willing to say move to a different
location or even a different country for
a similar role. So, if you're flexible,
you get more opportunities.
Be flexible. Be like water, my friends.
And that's it for my coping strategies.
I make no promises, but I believe for
most of you, if you try these tactics,
it'll move the needle for you. I hope my
rant on this subject has been helpful.
If you have a morbid curiosity to join
me in this post big tech layoff life
journey, feel free to subscribe to my
channel. And by the way guys, I'm
starting to like making these vlogs. It
gives me something to do. Seems quite
meaningful even and it's just nice. So I
think I'll make more of these videos in
the future. If you want to support my
vlog making efforts, please consider
joining as a member of this channel.
Anyway, thanks so much for listening.
Take care and see you guys next time. Bye.
Cliquez sur n'importe quel texte ou horodatage pour accéder directement à ce moment de la vidéo
Partager :
La plupart des transcriptions sont prêtes en moins de 5 secondes
Copie en un clicPlus de 125 languesRechercher dans le contenuAller aux horodatages
Collez une URL YouTube
Entrez le lien de n'importe quelle vidéo YouTube pour obtenir la transcription complète
Formulaire d'extraction de transcription
La plupart des transcriptions sont prêtes en moins de 5 secondes
Installez notre extension Chrome
Obtenez les transcriptions instantanément sans quitter YouTube. Installez notre extension Chrome et accédez en un clic à la transcription de n'importe quelle vidéo directement depuis la page de lecture.