alt text

So as an experienced old programmer I’ve been asked a few times:

“How do I get started in programming”

I’ve gone from being a geek when I was 8 years old to about 16 playing computer games and messing with my Dad’s ZX81 then getting a ZX Spectrum, Amstrad PC1512, old BBS’s with 1200/2400 etc.. baud modem.

Then I got into engineering / rock climbing / travelling / being an outdoor instructor and didn’t do technology for a long time.

When I was about 29 I ‘got my foot in the door’ with a friend of the family’s company. I was a junior and learned all about TCP/IP networking, Sun Solaris, Novell Netware, IT Support, RedHat Linux, Apache, PHP (building from source). I did mostly IT support and got my first taste of programming with PHP3.

So to highlight - the important part here was getting an initial job doing something to do with computers. After that it has been easy to change within the industry. For me it has gone from IT towards programming.

Do you enjoy messing around with computers

This may seem a strange first title, but do you actually like computers (I guess you probably do as you’re reading this post), or are you after a job in programming just for the money (unusual but I’ve seen it).

Think about what you enjoy, so you can tell others about it:

  • What stories do you have
  • Building your own machines - CPU’s / Graphics cards?
  • Messed around with HTML / CSS / Javascript / Python

Soft Skills - It’s about people

  • Communication - can you talk to people?
  • Technical skills can be taught/picked up by someone who is interested

Are you a good person

These are the kinds of questions going through a potential employers mind as they talk to you, so try to set their minds at ease:

  • Will you turn up on time at work?
  • Will you be a good person to work with / can talk to other people (I got an engineering job once I wasn’t suited for by telling bad jokes, and I think people liked it as it showed I can at least talk to people, and they hoped I would pick up the engineering)

Are you reasonably presentable and clean

  • Showering is important
  • Deodorant
  • Good haircut
  • Lay off the garlic / booze sessions for a while…

CV / Resume / Online Portfolio

Having a portfolio that loads fast and can really throw everything in a small space makes a huge difference. This was a mistake I made first time around. In my first in-person interview, the only portfolio I had was on Heroku and they initially thought it didn’t work because it took so long to load(non - paid server spinning up after being idle). It also broke when they tested the mobile size. That being said, they seemed to like me and gave me a call the next day. (jm)

Go to local user groups

  • This is a wonderful way to meet people and get your foot in the door
  • meetup.com is a good place to search for local groups.

Hard Skills - Side Projects

I’ve not talked about hard skills yet which may seem surprising, however so much is a about what I’ve talked about above and if you have a passion to learn then your current hard skills I’d say are less important.

My most memorable interview was when the candidate said:

“I’ve got a demo a project I’m working on in my spare time, and I’ve bought it along on my laptop. Want to see it?” (dh)

He got the job!

So having fun side projects shows you have passion for something.

“Start on some projects, that’s where I felt like I learned the most by far” (jm)

Courses

Pluralsight is a subscription based video library with consistent quality videos. Around $30USD per month I really rate it and have used it for many years. The the learning ASP.NET MVC videos have taught me so much

I’ve been told Udemy has some good content however they still have piracy issues as far as I’m aware and have had for a number of years, so unfortunately I boycot them.

YouTube is a great resource. This linked Python video has over 11million views.

Fun programming challenges

Project Euler is a wonderful set of programming challenges. When I’m learning a new language I often go back to the first question and start again. Or if I’m trying a new style of programming

https://codegolf.stackexchange.com/ is a interesting place to hang out too.

https://www.hackerrank.com/ has good challenges.

“Even 15 mintutes a day of those challenges made me feel like I was improving” (JJ)

https://www.codewars.com/

Do you use GitHub

Being able to use Git is a super important skill these days.

GitHub is now free for private repositories (for less than 5 contributors).

  • Is there a project on your own Github you can talk about that you’re excited about?

Do you have Stack Overflow account

Answering others questions is a wonderful challenge

Twitter

https://twitter.com/hmemcpy/status/1163519415620476928

https://twitter.com/thereformedprog/status/1164110155182739457

LinkedIn

This could be a good resource and always worth trying. I’m here if I can help.

Here is my cheeky son wishing you good luck on your adventures in programming!

alt text