Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,151,609 members, 7,812,998 topics. Date: Tuesday, 30 April 2024 at 03:07 AM

Become A Better Programmer - Programming - Nairaland

Nairaland Forum / Science/Technology / Programming / Become A Better Programmer (1332 Views)

How To Become A Better Programmer / Do You Think Learning Assembly Makes You A Better Programmer? / IQ And Programming... Does Having A High IQ Make You A Better Programmer? (2) (3) (4)

(1) (Reply) (Go Down)

Become A Better Programmer by abdulapopoola(m): 10:24pm On Jul 22, 2012
Some good suggestions on improving your programming skills:


An awesome team of professionals reviewed my code and quickly exposed my mistakes. Yes, it was a great albeit humbling experience smiley . It gave me a firsthand glimpse of my code-writing flaws; I appreciate this as it will enable me to improve insha Allaah.

Here are a couple of my thoughts on how to become better; maybe I shouldn’t be writing this again but my views have changed a lot since I wrote this and it is great to have a resource I can always point to. Enough talk; here are some tips:
1. Start Simple

Choose an easy-to-learn yet powerful language (you could try python or scheme) that enables you to learn the basics of programming. Choose any language you like; learn it well and deeply enough – its programming style, culture, strengths, flaws and best uses. This takes time: it can even take years but becoming a programming ace is more like a marathon and less like a sprint.
2. Read books

Yes, you have to read. Read books like The Pragmatic Programmer, Code Complete, SICP and other similar classics. They will help you to think better about code, identify potential pitfalls easily and avoid mistakes. Well, this step should come after you’ve mastered the basics of programming and want to move to the next level. Reading will expose you to new ideas, freshen your mind and make you stand out.
3. Read + Write Code

I can’t emphasize this enough; you definitely have to ‘live in’ code and write code just for the fun of it. Write applications using the languages you know, start by building easy applications and then take on more challenging projects. Try out scary ideas too : what is stopping you from writing your own JavaScript interpreter in JavaScript ?
4. Learn the funky CS stuff

All about algorithms, data structures, operating systems, compilers and all other basic theoretical Computer Science stuff. You become a better programmer by understanding how the things we take for granted (compilers, computer memory etc) work. The CS courses will probably expose you to those annoying unrealistic problems but they are a great way to prepare for challenges – afterall it is all about code. Read more about this here and here.
5. Be Honest with your code

As a programmer you MUST know why your code works. Don’t just put in unexplainable pieces of code that ‘seem’ to work – that ’magical’ print statement that appears to make everything work when you insert it and breaks the code when you remove it – I used to do this too smiley . It is a shortcut to disaster as it’ll most likely lead to horrible, hard-to-fix ‘magical’ bugs too. Do you have some tricky code? Step through it with a debugger and see if it really works as it ought to – don’t just assume it works when it compiles and gives the right result for few test cases. Step through it and confirm it yourself.
6. Raise your standards

Handle unexpected cases, never assume data will be valid, use assertions to ensure that your code breaks immediately something is wrong. Don’t display error messages to users, degrade gracefully. Test, test and test your code. Code defensively. Never ever lower your standards for anything, your code speaks volume of you so you should make sure you take a stand to write the best quality code you can, are you copying the same lines of code over and over? Write a method to handle that for you. Understand the architecture of the framework you are working on before attempting to write patches or new methods. Whatever you do, strive to improve your code writing skills every time you write. I know it is challenging to move out of your comfort zone but don’t you want to be a good programmer? smiley
7. Writing code is the easiest part of programming

Don’t just dive into code, you’ll end up with poorly-designed code and get frustrated easily when you realize that your hastily-written piece of code doesn’t do what you want it to do. During an interview, I was asked to write a tokenizer – I rushed to code and ended up with a brittle program that did the exact opposite of tokenization!

When faced with a very tricky problem, think of a possible solution, try out your design on paper or with pseudocode, see that it works and then implement it. If it works fine, test it and then improve its style and readability. Lastly you should optimize it and add all other fine bits.

Programming is like writing, it is an ART and requires time, dedication and effort. So keep at it and don’t think you’ll become a rockstar developer in a few months. Like all professions; you probably need years of top quality work to get there and lots of prayers too.

Do you disagree? Drop a comment smiley
http://abdulapopoola./2012/07/16/so-you-want-to-become-a-better-programmer/
Re: Become A Better Programmer by oloyedejamiu: 4:19am On Jul 28, 2012
Abdulfattah, u r great. Keep it up.
Re: Become A Better Programmer by ektbear: 4:51am On Jul 28, 2012
Scheme sucks.... too much () madness cheesy

Co-sign on reading other's peoples code. Between Github and googling, it is easier than it was in the past to learn best practices for coding.
Re: Become A Better Programmer by abdulapopoola(m): 6:06am On Jul 28, 2012
@Jamiu please don't call me great. I am only an 'abd.

@Ekt bear - it is one of the purest languages smiley Thanks for reading too.
Re: Become A Better Programmer by ektbear: 6:09am On Jul 28, 2012
All these scheme/lisp people sef grin

If that language had been my first introduction to programming as a kid, I doubt I'd have shown any interest.

Absolutely hideous syntax
Re: Become A Better Programmer by ektbear: 6:12am On Jul 28, 2012
On a serious note though, syntax isn't that important I guess. But i feel like people only recommend scheme and lisp because it is what the "cool kids" used in their first college programming class. Not because they actually enjoy the language themselves cheesy

(1) (Reply)

Seun Has A Lot To Explain / Update : Anti Spam SMS & Call Android App. / Your Phone Can Now Help You Avoid Traffic

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 25
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.