Entry-Level Software Engineering QnA
A close friend of mine who has no background in software engineering recently asked me a series of rapid-fire questions about how to get a foothold in a software engineering career.
Here’s their questions and my answers:
Physical bootcamp or online course? If Bootcamp, which bootcamp?
Well, let’s review your alternatives: you could apply for jobs right now–with whatever programming knowledge you have.
The worst they can do is say “no”–the absolute minimum they’ll do is give you very explicit, direct guidance about how you can come back next time with a better shot at getting the job
- Would having proof that you’ve learned with Python have helped?
- Are there non-“engineer” job titles that will help you get in the door and on the track to leap-frogging to an “engineer” job title after this one?
I’m dodging the question, but online/physical bootcamps are chasing your money.
Unless they can prove that they’ll place you into a job and have a track record that proves it, I would be skeptical that they can do anything for you that you can’t do yourself.
When it comes to paid online content, spend 5 more minutes on Google trying to find a free version of what the paid online content advertises offering you.
You will be blown away at how much free content there is.
Go to Reddit, StackOverflow, Quora, and jobs listings to get a sense for what the job market is looking to pay people for knowing.
Which languages to start with?
Totally depends on what you discover you would like to work on.
- Frontend development? JavaScript.
- Backend development? Python is a great, easier to learn language.
I looked up frontend vs backend and frontend seems much more interesting to me. Backend seems a little dull - is this the case? With frontend you get to see a pretty visual of what you’ve created right? Python is backend?
Your intuition is right—frontend you get to see visual results very quickly, although there is some tediousness to the work after a while as much of the work can come down to your site looking right on iPhone but not on Android—that type of thing. Frontend also can encompass making native mobile iOS and Android apps (not websites) and building their user interfaces. This can be a good route—usually starting with specializing in one of the two (iOS or Android).
That being said, I think building native mobile apps is harder than building websites (to start with). Anyone hiring for iOS/Android apps will definitely want to see/listen to you describe what you’ve worked on before—worth looking into what that process looks like! And perhaps reaching out to people in your network who do that to find out what their day-to-day looks like
How much experience do you really need?
To get a first engineering job?
Portfolio?
Not tremendously helpful nor a requirement–references have a bigger effect on your getting the job.
What roles to apply for?
What companies do you want to work for? Send me a link to a jobs listings page and we can look at them together
Good resource for getting some practice to see if it’s something I’d enjoy?
Khan Academy actually has some great stuff
Coursera/EdX tend to not be as good–professors are not super great at teaching skills that will be valuable on-the-job immediately
Developer vs Engineer vs Programmer?
Developer and programmer job titles tend to be paid a bit less engineer–not exactly sure why.
What is full stack? Most versatile?
It just means “familiar with multiple software technologies”–e.g. you can make nice-looking webpages as well as store/retrieve data from a database, two very different engineering skills.
Do you need to be good at Math?
Nope. You really don’t–it only helps for a small segment of the software engineering job market.
Any on the job learning opportunities you’ve heard of?
DEFINITELY.
Don’t filter for job titles that have the word “engineer” in it–my first programming job was as a “technical analyst.”
I know tons of stories like this (of people being paid to learn to code in their job, but not necessarily as a “Software Engineer”).
A lot of job titles with “growth” in them will also pay you to learn to code.
Lots of things that can be automated and you can see immediate value from knowing how to code in that kind of role (since it’s your own time you are saving!).
Do you think I could or would enjoy coding?
Only one way to find out :) I think that you will
There’s usually an “ah-hah” moment when you build your first “thing”
It could be a webpage, it could be something that automatically updates SalesForce.
It’s pretty neat to realize what is possible once you aren’t relying on someone else to write software for you.
When applying for jobs, do you think self taught is less valuable to employers than “official” training?
Self taught is more valuable to employers, under many circumstances—I’ll elaborate more in a little when I’m back at a keyboard
If you’re interested to hear more about the topic of software engineering careers then check out the interviews at the Accidental Engineer, hosted by yours truly!