Learning to code the right way

Michael Obi
Michael Obi
Published in
3 min readMay 9, 2017

If you’re learning to write software, these are a few things you should know.

Photo credit: Luis Llerena

Get back to the basics

With the number of MOOCs online, it’s become easier than ever to get started with programming. By following a tutorial with enough dedication, one can start developing a website or app in just a few weeks. With the ever increasing number of software development positions to fill this should be a good thing right? Not necessarily.

The problem with these “get started quickly” courses is that most people never go back to learn the basics and nuances of the programming languages they would be working with. Getting to know the ecosystems and understand why some things are the way they are. When going through an android basics c0urse for example, the tutors would assume you already know some Java. You’ll probably understand the course if you don’t, but you’ll only understand that one example you were shown and may get confused when thrown into the deep end.

I do think the world would be better off if everyone had some familiarity with coding but coding itself should not be the goal,…

…we should be trying to teach computer science and not just coding.

Don't learn to code. Learn to think by Yevgeniy Brikman

Get started, learn fast, learn a lot. Speed is key most times but pick up a book or two later. Understanding of some of the most primary concepts are what make a lot of programmers great at their jobs.

Fail first, ask questions later

When getting started with anything, it’s a great idea to have someone whose already well vested in that field to look up to, be an anchor. When working towards becoming a software developer, It’s also important to realize that software development is a series of problem solving episodes and you’ll run into bugs and errors a lot as you journey through it.

When you hit an error, do not panic. Try to make sense of it first (I know error messages can be intimidating). The exact line that caused the error, etc. Then try to find a solution — Google, StackOverflow, they’re your friends. A lot of the issues you’ll run into would have been documented by someone, somewhere. Your first instinct should not lead you to call that person you know, that knows…

Anyway, This is not because they can’t or won’t be happy to help you, but because they’re a lot of things to learn on the way to fixing problems. You’ll end up gaining some good knowledge for free. Plus it may become frustrating for the person you’re reaching out to if they figure out that you consistently fail to make an effort to solve problems they deem trivial. This is not to say you should not ask questions, but try your hand at it first. Do not be afraid to fail. You may figure out some great stuff and build some much needed resilience in the process.

The shoulders of Giants

Other programmers are the best resources you’ll ever get. There’s a lot to learn from everyone around you. Reach out and tap some of that goodness. There’s always someone in the community willing to help. This will seem like a contradiction considering what I wrote above but it’s not — not completely anyway. It’s awesome to have more experienced programmers to learn from.

If I have seen further, it is by standing on the shoulders of giants. — Isaac Newton

There are a number of ways to learn from others.

  • Read code written by other programmers. What better way to understand how software is written than looking at already working code?
  • Contribute to open source projects. It’s never too early to begin. Make a suggestion, fix a typo. It helps.
  • Subscribe to blogs, podcasts and other content produced by developers in the same niche as you.

Build something… Anything!

Probably the most important thing. Having some projects to show can be very vital especially when looking for a way to get your foot in the door. Build something. It doesn’t matter how small it is. You’d be surprised how a joke can become what gives you a shot.

Hope this helps someone out there.

Cheers

--

--