How I got my job
Interviewing for software jobs suck #
Like many new grads looking for work, I spent some time applying for jobs, and
interviewing. Coming from a non-software engineering undergraduate, I knew I
was already a bit behind on some basic skills and education. So I went with a
shotgun approach, firing at positions all over the continent. My work
experience is very broad, having done work in a pulp and paper research lab,
to being a quality engineer for a large telecommunications company. The way I
viewed it, my past work experience showed that I am very capable in picking up
a new technical skill. Software jobs are a completely different beast.
The typical dance for anybody applying for a software position usually
involves the following: * feeling bad about yourself when all junior positions
ask for 3 years of experience * look up how to learn algorithms as quickly as
possible * try memorizing algorithms * think about taking the unpaid
internship for experience * look at coding bootcamps
Okay maybe that's a bit biased since I didn't ask anybody else what their
process was like. But for me, those were some of the thoughts in my process
for applying for jobs. I should preface all this by saying the only software
class I took in school was one on Object Oriented Programming, in C++. All my
other experience consisted of writing code to do things because I wanted
something done. Like scraping websites, or repeatedly refreshing the course
website to try to register for a class that was full. So when I figured that
most of the job applications would require me to do some technical challenge,
I spent some time learning how to pass those. This consisted of reading many
blog posts, and writing code in a specific way. I guess it's quite similar to
learning math, you do things a certain way, then figure out there is a trick
to it all.
Somewhere along the line of applying for jobs, you will feel bad about
yourself if you're not the best programmer in the world and getting job
offers. I applied to 91 jobs, and only heard back from 21 of them. Sure
this isn't big enough of a sample size, and maybe it was my fault for applying
to jobs that I thought were cool, and not ones that I were qualified for, but
nonetheless the reply rate isn't that appealing. It's pretty much like going
around asking the pretty girls out, and then just getting stone walled.
All while applying for jobs, I was also still continuously coding, and just
doing things I thought were fun. I was lucky to not be in the position where I
needed to work to survive, since I had money saved up and didn't have to do a
minimum wage job to survive. But at the same time, you're left with the
constant thought of, "I went to school for 5 years and somehow nobody told me
it would be this difficult to find a job". I was applying to a plethora of
jobs, having skills in both mechanical and electrical engineering, but also
willing to do software. This sounds like it would be ideal for a generalist
type of role in a company that makes software that interfaces with hardware
right?
Trying something new #
Somewhere along the way I also worked with a friend, starting our own company
in an attempt to build a commercial product and bring it to market. This
was my first taste of being my own boss, and essentially doing work that I
wanted to do. It was a great experience, and it really showed how difficult it
is to sell things. We went through the whole process of building a prototype,
bringing the prototype out to real people and asking for their opinions, and
then revising. In the end, we reached the point that in order to bring it to
market, we would need money for the production run. Obviously we all knew this
would be the large roadblock, and the thing we never really looked too much
into. Finding investors required a lot more business acumen that we had, and
even when we found investors, the move forward was much slower. Building
prototypes with a 3d printer and molds in my garage worked for a handful of
units, but the design process was completely different. To keep things short,
we needed much more money than we were willing to put in ourselves.
After that little detour I went back to looking for work. Career work as some
like to call it. I continued to write code, and do fun projects like
http://tellmeabout.coffee/. Picked up some freelance work doing web scraping
and data warehousing. (Sorry if these terms are all just made up by me) I also
started thinking maybe I could apply for support related roles, and then
transition into a more software engineer role. This lead to me writing a lot
more, and trying to show that I could be a technical support worker, hence the
various tutorials I had written up in different languages.
Luck of the draw #
Well we get to the meat of the story, I got lucky and was contacted by a
company that wanted me. Yeah you heard that correctly, I was the one being
contacted and not the other way around. It was a pretty strange process, being
contacted by another developer, and then interviewing and then ending up as a
remote contractor. Somewhere along the lines, I decided I was a software
consultant since I wasn't an employee and I was writing code to solve a
specific task. The situation is that the other developer was also near me, and
they were looking for another backend developer to work with. Somehow I became
that backend developer, and began working in Python on building backend tools
for the business.
But really, I was just lucky. I also persisted and waited, but I understand
most people aren't in that position. After having going through all that, I
think what is important is to always be looking, for whatever might lead to a
possible lead. Doing freelance jobs here and there helps to build your
network, but it also builds confidence that you are doing something that
people will pay you for.
Somewhere while writing this, I realized I should compile a big story of my
life.