If you’re interested in software development and looking to make a career out of it, it can be extremely daunting from the outside looking in. What do you learn first? What kind of job do you look for? How do you know where to start?
Most people don’t really have much idea as to where they
should start.
That’s because this field evolves much faster than all other
fields. Developers don’t learn skills and then sit on those skills for years,
part of a developer’s job is to keep learning continually. This is what many
people miss.
People often come ask my advice on how to start a career in
software development. Sometimes it’s younger people fresh out of school or
university, and sometimes it’s people who have already spent a few years in a
different career and they’re looking to make a change. Software development as
a career has many appealing traits – it is stimulating work, it can practically
be done from anywhere, it’s very fulfilling to create something out of nothing,
and of course it is a great financially-secure career path.
I have therefore put together my 5 top tips below for anyone
who is considering software development as a career, but not sure where to
start:
1. Choose your tech stack
No one is an expert at everything, and this is especially
true in software development. When it comes to deciding what tech stack to
learn first, consider the following:
- Are
you more interested by front end or back end? These days, the lines
between front end and back end get more blurred as both front and back end
typically deal with different levels of functional development (especially
when it comes to APIs). A general rule to go by is that the front end
deals more with the UI – how your app looks, controlling the user journey,
visual effects, etc – whilst the back end deals more with data and
application logic. Both can be great, lucrative careers – it depends on
what interests you the most.
- What
kind of software development job are you looking for? The corporate world
is typically more conservative and they stick to the well-established
giants like .NET, Java, or Python, whilst smaller/younger companies are often
willing to adopt newer exciting languages. My advice is not to be too
cutting edge or too boring either – pick something mainstream that has
good community adoption, good job marketability, and is also stimulating
for you to commit to. At FuseBox, we most often develop our front-end
applications in React (or a react-based framework such as Next.js or React
Native) and our back-end applications in Laravel. Some might consider that
to be a strange combination, but it gives us a great range of in-house competencies
on 2 extremely robust tech stacks.
2. Start with the basics
There are many incredible frameworks and tools available
today to help us develop our apps, but it’s important that you learn how to
code first without them. Otherwise, you’re not learning the language, you’re
learning the framework. This applies in almost every tech stack – eg: before
learning React, learn JavaScript. In fact, if you wanted to learn how to be a
React developer, I would recommend learning the following (in this order):
- HTML
- CSS
- JavaScript
- TypeScript
(optional, but recommended)
- React
3. There’s a mountain of knowledge to consume and you’ve
got an ice-cream scoop
Don’t underestimate the level of commitment that will be
required of you to become a competent software developer. People often think
they can just do a quick tutorial and suddenly be a developer, but it doesn’t
work that way. At FuseBox, we generally take interns on an intense 1-year
programme to go from absolute basics to being ready to take on projects on your
own. Not all of our candidates make it, but if you’re willing to put in the
hours, it pays off!
4. If you can’t look back at code you wrote a year ago
and cringe, you’re not developing your skillset fast enough
Software development is a constantly evolving skill. It
doesn’t matter how long you’ve been in the game for, this rule applies. I’ve
been a software developer for 14 years and this rule has still been true for me
time and time again. So don’t be afraid to write code and figure things out
along the way – it’s the only way for you to learn from your mistakes and
improve as you go along.
5. The internet is your friend (most of the time)
I’ve never met a developer who doesn’t google basic syntax or principles several times a day. We don’t have to know everything, and we certainly don’t have to remember everything. I often google how to do things or look up a syntax that I haven’t used in a while. When my app doesn’t work and I can’t figure out why – I google how to fix it! A little-known secret among the entire IT industry, we’re really just excellent at looking things up online. So don’t sit struggling on your own and don’t be ashamed to ask or look-up basic questions – even the most senior developers do it all the time!
I hope that the above helps any aspiring software devs out
there. If you have any questions, please feel free to ask! I'd also welcome
your thoughts and feedback on this article.