Breaking into engineering
A breaking a blogging dry spell :D I spent so much effort on this email, it'd be a shame to let this go to waste
This commit is contained in:
parent
fdde7ce77d
commit
aa579c8c3b
|
@ -0,0 +1,103 @@
|
|||
---
|
||||
layout: post
|
||||
title: Tips for breaking into Software Engineering
|
||||
tags:
|
||||
- opinion
|
||||
- leadership
|
||||
- software
|
||||
- software development
|
||||
---
|
||||
|
||||
I was recently emailed by a new friend asking for some tips on how to break
|
||||
into software engineering. I *love* emails like this for two reasons: I really
|
||||
want to help everybody be successful in this industry, and I think we need more
|
||||
people from "non-traditional" educational backgrounds to enrich the industry.
|
||||
Since I had some _scarce_ free time, and I ended up writing them a novel of a
|
||||
reply, I wanted to share my tips with anybody else for whom they might be
|
||||
useful!
|
||||
|
||||
My new friend, let's call them Sarah hasn't been working in the tech industry,
|
||||
but has lots of experience in managing a business and working directly with
|
||||
people. They asked (paraphrased):
|
||||
|
||||
> I am looking to break into a programming job, I've done lots of Perl and
|
||||
> Python scripting for automating mundane tasks at work before and in my hobbies.
|
||||
> There's still a lot I still need to learn, but what suggestions would you have
|
||||
> to start re-orienting my career?
|
||||
|
||||
|
||||
Below is my advice almost verbatim.
|
||||
|
||||
---
|
||||
|
||||
My advice would be to look down one of three avenues for breaking into the
|
||||
software industry given your background and current level of experience:
|
||||
|
||||
* QA/Test Automation
|
||||
* Data Scientist / Analyst
|
||||
* Infrastructure ("DevOps", which used to have a real meaning)
|
||||
|
||||
|
||||
I have worked with a number of folks that have broken into Engineering by way
|
||||
of QA from let's call them non-traditional software engineering backgrounds.
|
||||
The benefit of folks like you is that you have good people skills, high levels
|
||||
of user empathy, and haven't spent the last decade in the narrow
|
||||
user-experience silo that most developers have. In many of these positions
|
||||
people will find themselves writing integration, Selenium, or Appium tests
|
||||
which are commonly Python, and might match well with some of your existing
|
||||
experience and desires. I have seen this job position also described as
|
||||
"Software Development Engineer in Test" (SDET). From the QA organization, it's
|
||||
easier to train up on an existing code-base, and the motivated individual can
|
||||
start fixing bugs, rather than just filing them, beginning a transition into a
|
||||
more traditional Developer role.
|
||||
|
||||
|
||||
Data Scientist / Analyst or even a "Machine Learning Engineer" are all really
|
||||
people that don't typically have a software engineering background, but are
|
||||
good at smashing scripts around to get the answers they want from data. Knowing
|
||||
SQL well enough is usually a pre-requisite, but that's something I am sure is
|
||||
within your reach. These positions are poorly defined and the interestingness
|
||||
of each company may vary widely. Sometimes they're in the Engineering org,
|
||||
sometimes they report under CFO or COO types, so it's kind of a crapshoot if
|
||||
your ultimate goal is to transition into a classic Developer position. That
|
||||
ambiguity can also be to your benefit because if the Finance org is
|
||||
interviewing you, your bar is going to likely be more focused on communication
|
||||
and people skills rather than raw technical experience. At the end of the day,
|
||||
it kind of doesn't matter how sharp of a programmer you are long as you are
|
||||
able to read the tea leaves of data effectively for what the business needs in
|
||||
these roles.
|
||||
|
||||
|
||||
Infrastructure engineers used to be called sysadmins and were ornery bearded
|
||||
dudes who wrote Perl, they have all since had to reform and learn how to write
|
||||
Terraform and work with other systems. The benefit of the infrastructure space
|
||||
is that it's really a job of gluing things together rather than creating
|
||||
software from whole cloth. Your existing experience might be the weakest here,
|
||||
but the scripter background bodes well for jump starting on some of the many
|
||||
online training resources that are available in the Infrastructure space. I
|
||||
don't give much credence to certifications, but training up for an AWS
|
||||
certification would likely give you the fundamentals you would need to get your
|
||||
foot in the door in many infrastructure organizations.
|
||||
|
||||
|
||||
Lastly, everybody is remote, that is to your advantage and disadvantage. That
|
||||
means your hiring pool extends far beyond your current location. But that also
|
||||
means you may be competing with folks who are able to command a lower price
|
||||
because they live in Nowhere, Indiana.
|
||||
|
||||
My career has been defined by startups, and the benefit of many of them is that
|
||||
their hiring processes aren't rigorous and formulaic like a Google/etc, and
|
||||
people with gumption can go really far in these types of organizations.
|
||||
|
||||
Depending on the direction you want to go, I would also recommend tailoring a
|
||||
resume to that end rather than submitting your CV. I can help provide some
|
||||
guidance there.
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
I hope this is helpful to anybody else looking at breaking into the Software
|
||||
Engineering space with some scripting experience. I'm happy to help review
|
||||
resumes, give pointers, or in any way my capacity allows, just shoot me an
|
||||
email!
|
Loading…
Reference in New Issue