So you wanna be a programmer?

Programming is anything but easy. Programming is hard work. Programming is one of the most difficult things you will ever do in a life time. Programming is not trivial. On a scale of 1 to 10, programming is probably on 8 or 9 as far as difficulty is concerned. The geeks are also not making things easier, they have all these terms that are just there to make you as much more confused as you can be. An example SaaS, XML/RPC, REST. A closer look and a better understanding will reveal that those three terms are so closely related that some other profession could have just named them all as ONE. But not so here, you must be confused, you must know the distinction between a plus and a positive sign!!

Programming has a mystic quality that makes almost everyone wants to do it, or at least wants to be identified as a programmer. Programming has a mystic quality that makes everyone think they can do it. Programming has a mystic quality that makes everyone think those who do it are super humans on steroids. gods like Linus Torvalds aren’t making it easy at all.

Programming can not be learnt in 24 hours, nor can you grasp it in 7 days. Think of learning programming, think of a 10 year course! Even medical students spend 7 years learning the profession. And I am saying 10 years if you started early, if you started late? we are looking at say 15 years or more. You can not do programming as a part time job. You can not learnt it as a part time study. Most programmers I know don’t have a life outside the programming box.

You can not afford to make mistakes here. It’s like an incantation that must be said precisely as it is. Else the magic won’t work. Your code won’t compile, if they do compile, they won’t run, if they do run, they will have bugs. You talk of debugging? you are looking at a job that will cause you more headaches than a troublesome wife, especially if the code belongs to someone else. You won’t be happy all of the time, most of the time your code will depress you. You will sit at it far far late into the night, only to find out that you have spent 6 to 7 hours looking for a misplaced comma, or semi colon.

Code monkeys will come at your code while you sleep, things that have been working before you go to sleep will suddenly stop working. At times you won’t even know where the error is. And you will be forced to waddle through the code from the beginning. At times your codes will have ideas of their own, different from what you intended. You will be frustrated at times. You will spend the better part of your life not developing applications like Monster Truck, or GMail, or Facebook. The better part of your programming life will be spent writing, testing and debugging codes that may never make it out of your box. If you are lucky, you might have one project that will be widely used.

So you wanna be a programmer? These are few of the things they won’t tell you in college. Things that I think you should know before you start on this path. Things that “learn this and this in 24 hours” won’t tell you. Things that books won’t tell you. You want to be a programmer? Think again!

Advertisements

42 Comments »

  1. true talk these are the things the books u read and your university lecture won’t tell u about programming that u need to know

  2. programmer said

    This is all wrong…

    Programming is easy. Write a web page with some JavaScript, write a spreadsheet macro, write a for loop in C++. Boom, you’re a programmer. That’s easy… Really easy. You need no training or skill or experience…

    Getting and holding an enjoyable well paid job in programming is very hard… Creating a new software project that does something genuinely useful that a dozen other people aren’t already doing better is hard.

    • huumn? if you call writing a spreadsheet macro programming, then you will call someone who prescribed aspirin for headache a medical doctor!!

      • iwritten said

        nice answer!

      • emmanuel ahagbuje said

        thanks for dissecting that unintelligent statement!

  3. Jeff said

    Very nice blog. I recognise myself in it. I think 10 years a bit long though. Though it’s hard to really put a figure at it…. with constantly evolving technologies and approaches one is never done learning.

    This makes it a challenging but never boring occupation.

    How long have you been at it?

    • started in 2001 with javascript, graduated to pascal in 2003, started java in 2005, thats after doing c/c++ between 2003 and 2004….so i prefer to say i have been at it since 2005

  4. Permial said

    Call me when you get to core & system level programming instead of all this fluff.

  5. anon said

    “Programming is one of the most difficult things you will ever do in a life time.”

    Maybe you should find another line of work.

    “An example SaaS, XML/RPC, REST. A closer look and a better understanding will reveal that those three terms are so closely related that some other profession could have just named them all as ONE.”

    I really don’t think so. A mechanic would not combine the ideas of a spark plug, cylinder, and carburetor, even though they all work together. SaaS is very different from XML/RPC, which is very different from REST, even though they do similar things.

    “Programming has a mystic quality that makes almost everyone wants to do it, or at least wants to be identified as a programmer.”

    I’m pretty sure that people think of programming in the same way they think of accounting or farming or carpentry: a skill, or a way to make money. They don’t see it as “mystic” or “a calling” or anything like that.

    “Think of learning programming, think of a 10 year course! Even medical students spend 7 years learning the profession. And I am saying 10 years if you started early, if you started late? we are looking at say 15 years or more.”

    Please. I’ve seen kids pick up simple programming techniques in a few hours. Medical students spend years in school because they need to memorize a whole lot of information: procedures, medicines, side effects, etc. Programmers always have the documentation available. Programmers can make mistakes and not have people die.

    “You can not afford to make mistakes here.”

    Yes you can. Make mistakes every day! Mistakes are how you learn; it’s an iterative process. You need to forget that semi colon or variable name a few times before it sets in. You certainly don’t have to get it right on the first try.

    “You won’t be happy all of the time, most of the time your code will depress you. You will sit at it far far late into the night, only to find out that you have spent 6 to 7 hours looking for a misplaced comma, or semi colon.”

    Really? That’s a bit much. If you’re using a halfway decent programming language and IDE, small syntax errors are easily overcome. Unless you’re doing embedded programming, but even in that case, there are some tools available to make things easier.

    Programming is challenging, and rewarding, not because it’s insanely difficult or requires you to be a guru, but because it really requires you to think, carefully, about problems. Then you come up with cool solutions to those problems.

    • I actually agree with most of what you said, but really, you talk as a programmer, I am not talking as a programmer here, but rather someone who tried to do programming. Plus not all of us have the advantage to use a language that have an IDE.

      As per the mistakes causing people’s lives example, I am pretty sure I could google up an example where a programming mistake has caused at least someone to lose his/her life. But that’s not the point, the point is this, as a graphics artist, you don’t compile your work. As a tailor, or a barber, your mistakes usually becomes the next “in-vogue thing”.

      Your last paragraph summarizes what this post is trying to portray, only you put it a bit more mildly that I would.

  6. Dean said

    I totally agree with you… I especially find the java classes needlessly complicated eg I tried using the JTree class once and it was a nightmare… you would need a large text book on this one java class alone to be able to use it properly!

    But, if someone is just starting to learn programming then Euphoria is much easier… http://www.rapideuphoria.com …it does not need to be compiled and yet it is fast.

  7. Java Programmer said

    I agree with Programmer, he said almost everything.

    To be a programmer is not difficult. What is difficult is to be really good and make good software.

    As there are many doctors that are really bad, there are many programmers that do really bad programs. The programs sometimes may work, but if you look the code you will see the real shit.

  8. I agree with much of what you say. I am retired from an environmental engineering job. Currently I enjoy studying Java and NetBeans IDE.
    I hope the mental stimulation wards off alzheimer’s as I age.
    I do enjoy the helpful programming features of NetBeans. I spent 9 years
    at Oakton community College learning COBOL, Visual Basic. C, C++, Java.
    I took mostly one course at a time after the first 2 years. I should have
    practiced the examples more but was under pressure to do the assignment.
    My study habits could have been better. I should not have been listening to the radio while studying i.e. multi-tasking. I should have reviewed concepts in my mind more. I still like the idea of being able to program at home on NetBeans IDE. Good Luck

  9. Jonathan White said

    You had me laughing through this whole post because It’s so true! Great write 🙂 I’m posting this on Facebook and sending it to anyone who thinks we “just spend all day on the computer.” This is HARD WORK!

  10. I don’t know if you are trying to scare people from programming, but one thing I know is that If we don’t have more and more developers who can work collaboratively in Nigeria, our economy cannot be driven by technology.

    Great apps are not built by individuals. It takes a team, it takes a collective effort.

    • not at all, I am not trying to scare people, I am only telling them the truth that some guys who wants to sell books wont.

    • Suchitto Palit said

      Nice spirit.

  11. And, moreover, if you don’t mind, let’s work together.

  12. smdelfin said

    I’ve been into applications development since 1997, and I can say that I agree, programming is not easy.
    The programming language (PL) you want to use or want to master also plays a role in how hard programming would be for you.
    Also, if you start in some PL, then transfer to another PL by choice or forced, then that would be harder than if you stayed with one PL, or one with similar syntax.
    Another factor is the IDE and the version that you will use. You may find that one IDE is easier for you to use than others. Also, you may find that the later versions of an IDE is easier than its previous versions.

  13. Amen to that!!

    On top of that, the technologies for programming are moving so fast that one must spend a significant time to be up-to-date! The journey to becoming a good programmer never ends, and one must accept that before ever getting into it.

  14. christian okpako said

    i want to learn programming

  15. aniedozie chris said

    well this is blog i wont refer my new student to. if i do she’ll definitely trash a folder load of programming materials i just gave her.

    you forget to mention that programming has an initial once you are over it thats it. you’ll enter into a path of no return. 10 years into cocaine and crack put together can not give the same addiction.

    programming has a life of its own.

  16. Dustin said

    Brilliant, agree with all of it, even the 10 years. To really grasp the larger OO structures most need at least 10 years. Great writeup 🙂

  17. Mehul Soni said

    Agree with u…
    As a student life is different and as a professional it’s different…
    But its same in any field isn’t it….?

  18. dan ahwovi said

    I think I love this article as much as hungry authors hate it. it is a great help and partly a consolation for does who are not doing so good as they’d wanted in programming. personally I think people shouldn’t learn programming as an end in itself but as a means for meeting an end. with that, they are on the right track when they meet challenges -they’ll know what to do i.e to switch or not to switch? (0 or 1).
    Bottom line: never get too excited that you fail to see what’s coming ahead. I got interested in programming really last year and by God’s grace things ain’t looking bad at all.

  19. Dan ahwovi said

    I agree, if anyone is thinking of joining the line of real programmers, s/he should set his/her mind off 24hrs stuff unless that’s how long s/he wants to last. But programming is fun though for me geeks like linus are making it prettier.

  20. Black Knight said

    Talk of a fun article and this is it, I was laughing all the way to the end. Now I can see some people took this too seriously, don’t. While most of the described situation has been “blown out of proportion”, any programmer would recognize and identify with some of it.

    “Programming has a mystic quality that makes almost everyone wants to do it, or at least wants to be identified as a programmer. Programming has a mystic quality that makes everyone think they can do it.”

    Knew this guy from my previous job whom that quote fits perfectly, always mouthing stuff he picked off of some internet article but never managed to deliver the goods.

    “Most programmers I know don’t have a life outside the programming box.”

    Now that fits me perfectly, and to misquote a mad Irishman “We programmers, having learned the language of the almighty computer, cannot converse meaningfully with mere mortals”.

    • Suchitto Palit said

      Great misquote. I agree 100 percent. But who is the Irishman and what’s the original quote?

      • Black Knight said

        Mad Stephen – “In order to find his equal, an Irishman is forced to talk to God.”

    • where can I find this Mad Irishman?

  21. Joseph said

    Programming isn’t the most difficult thing in the world. No doubt it’s challenging and requires commitment and passion..(no different from a lot of jobs or activities). This post is so depressingly wrong. To all young or upcoming programmers…here is the secret to becoming a successful programmer.
    1. Love programming.
    2. Be patient with your programs. Errors are your friends.
    3. DON’T neglect your basics or fundamentals of programming.
    4. Practice Practice Practice makes perfect.
    It’s that simple.

    • Of course programming isn’t the most difficult thing in the world, but show me a book that says “Learn how to perform surgical operations on the brain in 24 hours” or “Become a Pilot in 24 hours”, yet we see all these “Hungry Authors” pedaling such programming books all over the place. They are the ones I am attacking with this post, programming can not in any way be compared to flying an aeroplane(at least we know one os more difficult), but YOU CAN NOT LEARN IT IN 24HRS. Simple.

  22. permial said

    You people still don’t get it. Read my earlier post. You are either supposed to do it or you have to work to attempt to program. I spend most of my time reverse engineering software. How many of you wanna be programmers can actually do what I do? It’s simple to write software when you have a corporate goal, but who among you has written something unique? Something you’ve thought of, not something that you company requires.

    I read this board occasionally and I’m discouraged. How many of you contribute to open source? This is very sad.

    For 32 years I’ve been a proponent of Open Source. You can find me on sourceforge and on Mozilla.

    When you steal my code, at least credit me in comments.

    I’m done here.

    • emmanuel ahagbuje said

      hi mr permial.i am guilty of your observation about not contributing to opensource projects.pls i want to be a part of something bigger than myself can you be my mentor and help me start the journey?

  23. Keyboardjunkie said

    permail:

    When I find any code belonging to you I don’t think I’ll bother stealing it!

    I’ve been a programmer for more than 20 years. I have contributed in a BIG way to Open Source – in fact I have me Linus quite a few times at several conferences and have even been out to dinner with him a couple of times..

    I have reverse engineered software for the UK Govt. that would make you weep in frustration.

    I have written software so unique, it will never be used for any other purpose than what it was intended for (and I can’t say any more about it because of the UK secrets act).

    None of that makes me any better or worse a programmer than the next guy/girl. All it does is confirm that I can write software, that I have a brain that is engaged and that I’m doing something that I love doing because it challenges me.

    Idiots like you (read noobie script kiddie) are the reason I normally just troll forums… you just infuriate me with you holier than thou attitude to people that you deem ‘unworthy’ of your time/code.

    As they say in my home country ‘Awa an’ boil ‘yer heid, ya bass’!

    I’m done here (with you)

    KbJ

  24. engineering jobs these days are on high demand as the economy recovers from recession””‘

  25. Hi, Neat post. There is a problem with your website in internet explorer, could check this¡K IE nonetheless is the marketplace leader and a large section of folks will pass over your great writing because of this problem.

  26. Thanks for the marvelous posting! I actually enjoyed reading it,
    you can be a great author.I will always bookmark your blog and
    definitely will come back later on. I want to encourage
    continue your great posts, have a nice morning!

RSS feed for comments on this post · TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: