• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Noulakaz

The blog of Avinash, Christina, Anya and Kyan Meetoo.

  • Home
  • About
  • People
    • Christina & Avinash Meetoo
    • Avinash Meetoo
    • Christina Meetoo
    • Anya Meetoo
    • Kyan Meetoo
  • General
    • News
    • Mauritius
    • Politics
    • Education
    • Business
    • Travel
  • Computing
    • Apple
    • Linux
    • LUGM
    • Programming
    • Web
    • Technology
    • Knowledge Seven
  • Entertainment
    • Music
    • Movies
    • Photography
    • Sports

How to become a great programmer

1 March 2006 By Avinash Meetoo 18 Comments

Do this :

  1. Read Teach Yourself Programming in Ten Years by Peter Norvig.
  2. Install Linux (Fedora, Ubuntu, whatever…) and become proficient with it.
  3. Learn Scheme, Python and/or Ruby.
  4. Scratch Where It’s Itching (find a problem that is really bothering you and solve it using your newly acquired programming skills)
  5. Release your software as opensource.

Trust me!

Filed Under: Education, Programming

Reader Interactions

Comments

  1. Eddy Young says

    1 March 2006 at 16:32

    Anyone can become a good programmer nowadays. New software development techniques have been developed and are very well documented. Back in the days when I started, I had only a DOS disk, which I formatted due to lack of documentation. I can say I learned the hard way as that was the only time I ever messed up a computer!

    Why the focus on Scheme, Python and Ruby? The emphasis should instead be on development techniques. The language is only a tool. If you have the technique, you can write programs in any language.

  2. avinash says

    3 March 2006 at 14:44

    Hi Eddy,

    I think you missed my point. For me, to become a great programmer, one HAS TO THINK DIFFERENTLY. Hence the references to Linux, Scheme, Python, Ruby and Opensource.

    I could have used BSD, Lisp, Smalltalk, Erlang and Public Domain for that matter and my point would have been exactly the same.

    By the way, what do you think of Peter Norvig’s article?

  3. Nafii says

    6 March 2006 at 16:54

    ya i think u r rite about this 1, one really needs 2 think differently n have a perception of the real world n adapt it 2 programming

    but then again its also a matter of “daring to go ahead, no matter what happens”, for e.g if the pc crashes we’ve got 2 have the guts 2 try again… :-)

    a great programmer needs a lot of support from family n friends 2

  4. Eddy Young says

    11 March 2006 at 21:30

    To be a great programmer, one does not necessarily have to think differently. One only has to know what options are available and which one solves the problem at hand most effectively.

    The open-source scene is a proof of that. How many of the most successful open-source projects out there are just regurgitations of what were already available? Were these created by great programmers? Absolutely! Linux is undeniably one of the greatest achievements in computer history, but did Linus think differently? Not at all. He wanted to copy an existing operating system!

    BTW, I think Peter Norvig is simply stating the obvious.

    Nafii: There are differences between “innovative” and “great” programmers. I think you are mixing the two categories.

  5. avinash says

    12 March 2006 at 23:33

    Hi Eddy,

    Now we have an argument :-)

    You said: “To be a great programmer, one does not necessarily have to think differently.”

    For me, there is only ONE way to become a great programmer : one SHOULD think differently!

    Your examples are flawed. Most of the best Opensource software (including Linux) are not “just regurgitations of what were already available” or else we would have used those “already available” alternatives (as most of us don’t mind indulging into a little piracy from time to time :-)

    We use OSS because the software are not necessarily better but different enough to please us as geeks.

    Linux is not a copy of anything (not even Unix). Linus built Linux as a 100% compliant implementation of the Posix standard. He did not use 1 line from Minix or any other Unix available at that time. He was the first to think along this line. Remember, at that time, there was no other Posix OS. And therefore, he thought differently :-)

    Peter Norvig might be stating the obvious but this is something young people need to understand : you must put a lot of energy if you want to become great in anything.

    Great = innovative for me.

    You are mixing issues.

    Great != productive (i.e. writing lots and lots of lines of code in a very short time) or even good (i.e. being better than the average guy working in the same company). Being great is another thing altogether… And very few (dare I say none) of us will be one day be recognised as being in that mould. Unfortunately…

    Except if I’m wrong :-)

  6. Eddy Young says

    13 March 2006 at 04:01

    I never shy away from an argument, or rather, a discussion :-)

    The absence of a clear definition for “great” caused the disagreement. Now that I know you meant “innovative”, I have to agree that innovation is most likely to come from those who think differently.

    For me, great programmers are people who excel in their field, and that means being the most able to apply optimal solutions (in terms of cost, time and maintainability) to programming problems.

  7. Nafii says

    13 March 2006 at 13:49

    i agree with u Sir on this 1,

    one has 2 believe that the code will work n make sure its not crap n meant 2 do wat its supposed 2 do.

    Programming is like playing a pc game, we want 2 reach the end of the different levels n the most interesting part is that we understand wat we r doing.

    :-) No offense meant toward u Eddy

  8. avinash says

    13 March 2006 at 21:40

    “Fame cannot be bought…”

    Remember this kids (there are a lot of my MCCI and UoM students reading this blog) You will have to work a lot for people to take notice of you. And, only then, will you be happy :-)

  9. Eddy Young says

    14 March 2006 at 03:52

    Hey, I’m an ex MCCI :-)

  10. Nafii says

    14 March 2006 at 13:40

    Thats y am proud 2 b Mauritian, but i am sad i cudn’t talk to OUR DODO!
    Just 2 bad some people just steals our wealth, but we have more than they can get

    Happy Independence Day 2 u all :-)

  11. avinash says

    14 March 2006 at 15:20

    ???

  12. Nafii says

    14 March 2006 at 16:40

    Guess u didn’t get the meaning, i meant 2 say that we r born programmers
    we just hav 2 recollect our 2 code things we have been using since childhood like video games.

    Wen i was a kid i liked Tetris a lot, n in Squeak they got the idea of adding this game.

    Mauritian Kids r very intelligent, u just have 2 listen 2 them n think about wat they have just said :-) but there r exceptions, not all kids r angel

  13. tarriq says

    12 September 2006 at 21:02

    Here is a rather interesting but disturbing article i came up with

    http://www.lexpress.mu/display_search_result.php?news_id=72256

    should we look for someone to blame??

  14. avinash says

    12 September 2006 at 23:17

    Why not? What do others think of the article?

  15. selven says

    2 October 2009 at 21:06

    how to become a good programmer?
    either you are good or you are bad.

    If you are googling about how to become a good programmer, i believe one would be a bad programmer :p since that would show lack of confidence :p

  16. avinash says

    3 October 2009 at 06:49

    I don’t agree with you.

    Someone who googles for “how to become a good programmer” is showing a lot of dedication and willingness to learn. And this is a good thing.

    Compare to someone googling for “i need the solutions for an assignment I got and couldn’t be bothered to do.”

  17. Neelesh Ramputh says

    3 February 2012 at 08:59

    IMHO there are no such thing as either being a good or bad programmer. it is something acquired, learnt.

    If you are someone who analyzes and who nitty gritty details matters to her is more bound to find programming more natural and expressive.

    I believe searching how to become a better programmer is one step forward in the right durection. now searching for practices and patterns is altogether something else.this shows interest in doing better.

    Technology does not really matters. You can always excel in whatever programming language you are comfortable with. “Coding for humans” or something along this line. (sorry i am writing this on my mobile phone. Jeff Atwood said something like this). If you are willing to go through this route you will end up being a better programmer. You will be one even if you dont do it this way. It is subjective.

    Writing unit tests and havinv code reviews also help in becoming a better programmer. You end up growing and you have those “aha” moments.

    I hope i did not disgress much in my comment.

  18. Avinash Meetoo says

    3 February 2012 at 13:44

    Thanks for your great comment :-)

Leave a Reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Our Personal Websites

Avinash Meetoo
Christina Meetoo
Anya Meetoo
Kyan Meetoo

You may also like

Default ThumbnailFashionable programming languages Default ThumbnailThree great technical books Default ThumbnailOn the necessity to master C Default ThumbnailI don’t know any programming language

Random Posts

Watch TV less. Create more.

Adieu Yves

Apple iPhone 3G in November in Mauritius

Recent Comments

  • Memento Mori by Depeche Mode on I have my dream HiFi setup: Audiolab and Elac
  • Avinash Meetoo on High-End Hi-Fi Audio Companies
  • Gerard Chavagnan on High-End Hi-Fi Audio Companies

Archives

  • March 2023 (5)
  • February 2023 (1)
  • December 2022 (1)
  • November 2022 (1)
  • October 2022 (4)
  • August 2022 (3)
  • July 2022 (3)
  • June 2022 (5)
  • May 2022 (5)
  • January 2022 (3)
  • December 2021 (2)
  • November 2021 (1)
  • October 2021 (1)
  • September 2021 (4)
  • August 2021 (2)
  • July 2021 (14)
  • May 2021 (2)
  • April 2021 (4)
  • March 2021 (9)
  • February 2021 (2)
  • January 2021 (1)
  • October 2020 (1)
  • September 2020 (1)
  • August 2020 (2)
  • July 2020 (5)
  • June 2020 (3)
  • May 2020 (5)
  • April 2020 (6)
  • March 2020 (2)
  • February 2020 (2)
  • January 2020 (2)
  • October 2019 (1)
  • September 2019 (2)
  • July 2019 (2)
  • June 2019 (1)
  • May 2019 (3)
  • April 2019 (2)
  • March 2019 (1)
  • February 2019 (1)
  • January 2019 (3)
  • December 2018 (1)
  • October 2018 (3)
  • August 2018 (2)
  • July 2018 (2)
  • June 2018 (1)
  • May 2018 (1)
  • April 2018 (1)
  • February 2018 (1)
  • December 2017 (1)
  • October 2017 (1)
  • September 2017 (1)
  • August 2017 (1)
  • July 2017 (1)
  • May 2017 (4)
  • April 2017 (3)
  • March 2017 (4)
  • February 2017 (5)
  • January 2017 (3)
  • October 2016 (1)
  • September 2016 (1)
  • August 2016 (4)
  • July 2016 (1)
  • June 2016 (1)
  • March 2016 (3)
  • February 2016 (3)
  • January 2016 (1)
  • December 2015 (1)
  • November 2015 (2)
  • September 2015 (1)
  • August 2015 (3)
  • March 2015 (1)
  • December 2014 (1)
  • November 2014 (4)
  • October 2014 (1)
  • March 2014 (2)
  • February 2014 (3)
  • December 2013 (1)
  • October 2013 (1)
  • September 2013 (1)
  • August 2013 (1)
  • July 2013 (1)
  • June 2013 (2)
  • May 2013 (1)
  • March 2013 (3)
  • January 2013 (2)
  • December 2012 (3)
  • November 2012 (4)
  • September 2012 (3)
  • August 2012 (2)
  • July 2012 (3)
  • June 2012 (2)
  • May 2012 (1)
  • April 2012 (2)
  • February 2012 (1)
  • January 2012 (4)
  • December 2011 (2)
  • November 2011 (1)
  • October 2011 (4)
  • September 2011 (2)
  • August 2011 (1)
  • July 2011 (2)
  • June 2011 (4)
  • April 2011 (7)
  • March 2011 (2)
  • February 2011 (1)
  • January 2011 (3)
  • November 2010 (3)
  • October 2010 (1)
  • September 2010 (2)
  • August 2010 (4)
  • July 2010 (2)
  • June 2010 (1)
  • May 2010 (3)
  • April 2010 (4)
  • March 2010 (3)
  • February 2010 (3)
  • January 2010 (5)
  • December 2009 (2)
  • November 2009 (3)
  • October 2009 (1)
  • September 2009 (5)
  • August 2009 (3)
  • July 2009 (1)
  • June 2009 (3)
  • May 2009 (2)
  • April 2009 (7)
  • March 2009 (12)
  • February 2009 (10)
  • January 2009 (5)
  • December 2008 (4)
  • November 2008 (11)
  • October 2008 (6)
  • September 2008 (7)
  • August 2008 (3)
  • July 2008 (8)
  • June 2008 (6)
  • May 2008 (5)
  • April 2008 (7)
  • March 2008 (6)
  • February 2008 (3)
  • January 2008 (6)
  • December 2007 (11)
  • November 2007 (10)
  • October 2007 (7)
  • September 2007 (9)
  • August 2007 (3)
  • July 2007 (7)
  • June 2007 (8)
  • May 2007 (14)
  • April 2007 (11)
  • March 2007 (18)
  • February 2007 (14)
  • January 2007 (15)
  • December 2006 (16)
  • November 2006 (10)
  • October 2006 (7)
  • September 2006 (8)
  • August 2006 (8)
  • July 2006 (6)
  • June 2006 (4)
  • May 2006 (13)
  • April 2006 (10)
  • March 2006 (11)
  • February 2006 (7)
  • January 2006 (14)
  • December 2005 (8)
  • November 2005 (6)
  • October 2005 (7)
  • September 2005 (2)
  • August 2005 (6)
  • July 2005 (2)
  • June 2005 (6)
  • May 2005 (15)
  • April 2005 (12)
  • March 2005 (3)
  • February 2005 (8)
  • January 2005 (3)
  • December 2004 (1)
  • November 2004 (2)
  • October 2004 (2)
  • September 2004 (3)
  • August 2004 (3)
  • July 2004 (3)
  • June 2004 (3)
  • May 2004 (6)
  • April 2004 (10)
  • March 2004 (12)
Creative Commons License This work is licensed by Avinash Meetoo under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Unported License.