
I’m going to tell you exactly how I would learn to code today, if I were
starting all over again. No prior knowledge of coding is required!
But,first, I’m going to tell you my story, so you’ll avoid my biggest mistake, a
mistake so bad that I didn’t get a full-time, salaried job as a software engineer
until 2021, more than 23 years after I started programming.
I taught myself to program at age 9 when, during a Christmas vacation to
my grandmother’s home, I discovered an HTML textbook in a bookshop.
I was definitely the kind of kid to love reading, especially video game
manuals, and this was a gateway to a whole new world of creativity.
Over the next few years, I led my middle school team to compete in the
national championships of HTML coding as part of the Technology
Student Association, since my project had won third place in state competition.
Then I landed my first “professional” web development gig, though I don’t
count it as when I started my “career” since I was too young to legally work.
In my early career, I was told my tech stack and “marching orders” from my
bosses and teachers, so I had to become a generalist programmer.
That was immediately a problem when I discovered that research wasn’t
a good fit, and — after a year in a PhD program — I entered the job market.
First, there were only a handful (less than 5) job openings available for web
developers or programmers back in my hometown of Richmond, Virginia.
Second, of the jobs available, most of them wanted 3–5 years of professional
work experience, typically PHP but also Java.
I would never work with Java for any price, and I have no idea why they
forced it down my throat in college, so that left the PHP job.
I had been building full-stack apps with PHP (and its cousin ASP) for a while,
and the World Studies’ film database was still available.
However, I didn’t have any years of “full-time work experience” with the job
title of “software engineer,” so I shrugged and went back to freelancing.
The next year, I joined an adult men’s tennis team and reconnected with
Shom, a friend from the Bioinformatics Master’s program.
He was working in some local job using his degree, relating how useful it had
been to be an intern to get work experience in his college “externship.”
That sparked a memory of another Master’s student acquaintance of mine
who had also done the “externship” to get work experience.
As I was on a research career track, I did the “thesis” option, and worse than
that was the fact that I hadn’t just graduated with my master’s.
While “new grads” are usually considered for jobs, hiring managers seemed
to consider me an unemployed person with shallow skills!
I didn’t know it at the time, but — simply by learning a ton of different tools
— I had myself much less attractive as a job applicant.
This was before “data science” was a separate career, but I still couldn’t
stomach processing health or insurance data all day as a bioinformatician,
so that option was off the table. I wanted to be building sites and apps.
I had a successful career as a freelancer, continuing on as a consultant web
developer focused on search rankings and marketing., and it supplemented
my sports medicine income as I pursued both careers simultaneously.
However, I made a crucial mistake, one I don’t want you to make!
(No, I’m not talking about how I could have worked at Facebook or Google if
I had just moved to Silicon Valley instead of staying in Richmond, VA.)
My mistake was thinking that flexibility matters as a programmer. I was
mistaken in thinking that I should just learn whatever tech I need to.
That is not what people who hire senior software engineers want!
Hiring managers want experts: specialists that have a proven track record of
making an impact with a certain set of tools in their full-time positions.
No comments yet. Be the first to comment!