Getting into a software career

Tips for learning to code and beginning a career in software.

teams
career
software
Mon Jun 29 2020

My journey

I began my software career at the age of 18. I was fresh out of Sixth Form, enjoyed playing music in a band, but really didn't know what I wanted to do next. I had always enjoyed using computers, so decided last minute to start an Open University course in computer science. I had no previous programming experience, so started to mess around with Java in Eclipse, building my first Hello world! and basic math calculation console apps. At the same time, I approached a .NET software consultancy company in my area that I found online and asked if I could come in for some work experience to see what it was like. I'm super grateful that they agreed and gave me the opportunity to learn on the job (shout out to Purple Tuesday). I was bought a PC for the office and started coming in for 2 days a week to learn whatever I could. After a few months I was offered a full-time job. I started to work on small parts of real client projects where I could, and continued to learn from my colleagues. This is where it all began! Although I decided not to complete the degree, looking back I believe that the real world exposure and experience I gained has been far more rewarding and aided me in my career.

Several years later, I've worked on a wide range or projects, used a variety of programming languages, and have contributed to some open source packages. I'm currently working in a senior software engineering role at Pickr, an exciting startup disrupting the UK telecoms industry.

I'm writing this post to explain why you should also consider getting into a software career and how to do it.

https://images.unsplash.com/photo-1569748130764-3fed0c102c59?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb&ixid=eyJhcHBfaWQiOjYzOTIxfQ

Why get into software?

There are a number of reasons that software engineering is a great career choice. Here are just a few.

Problem solving

Learning to code will be right up your street if you're someone who likes to be challenged. I've been writing code pretty much every day for the last 7 years and every day I've had to solve a new problem and learn something new. Once you pick up a programming language, you realise the actual code is reasonably trivial, but it's the problem solving which is the interesting part!

Creativity

There often isn't a single right way to do something. One outcome can be achieved in various ways. For example, there are a large number of JavaScript frameworks, each with their own advantages and disadvantages, but all can be used to build a website with the same content. You have the creativity to make decisions on how you are going to build something, and how your code will be written.

Salary

It must be said, software engineering is a highly sought skill. Companies are willing to pay for good engineers, so with the right attitude to personal development you can work towards a very admirable salary.

Ever changing

The world of technology changes fast. Every year new technology is developed and this constant innovation is exciting! Newer, faster, better ways of building websites, apps and other software are rapidly changing the world we live in. There are great communities to be a part of in the software industry, and people strive for continued improvement and innovation.

Remote work

Another benefit of being a software engineer is the ability to work remotely. Not all employers will allow this, but a large number will (I think COVID-19 has really given the nudge to a lot of companies to facilitate working from home). Of course, you can also work remotely as a freelancer. This isn't for everyone, but for me it's great; less commuting and more time at home with my dog!

If you're interested in some tips on working from home, check out my blog post here.

How?

You might be wondering "so how do I get into a software career?". I had the same question when I started learning to code. The great thing is, there is no better time!

Low barrier to entry

Software engineering has a very low barrier to entry these days. All you really need is:

  • A computer of some kind
  • An internet connection

If you're truly a beginner, I recommend learning to build a website from scratch. First learning HTML (to create the building blocks and content of a website) and then CSS (to make it look pretty!). Once you've got some skills in these languages, move on to JavaScript) which is the language your web browser uses to make your website interactive. To get started:

Get some experience and/or a mentor

As I mentioned earlier, my first step into a software career was to get some experience. I didn't really know anything about coding or building software, but I really believe this gave me a great starting point as I was able to learn from people who were already doing it. I had to put a lot of effort into learning, and spent a lot of my own time learning online, but surrounding myself with people who were willing to help me was definitely beneficial.

https://code.visualstudio.com/assets/docs/editor/intellisense/intellisense.gif

> Image from VS Code docs (https://code.visualstudio.com/docs/editor/intellisense)

Final tips

If you're interested in a software career, here are my final tips for getting started and continuing your personal development.

Learn from others

As with any industry, you will learn a lot from surrounding yourself with experts of the field.

  • Follow experienced people on Twitter
  • Find videos on YouTube
    • There is so much excellent free content
    • Watch tutorials and live coding videos
    • Talks from conferences can be interesting to help understand more about a technology
  • Buy a course
    • Purchasing learning resources, rather than using free ones, makes you more likely to utilise them. You will likely want a return on your investment and to make the most of the money you spent.

Just do it

This is probably my most crucial piece of advice. Just do it. Start. Don't be afraid to just try things. What's the worst that can happen? Learning new technologies or languages can seem daunting, in fact learning anything completely new can be daunting, but if you just dive right in you'll be surprised how much you can learn in a short space of time.

https://images.unsplash.com/photo-1497561813398-8fcc7a37b567?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb&ixid=eyJhcHBfaWQiOjYzOTIxfQ

I hope you found this information useful. I encourage anyone who reads this to give some form of coding a try, even just for fun. You never know where it could lead and there is so much room for further innovation and change in the tech industry. I really believe that more people of all ages, cultures, backgrounds and genders should get involved.

The latest and greatest advancements in areas like machine learning and artificial intelligence are incredible, but you don't have to dive that deep to make a difference. We're really only still at the beginning of what software and technology can bring to the world.

Oh, and don't forgot to follow me on Twitter (@mbrookson) for more tips and blog post updates!