Technology in terms you understand. Sign up for the Confident Computing newsletter for weekly solutions to make your life easier. Click here and get The Ask Leo! Guide to Staying Safe on the Internet — FREE Edition as my thank you for subscribing!

How Do I Become a Computer Programmer?

Question: My son wants to become a video-game programmer or designer. What advice do you have?

This is a very common question – particularly with video games. Kids really enjoy playing them and are often drawn to the potential of creating them as well.

I’ve hired a lot of programmers in my career. I’ve also not hired even more. So I definitely have thoughts and advice.

Become a Patron of Ask Leo! and go ad-free!

The basics of becoming a computer programmer

First, let’s talk about what I’ll call the basics.

Learn to program. Then learn to program the specific area interests you. It’s the fundamentals that apply across all types of software design that will serve you best over the long run.

Listen to your heart. A good computer programmer loves to program. That’s true for any profession; it’s the old “do what you love” admonition. If, after a while, you find yourself dreading the work, perhaps it’s not for you.

Program. Use any excuse. This’ll be easy if you followed the previous point. There is simply no replacement for experience. That applies to the eventual resume, of course, but to your skills as well. The real world is full of lessons; find them. Use them.

Once you have some basic skills, get an internship, part-time job, or volunteer position using them. It’s everything I just said about the real world, but with a boss. Your career will include a boss – perhaps called a manager, or maybe even a customer. If you intend to make money programming, you’ll need to know what it takes to do what you love, even when others are telling you to do what they want.

Video game programming

Programming video games is very different...Important: Programming video games is very, very different than playing video games.

I can’t stress this enough: the fact that you enjoy playing video games has exactly zero bearing on whether you’ll enjoy programming them, or whether you’ll be any good at it. They are completely different skill sets.

Programming video games is much more like programming an operating system like Windows, but with customers who are often even more demanding.

If it’s the play that excites you, perhaps a test position would be more interesting, especially if you’re good at breaking things. Even then, you’ll be playing the same thing over and over and over, and it’s going to fail – a lot. Can you handle that frustration every day?

Everyone and their brother seems to want to be a video game programmer. That means you’ll be entering a highly competitive market. Be prepared to do the work you need to do to be excellent, and a lot of it, if you want to compete.

Programming languages

Don’t get hung up on what programming language or platform to learn. Programming is more about how you think than whether or not you can express your thoughts in C++ or Java, or on a Mac or a PC. “It’s just another language” is something you’ll hear from top-tier programmers.

I’ve told people that HTML is a programming language and I encourage learning it, but be careful. Building websites is not the basis of a career in something as complex as video game design. If your passion turns out to be the web, then invest in learning some of the programming languages of the web: PHP, Javascript, Ruby, and others.

Take the programming classes you have access to: high school, community college, vo-tech. Then go get yourself a Computer Science degree or a closely related Engineering degree.1

My own pet peeve: Please make sure you learn assembly language along the way. It won’t make sense today, but it’ll help you understand concepts and techniques a lot of programmers today have trouble with; it’ll help you write better code and debug it, as well.

Other skills

There are so many skills that could help, I could go on. Math and abstract logic both come to mind immediately.

There’s one important skill I never would have predicted when I started out. If I had to do it over again, I’d spend much more time on my English and writing skills. What does that have to do with programming, you ask? Much more than you think. You will be judged by your ability to communicate clearly and professionally.

Do this

Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.

I'll see you there!

Podcast audio

Play

Footnotes & references

1: I have mixed feelings on whether a Master’s degree is actually useful in the real world. It really depends on where you work and what kind of work you intend to do.

113 comments on “How Do I Become a Computer Programmer?”

  1. Despite the comment about ‘it doesn’t matter which language’ — speaking as a long-term Basic programmer, I would seriously advise you NOT to start by learning Basic (any variant – including Visual Basic) if you want to do games programming. The only exception I guess would be something like BlitzBasic, which is specifically designed for games programming.

    Start with C and you can’t go wrong.

    Reply
    • I use dreamweaver when I develop websites at work and I use some of the built-in jquery functions that it has but I have yet to delve into the actual code myself. It is definitely something that I want to work on in my minimal spare time that I have. I hope you are right in that it is easy to pick up. Thanks!

      Reply
  2. I have started programming at the age of 10. I have started learning Basic and Visual Basic. But now, for beginners, I really recommend Game Maker (downloadable on gamemaker.nl) with is an easy to use programming software (15

    Reply
  3. You’re so right, man. Today I regret that I wasted a couple of years on VB .NET and C#. It’s just too limited. On the other hand, it makes learning C++ much easier.

    Reply
  4. hi leo. i really wanna become a programmer.. the problem is i,m already screw my degree… at most, i only can get 2.3 something for my cgpa. maybe its too late for me.. but reallyy, i like to become proggrammer. now i start to learn java.. yheah from basic.. iam really screw wtih my degree.. is it still hope for me?

    Reply
  5. It’s definitely an obstacle, depending on where you plan to get hired. But nothing makes up for experience – so start programming. Learn to program and program well – on your own if you have to. As stated in the article use any excuse to program. Instead of a track record based on education, build a track record based on accomplishments. *IF* you have the ability to do that, you’ll be fine.

    The hesitation is that the GPA *usually*, though not always, is a result of a poor work ethic. If that’s the case, it’s something you’ll still have to overcome.

    Reply
  6. Just a suggestion, but it worked for me. Play games that involve scripting/programming. The more fun you make it, the more likely you’ll be to remember what you’ve learned.
    You could start with WoW – learn how to create mods.
    What I enjoy most, though, are MUD’s ( multi-user dungeons). What these are, basically, are text-based games, most of which are RPG’s, played through a client. IRE has made a few games in which combat requires scripting. Being able to script in your client’s chosen language ( I use Lua ) gives you a big advantage over those of the player-base who haven’t learned to script. I got into this about three years ago, and I’m still learning. While it’s the most fun I have gaming, it’s also sparked my interest in learning to program. What’s best is I find myself grasping programming much more easily because of what I’ve learned while MUD’ing.

    Reply
  7. I’ve been learning how to program since I was 15 and I’m still 15, but a website that really helped me grasp the basics of programming was called http://www.w3schools.com. It helps you to learn a whole range of programming languages. I’d recommend starting with HTML (Hyper-text mark-up language) since this is an extremely easy one to learn. Happy programming :).

    Reply
  8. Hello, guys!

    I want to ask some questions…
    Do I need to take a course in science or mathematics in order to write computer programs?

    Reply
    • No, the most useful attribute is Logical thinking. If you love puzzle solving, and are good at it; you are a long way ahead in learning to program.

      Reply
  9. —–BEGIN PGP SIGNED MESSAGE—–
    Hash: SHA1

    Technically, no, but practically yes.

    You can learn to program on your own without math and science, but many
    employers will require degrees that require science and math courses.

    And in all honesty, science and math help … a lot.

    Leo

    —–BEGIN PGP SIGNATURE—–
    Version: GnuPG v1.4.7 (MingW32)

    iD8DBQFG/VwECMEe9B/8oqERAmBgAKCKc9j2QeT8UwyaBKz66yIBkIcm1gCfabmX
    VR9b1s+RTI8R8y8Ub+fvUdY=
    =VqAp
    —–END PGP SIGNATURE—–

    Reply
  10. Hi Leo, Am 16 and I want to know how to program, I hav read the Article and it has realy inspired me more to take up computer programing, but am not sure which language to start with right now because the languages I have access to are in the house are C++,C,VB, C.NET,VB.NET, Java sixth edition and ADO.NET. So am kinda not sure which one 2 start with?

    Reply
  11. Hi Leo – enjoyed reading the page. I have a BS in marketing and 18 years of career experience in sales. I really want to shift gears and get into programming as a profession, but does that mean I need to get a 2nd degree in computer science to earn well? I’ve always had a burning desire to program since I had my Atari 800 and started playing with Basic, but defaulted into a sales career.

    Reply
  12. What kind of science do you need to become a computer programmer because I took dbl ICT and maths for A levels. Not doing them yet though, still in year 11.

    Reply
  13. >hi leo. i really wanna become a programmer.. the problem is i,m already screw my degree… at most, i only can get 2.3 something for my cgpa. maybe its too late for me.. but reallyy, i like to become proggrammer. now i start to learn java.. yheah from basic.. iam really screw wtih my degree.. is it still hope for me?

    You could take a few programming courses at a technical college. If you are already in a 4-yr program, you should have no problem getting in. They usually allow you to get to programming classes quicker than some 4-yr colleges, and most of your 4-yr classes should transfer as credit for the prerequisites.

    Reply
  14. All the information that i have read from this site has benefited me alot. Thanks to all the people who have made it to be come available to everybody.

    Quetion: I am 18yrs still at college and want to become a programmer but i don’t know which lanugauge i should start with.
    Hope to hear from u soon. Chao…

    Reply
  15. All the information that i have read from this site has benefited me alot. Thanks to all the people who have made it to be come available to everybody.

    Quetion: I am 18yrs still at college and want to become a programmer but i don’t know which lanugauge i should start with.
    Hope to hear from u soon. Chao…

    Reply
  16. I would just like to know if I were to pursue a career in Game Development or programing would it be better for me to go to a career college for game development, like Full Sail, or go for a four-year degree from a local school?(assuming that I do fairly well in either school.)

    Reply
  17. I AM ABOUT TO STUDY COMPUTER SCIENCE IN HIGHER INSTITUTION, PLIS I NEED YOUR ADVICE, WHAT ARE THOSE POTENTIALS I REALLY NEED TO POSSESS IN ORDER TO BE SUCCESSFUL IN THIS FIELD

    Reply
    • One important skill you’ll need to master, believe it or not, is communicating without your caps-lock key on all the time! Not only do people hate this, but there are some case-sensitive programming languages out there which will hate it as well.

      Reply
  18. Dear Leo,

    I am extremely confused, 30 years old. I have a math phobia. My dad and my schoolteacher had a great contribution to my dislike of math, even though i have known many people who are enjoying math, and have enviable careers.

    I have always been shying away from the subject due to embarrassment. I want to now give a second chance before concluding that it is not for me.
    I have a knowledge of computer graphics and there are many design and animation software that require programming skills, and for learning those skills you need to learn basic math, which I also read in your website

    Reply
  19. They won’t talk to me/ give any info at the BCS. I would like to know what computer programming languages to learn by knowing what’s in demand. I’d like to know if I can get jobs or freelance as programmer as older person.

    Reply
  20. Dear Leo- I am an arabic linguist in the USN and am interested in programming. Is there any jobs that you know of that would be able to use both my language skills and my hopeful programming dreams?

    Reply
  21. Hey Leo,
    I’d like to become a Computer Programmer. I have just left school and about to start college. I have no previous experience in programming but will learn it in College.
    My concern is that I heard programming requires a lot of Mathematics…I’m not the best at Maths although I did pass my GCSE in Maths.
    Do you think I should still try and become a programmer even though maths isnt really one of my strenghts?

    Reply
  22. leo pls can you help me, i am not a computer programmer thou i do have an amazing idea for a computer programme for athletes. i belive if i can get my idea of the grnd it will be HUGE. but i have only that, … my idea i havent got the knowledge an skill to take it any further and do not know where to go to get the advise i need. pls help many thanks chris humphries

    Reply
  23. i guess i have a question, or more accurately, a request for advice…
    a long time ago i was very into MUDs… especially once i discovered building…
    what i really loved about building was being able to code all sorts of different things, and kind of create life out of text and code… i loved being able to think out of the box and finding new challenges to chew on. i loved the problem solving aspect of it, and i was surprised to learn that you could be creative with computer code… it wasn’t just number crunching at all… eventually, over time, i came to resent that i had to ask the MUD administrator to code new things for me every time i wanted a mob to do something really cool and unique… i wanted to be able to do this myself… and finally i came to appreciate just how limitless the world of computer code can be… i was intrigued… i bought a bunch of those books that are supposed to teach you C++… unfortunately i could never get the compiler to work and my computer ended up crashing (totally unrelated to the compiler) and i kind of forgot about my desire to learn to code…
    recently i got a new computer and the thought has been creeping back into my mind on whether to go to school for programming and pursue it as a career…

    i know that was really long rant, but i guess basically my question is this:
    would actual computer programming be as interesting to me as building on my old MUD was? i mean, am i deluding myself in believing that just because i had so much fun creating mobprogs and ifchecks and whatnot i would probably enjoy tackling programming languages?
    my goal here really is not to get into game programming neccessarily, i really just want to learn programming for its own sake, and i don’t want to spend a bunch of money on school and throw myself into it only to be disappointed and find that what i thought computer programming was was entirely off the mark…

    did that make sense? i could really use some advice on this… thanks so much!!!

    Reply
  24. ok i am 12 and im sure you have heard of the game runescape. Well i was great at that game when i played. So anyways i love to create computer games and stuff so i wanted to create make my own game like runescape but way better and better graphic system. i was going to get a car and than get a job and than save up for the $2000 gaming computer and start it out on there. Your advice has helped me greatly. And i look forward to making it so i can make money off of it while im out there doing whatever i want. Like pyrotecnition or anything like that because i was going to make it a 247 server with a high detailed graphic system.

    Reply
  25. I’m currently enrolled at a community college for the past 2 years now. I first enrolled to become a computer programmer and I still thrive to be one. But since I’ve been in college for 2 years now I’ve only been able to take three programming classes because of all the required classes that students are forced to take to fulfill there needs to get a bachelors degree. I’m fairly close to getting AAoT( Assosiates of Arts Transfer Degree, the reason I went with art instead of science is because Science requires you to take more Science classes not computer science)

    I was really looking for some advice on what I should do. I was recently talking with my father about Apprenticeship’s since he’s a mechanic and did an Apprenticeship with an old family friend to become a mechanic and then my brother did the same thing with my dad to become an mechanic. Anyhow we were talking about apprenticeships and he asked me why I didn’t ask my uncle about being an apprentice under my uncle when I had the chance. The only reason I didn’t ask because it never crossed my mind that my uncle was a programmer other then a CnC programmer but supposedly he is an all around programmer.

    So my question is. Are Apprenticeship’s recognized by company’s?
    Since its basically have experience in the field

    or

    Do you think I should stick it out in college and finish my degree

    I’m struggling in a couple of classes if why I’m a bit sketchy currently such as physics. But all around I’m a 3.0 student.

    I apologize for the long winded question. Just have many things on my mind and no one to really talk to about them.

    Unfortunately there’s no clear answer. I would have steered you at the science degree earlier on, and suggested you complete that. Given where you’re at, if you’re “fairly close” I’d finish it (looks better on the resume than bailing near the end). But I’d be looking for any way I could to get experience in the field. Not all companies recognize “apprenticeships” per se, but most do recognize and value honest experience; the more the better. (Typically the term “internship” is actually somewhat more common, but amounts to the same thing.)

    Best of luck,

    – Leo
    13-Nov-2008
    Reply
  26. i undergo a computer training for a year in one of our colleges, and really i found programming to be interesting to learn.Can i learn it hear ?

    Reply
  27. I read the information regarding the future world in the Software Development field. But I am more interested in the Game Development field poker site as well as in robotics. I consider myself as a fantasy person with a dream of inventing ideas and turninng them into reality. Would a career in game designs/development be suitable for me || web/Business Applications based upon my personality?

    Reply
  28. I’m 13 years old, and my dream job has always either become a doctor, or a computer programmer. I’m fairly smart in class, and get better grades than most kids I know. I saw a form which included the requirements needed to become a computer programmer, and what they do. I see that they create computer games, and learn to code, and find problems within the computer. After looking closer, I found out that computer programming is for me. I was wondering what I could to inorder to improve my skills in coding, and animating things using codes. If you respond, I’d really appreciate the word you’ve given me, and use it for the future. The requirements were completing high school, and going to university for 4 years. Then getting the bachelor’s degree, and completing Computer Science in school. If this is true or not, please respond. Thank you for your time. Regards~Michael

    Reply
    • Hi OMG, i thought to reply to you because it resonated with my career. I’m 40 years old and have a PhD in Biomedical Engineering, and was also interested in computers and healthcare when I was your age. Back then, I did lots of little programs for myself. In high school, I went to a special school for science and technology and also took classes in programming. I went to college with the intent of majoring in Biomedical Engineering and also pre-med. I later learned that it was better to earn a BS in another engineering (I chose Chemical). I took classes in computer programming, designed my own programs (mostly for Microsoft Access to keep track of data from my experiments) and also my regular engineering classes. I eventually got chemical engineering job offers, and recognized that maybe medical school was not for me. I later then went to do a PhD in Biomedical Engineering at a hospital. I found that radiology has lots of computer programming in it. After finishing my PhD, I entered the pharmaceutical industry mostly doing chemistry, but still writing my own computer programs to analyze my data. I now have moved into digital health where I am involved with computers and healthcare, though I don’t do the programming.

      So my conclusion is to recommend to you to keep programming. Get into volunteer activities to learn about healthcare as well. Then major in Computer Science or Electrical Engineering in college. Then as you finish, decide if you want to go to medical school or go for a graduate degree in Biomedical Engineering, and then go from there.

      Reply
  29. I have just completed my IGCSE and I have always been a straight A student. I am quite confident with my English, although it is not my first language. I want to be a computer programmer because Math is my favourite subject and making & breaking codes are my hobbies. I have learned the basics of c++ through various websites by myself but I can only make simple programmes, the most complex of which is probably the pyramid of numbers. However, I am not sure about what programmes I will make if I really become a computer programmer. I mean, there are games and encryptions and application softwares. I am not interested in making games but, given the two choices :encryption and application softwares, which one do you think will suit me the most? (A detailed definition (salary, competitiveness, good colleges,etc.) for each will be most helpful)
    Oh yeah, what other programming languages should I learn after I have mastered the basics of c++, because I read that I don’t have to know every commands for c++ because I won’t need most of them.

    Reply
  30. Hello Leo

    I am a dycalculic and I was wondering if it is at all possible for me to become a computer programmer. I think it is something I could be very passionate about, however, I am under the impression that computer programmers must excel at math. I am 24 years old and have not yet entered college because basically everything I would like to do pretty much requires me to learn and know heavy mathematics such as calculus and what not. While I have never really attempted complicated math, I highly doubt my abilities in that specific area. My dyscalculic mind set is not severe, but I clearly do have a very difficult time trying to solve math problems and even retaining the information sometimes.

    Thanks

    Reply
  31. Dear Leo

    My name is Cody and I want to become a computer programmer and i have been writing code since i was 11 i am now 14 and i started in CMD with stupid BATCH files then HTML then went on to various web languages such as CSS, PHP, Javascript, and MYSQL

    Then about a year and a half ago i started in more serious computer programming languages such as C, C++, and touching in Java.

    I was curious about a couple things.

    I have heard of some differences between C and C++ like C++ is object oriented, and that C generally compiles to a smaller file (which may or may not be true i just noticed it when i would compile the programs)

    But what does Object Oriented mean, and why does C compiler into a smaller file.

    But most importantly I would like to know if you know of any companies that are a good start for a computer programmer after they get there degree.

    I would like to express that i have a fairly good understanding of
    computer programming and responding to me would not be a waste of your time.

    , thank you

    Reply
  32. Leo’s suggestion is quite something, he’s right.
    Although, there are some key factors your son should look into. He needs to figure out what he enjoys the most and what he would prefer to do in a development team, that will help him figure out if he is a programmer, artist, game/level designer, resource engineer, or tester.

    He should first do like Leo said, attempt to learn to program, my suggestion is learn a language with a large community that you can get help from if need be.
    Even if he doesn’t like it at first, he should attempt to learn the basics, then if he succeeds in that, move on to more advanced programming.
    Then if after attempting that he doesn’t like programming, he should see whether he likes to create art or compose music.
    Programming isn’t the only required aspect of game design, that’s why he could also look into game/level design, that’s where most of the ideas and thoughts come out to be discussed.
    Still, if he doesn’t like that, he could always become a tester, but becoming a professional tester requires looking outside of the box, figuring out what is wrong and what should be there.

    There is no guarantee he will get a job in any of the fields listed above, the game development industry is a HUGE competition, but that also doesn’t mean he can’t. With lots of practice, learning and thinking outside the box, figuring out problems that persist through masses of headache’s and strife, he should be able to get a job in one of the game development fields.

    I’ve been programming computer’s for 4.5 years, led small amateur development teams, and accomplished literally TONS of research in order to find information required to get into the game dev. industry. Myself, I have partaken in every aspect of game development, from managing, designing, programming, creating something from nothing, sound engineering, and the works. You can do much at an early age, and it’s no small task, he just needs to put much effort into what he wants to do, and have alot of motivation if he plans on getting a job in the industry. Oh, and I’m only 18.

    Reply
  33. Hey there! My name is Chris and I would LOVE to be a programmer. I have always had a passion for games. I want to program games for a living. But I’m kind of worried. I am 20 years old, almost 21 and all the comments I read about programming on this site and many others are people who are around 13 to 17 and already have a lot of experience. Am I too late? Did I miss my opportunity? Or can I still pursue my dream of becoming a programmer?

    Reply
  34. Programming an operating system has absolutely NOTHING to do with programming a video game. Literally. I’m not sure if you mean literally writing your own HAL, kernel, and bootsector, or working with APIs thrown at you by the OS and libraries, writing applications FOR an OS. But as far as writing an operating system goes, little to nothing but syntax and some design methods can be transfered from a video game to an OS. Video games require hardcore OOP(Most at least), and complete blindness of the computer hardware, using libraries to cover it up.

    Just thought I’d clarify that.

    Chrispy, you can become an extremely good programmer starting at any age provided you have a good passion. I’m only aged 16 and age hasn’t proved to stop me, or anyone for that matter.

    Most people who stay they want to program games don’t really enjoy programming them, they just want to see and play the end result. However, many do. I suggest they work with some basic languages developing some basic software before getting into programming games. It’ll probably save you a lot of time.

    Cody, oop is exactly as it sounds. It’s programming with objects essentially. It’s hard to explain if you don’t have a general idea of programming. In C++ all it literally is(in memory) structs, and functions. But in the compiler, it’s much more, I.E class member protection, virtual functions, inheritance, etc.. If you’re into OOP I’d take a look at java. I’ve worked with C and C++ for a long time, and occasionally java(I wrote an isometric game in it). Java has amazing OOP features that C++ lacks, but I still enjoy C++ much more.

    Nate, programming has far less to do with math then it does to do with problem solving, it just happens to be that some problems require mathematics to be solved. If you passed grade 12 math you’re good to go, but I wouldn’t hesitate to take some more advanced math courses in college. There are tons of good programmers who can’t solve a mathematical equation to save their life(well — that’s an exaggeration) and are great programmers because they can solve problems. However, programming a video game, a 3D one at least, will require some Trig, and geometry, possibly physics(basics though, there are a lot of powerful physics engines out there). If you’re really into programming and not so much into math, you might find software engineering enjoyable, I.E writing segments of operating systems(I’m writing my own O.S atm, it’s not as epic as linux, but it still takes A LOT of work to do), device drivers, etc.

    “OMG”, you never know until you start writing, get a book on it. 13 is a fairly good age to start programming, but just because you’re good at math doesn’t mean you’ll be a good programmer.

    “poker site”, if you’re into electronics, you may find software engineering or hardware engineering interesting. Software engineering I describe above(it involves programming software that communicates with electronic devices, such as drivers or segments of an OS’s HAL). Hardware engineering is extremely interesting and I too have read about programming microcontrollers and building my own hardware(only problem is at 16 I have no income to purchase the devices and components). Hardware engineering involves developing devices like video cards and processors, network cards, etc..

    Hope that helped those looking for an answer. AFK Working on a dumb socials projects. Yeap, I procrastinate my homework ;)

    Reply
  35. just remember me always because its always good for people to admire something better that is not common so i can see that programmers are not useless with the work they do so that is why i feel like to become a programmer

    Reply
  36. I am a graduate of Geography and Regional Planning, I like to be a computer programmer because when I was in school any course that has to do with computer always interest.But what I dont know is if I should go into (GIS)since I have the knowledge of Geography.
    Kindly advice me of what to do, looking forward to hear from you….

    Reply
  37. QUESTION.my name is steve and have been in college for four years now and have not graduate yet and my major is MIS AND INTERNATIONAL BUS.I READLY want to become programmer. is that prosible with my age i am a old man.please help me

    Reply
  38. Am doing my first year computer science student here at the university,can you help me to what i must do to be a good C++ programmer???
    cheers

    Reply
  39. I would like some advice if you get the chance? You see the thing is I am in nursing and I am miserable! I mean great job and good money, but it is not for me. I have found myself madly in love with webdesign and learning new things about computers. I have chosen to switch fields to a computer programmer. My only problem is I don’t know where to start. I mean What college courses should I take, what books should I read, and what else could I do to make sure I become the best computer programmer I can be? I really want this and I know I will be happy doing this job. Please help? Any tips are greatly appreciated!

    Thanks for your time,
    Amanda

    Reply
  40. I need help. I already got an admission to a renown college in the US to read computer science when I realised that I know next to nothing about computers and programming. But now I’m so determined to be an experienced programmer in at least a language. I will need your advice. I also feel that programming is not all about the number of languages one is proficient in but his/her acquired skill sets in problem solving and algorithm development.

    Reply
  41. HI….

    I am a student, styding Information Technology. I am doing the visual basic language, will do C-Sharp and Phyton later in the year, but I would like to ask you, will this be enough to make me a programmer one day. I asked some off my lectures this and they said I must complete this IT course first, this a start to to become a programmer.

    I asked them if i need a degree in computer science and they told me computer science has nothing to do with programming but everywhere I look they want a degree computer science, is that the truth?

    And can you please help me with the qualifications I will be needing to become a programmer

    Reply
  42. You guys know that HTML it NOT a programing language… It’s a Markup Language (Hyper Text Markup language) It’s in it’s name…

    I actually disagree. Many fundamental concepts of programming apply. You’re supplying instructions to a layout engine that are interpreted at display time. (And not every programming language has the word “programming” in their name either.)

    Leo
    11-Mar-2010

    Reply
  43. Yea I’m only 14 and i find the computer programming pretty interesting, but i’m only asking what ARE the requirements to be a computer programmer like what kind of degree i need, and what classes are needed?

    Reply
  44. i really like the info you posted.. it gave me informaiton i needed to know,because i want to study computers and work with them and mybe program. i herd thats its a lot of math involved… but i suck at math.. really bad .. but i fell confident …kinda.. im a Jr. in high school i attend el cerrito high,CA i have a lot of goals in this field …and i love computers ….. it’s in my hart and blood…..thank you please email me updates thanks you again Mr. Notenboom

    Reply
    • With all your getting, get wisdom. Wisdom is knowledge that you have utilized. “Suck” at math? start writing programs that will do the math for you! Don’t “center” yourself any one language, experiment, find one of two that trips your trigger. And, I agree with Leo, after you have some skill, learn assembly, it will help you understand what is going on. I’m a senior-senior citizen, well retired and enjoy writing a little code every now and then, it helps exercise that lump of matter sitting on your shoulders.

      Reply
  45. my name is Tre’von Baugus and im am 14 going on 15 and i would like to be a computer programmer/technition i love computers lol and i dont knw wyhat should i study but i would like to learn how to be a computer person who works with computers. but i am a african american and i would like to become a computer programmer/technition and i love to learn and watch so i can learn how to become that pacific thing that i want to be

    Reply
  46. First off all you 14 and 15 year olds. I am 15 as well and share your compation… however you seem to mispell and make make mistakes in your typing. Writing code would be very dificult to do if you mess up and get done and you have to go back and find the mistake or redo the whole thing. The math skills and such will be nice to have as i have read in many peoples comments and forums. Also ANY computer classes in highschool/College will help in the long run along with (like this guy said) logic and a type of computer science. That is what i have to say. :) Kole Higgins, [address removed]

    Reply
    • You wrote:
      “…you seem to mispell and make make mistakes in your typing…”

      Ahem. What does “compation” (sic) mean?

      Reply
  47. I want to become an software programmer coz my aim is to be the father of computer as like as “Charles Babbage” but I don’t have sufficient knowledge that how to gain my target. Please help me. I want to be a person to whom the world be depend. For being a “Charles Babbage” what will I do? there’s 1 more problem is here thats I dont’ have any BCA, BTec or any degree coz now I’m in BBA-1st year. Can I touch my target or not? To touch the target your suggestions are required.
    Thanks.

    Reply
  48. I became helpful after going through your prophetic lesson. Today, I am first to none in my community with respect to Computer Knowledge.

    Reply
  49. Look, 14-15 year olds, I really hate to burst your bubble but you might be starting a bit to late. I am 15 and have been learning since I was 12. You have to have pation, if you don’t go to bed each night with your head buzzing with all the new exciting things you learned then you might not truly enjoy the work. My advice is in 2 parts, one, actually work. To many times have I seen people get cought up in the idea of programming but never actualy work. Lastly, have somone to show off too, it really feels rewarding to see somone gasp In amazment at your 40 hours of work. Best of luck to you all.

    Reply
    • RHW159 – It was 1970, at 18 years old, when I learned that computers even existed! During my Air Force Technical School for AFSC 30476 Satellite Communications Technician/Operator School. It was a new career field, we didn’t even have classroom teachers or published manuals. Engineers from Hughes “showed us the ropes” and we took it from there. The engineers had showed us how think logically, which is the key.

      Reply
  50. The best drunks do not make good bar owners.
    You know exactly what I’m saying…computer programming requires some math skills, dedication, and death before retirement due to long hours of after hour support and 18 hour days.

    Reply
  51. You don’t need to worry too much if are at the age of say 16 and REALLY want to get into computer programming. Age matters but you don’t necessarily need to no-life on your pc since the age of 12-13-14
    It does really help though.

    I began programming at the age of 8 years old. I am now at the age of 14 and still struggling with the concept of C++. Overall, programming takes time and a lot of it. Combine time with motivation and a lot of coffee and almost anyone can become an experienced programmer.

    Reply
  52. Well, am 20yrs old now from Kenya, Africa. I started teaching myself computer programming in 2007. I was 16yrs old then. I fell in love with it and I immediately started learning HTML.
    Age really doesn’t matter. You can learn programming regardless of the age. Practice practice makes perfect.

    Reply
  53. I’m 17 years about to end my senior year in highschool, and I’m going to join the navy which offers a computer science career which after my four years of duty I was told I can become a computer programmer. Will that alone help me become a video game designer ? Though I know that it will be better on resume to go to a school after the navy.

    Reply
  54. i m 24years i have don nothing. today i think that i have to be a computer programer so i visite this site. plz przy for me to be a pprogramer and plz tell me that how can i be a programer? because i m living in rural area so i have no resorces to join any university colleg or evin school?????????

    Reply
  55. i want to hire a computer programmer to build a i-phone application for me. How much should I expect to pay them an hour and is there a certain type of programmer i need? what else do i need to know to ask them about what i want? it is pretty complex application.

    Not something I can really help with. I can say that iPhone developers are in high demand and short supply right now, so I’d expect to pay a lot – particularly for a complex app.

    Leo
    04-Mar-2011

    Reply
  56. I am 15 years old and I began programing in ruby.Later I moved to VB 2008 and C# 2010.I’ve made web pages,but not sites.I know to program in C#,VB,Ruby,HTML,CSS,JavaScript.Currently I am learning XML and SQL and LINQ.I began making games,but soon realised that my Math skills were not high enough.So if you get stuck somewhere,learn more maths and It’ll be easier.Of course unless you don’t know anything about programing.And saaed.First learn some English.Then learn some light weight programing language(Ruby,Python,JavaScript,VBScript…),then learn some harder programing language like C# or Java or VB.Then in the end learn c++ and assembly.And then,begin making 3d games,because,they require much experience.My advice for a framework .NET.I hope I helped.

    Reply
  57. Great article, now I know what to expect once I graduate college. I originally started college to become a network administrator, but soon realized that programming in general was far more interesting. I’m in the process of transferring from a 2 year technical college to a university in hopes of getting a BS in Computer Science. My ultimate goal is to deal with video game programming, but with a Computer Science degree I’d be able to work in any field of programming, just in case video game programming doesn’t work out. For the people that choose not to go to college because they feel they know everything, than you’re sadly missing out on a great experience. Again great article, it gives rookies like me an inside look at what to expect from the industry.

    Reply
  58. my name is Darren Sharkey and i am 14 my grades are not the best but i want to achieve to be a computer software is there any way to improve on my grades? my computing and maths are pretty good any else i need?

    Reply
  59. I am 15 years old and began programming when I was 12. I started of with C++ (Yes I know many don’t start with this language) then tried out VB6 and .NET. Now I am making iPhone games using the Objective-C language and the Cocos2D framework. My advice to people who want to learn programming:
    -Never give up
    -Try to learn as much as you can
    -Remember that patience is a virtue

    I can go on and on, but these are the 3 top tips I can give you as a start-up programmer.

    Reply
  60. You become a programmer by doing only one thing — start programming! Don’t wait until someone pays you to do it. You do it first because you love it as a hobby. You’ve got to be one of those strange people who just gets satisfaction from creating a rigidly logical process solve a problem.

    Reply
  61. hi i just got 14 years old,and i know pretty much in VB,but only VB.i`m also very good in maths.my question is,should i have known lots more programming languages at this age or is what i know already enough?

    Reply
  62. @Just a rookie
    It never hurts to know more languages, especially as different work places require knowledge of specific languages, but it can also be more useful in getting proficient in a language before moving on to another one as a little knowledge of several languages isn’t as useful as proficiency in one. You might want to check out want ads and see which languages are the most sought after. C+ is usually high on the list.

    Reply
  63. Hw do i become a computer programmer..?wat requirements are need,wat symbol of physics and maths must i hv..in my matric certificate…im in grade 11 so please leo answer me..,i actualy want to be a computer game programmer.

    Please read the article you just commented on. It answers your question

    Leo
    07-Aug-2011

    Reply
  64. Actually i work in a Cafe as an Attendant which I’ve the access to the Internet but within me i love to be a programmer and i will love to some one can put me through? I will love to receive by mail thanks.

    Reply
  65. Hi am 16 an am really interested in becoming a computer programmer. Would pascal be a good language to start with? Or would another one like C be better. I’m not sure as to what type of programmer I’d like to become as yet

    Reply
  66. @Rushawn
    I personally would recommend C, C+ or Java because they are the languages most in demand by people who are hiring. But the most important thing is simply to learn how to program.
    For example, I had been programming in Cobol and Basic when a job offer came up to do a project in Clipper (and language popular in the 80s). I stayed up all night and read the manual and started in coding the next day. There were some rough moments learning how to use some of the totally new functions, but all in all it was not so difficult.
    Once you learn to program and get your first job, you’ll find that in addition to learning to program, you’ll have to learn the ins and outs of the application your are programming for such as accounting and also the specific business field. A manufacturing company is different from a retailer. Or you may work on programs to control mechanical or electronic processes, or making utility software such as AV, back-up programs etc. The options are so varied, it would be impossible to do more than scratch the surface in attempting to talk about the possibilities.

    Reply
  67. Thanks a lot. I’m kinda new to this, hope its not a stupid question but doesn’t knowing multiple languages cause any conflcts when ur actually trying to write a program?

    I know more than I care to think of, and yes – sometimes I do get the syntax mixed up if I’m working in two different languages within a short time span. But in general that’s easily rectified (I keep reference manuals around to remind myself of those pesky details all the time). What’s MUCH more important are the concepts involved in programming.

    Leo
    22-Oct-2011
    Reply
  68. @Rushawn
    Somehow the human brain seems to be able to handle several languages, computer languages, spoken languages, without much mix-up. Maybe some other readers can give their experience here. My personal experience has been with speaking a few spoken languages and I have programmed in over half a dozen computer languages. Have I ever gotten confused? Extremely rarely.

    Reply
  69. I do not know anything about computer programming and I want to know is it hard work and should I do IT in school or i university? Please help!!!

    Reply
  70. Dear Leo
    I have worked in retail selling tv/laptops etc.Ive managed 2 electrical stores along the way aswell.The company i work for decided to make a website & i have been envolved in from start to finnish & have learned a lot .I have a great desire to be a computer programmer & have great intrest in all aspects of programming .I admire both yoursel & Bill gates in what you have achived & i am a firm beliver in anything is possible.I have no degrees or a great education but i am passionate about learning to program & would spend night & day learning as it is pleasure rather than a chore to me.Ive all ebooks on & i am learning more every day & practicing.My question to you is if a great programmer who has not been through all the schools & colleges but can do the job as good or better than one who has a degree/qualification etc is it posssible he could be hired if he could prove he could do the job required..
    Best Regards
    Paddy….

    Reply
  71. I want to know hw 2 become a computer programmer and program vidoes,games,files.e.t.c

    I’d recommend re-reading the article you just commented on. It addresses your question.

    Leo
    07-Jan-2012
    Reply
  72. I would enjoy learning some things from you on how to actually code programs and learn how to change things like that . :)
    Please Respond !

    Reply
  73. I have always wanted to be a game programmer and it has been a big passion for me all my life. I have played many games when I was a kid. However I got into programming later in life and I failed at first. That didn’t stop me from pursuing my passion. Taking a C++ class was tough with no programming experience. However I took it again and I loved it. I also decided to get a Bachelor in Game and simulation programming from Devry. I also took many programming classes and I learned lots. Eventually I got a job as a web programmer but that didn’t last long since I was the only programmer and they had high demands. This was my first professional programming job. After that I started an internship and learned C# and Unity3d game programming. I was able to make a simple games and my interest expanded. All through my time at Devry, I bought books on opengl, directx, game programming, windows api, and assembley. I listened to many video tutorials on several subjects. I learned that game programming requires many skills. First its important to know class design structures. Its important to know math and physics. However you need to be able to implement the math and physics using c++ . You have to be well versed in C++. You have to know your pointers very well. You have to know about memory management. Throughout my road to become a game programmer I got interviewed for a company. But I still wasn’t prepared. I was offered a web programming job at that moment. Since I needed to live and it was getting tough. I took the job and learned web programming and database programming. I also found out that programming is not about the language. Its about the design, how the logic is designed. There is so much involved. You can either choose to make your own game engine which will take you some time, or you can use many game engines out there. There is cocos2d for iphone development, There is Unity3d for pc, mac, and mobile development. I would start with a game engine and figure out how it is engineered. Then try to make your own engine. This will prepare you for a game job. I would make a small game and release it. This will be your road to game career. Also there are many positions in a game company. Decide what kind of game programmer you wish to be. Check sites like Gamasutra or GameDev sites for the positions. Also game programming is a lifelong learning. You always need to keep up with the latest findings in AI, algorithm, memory optimization, graphics rendering, and many other techniques. About me I am still hoping to get in a game company and I am going to GDC 2012 to network and learn more about game programming. Its an amazing hobby for mine right now. I love programming. I am working on a 3d engine currently and some games on ios and android. I love to learn more and more about it. Also don’t forget to check out IGDA

    Reply
  74. I am very interesting in programming I see it as a high valuable job in the future. But I find it so boring. I am stuck, I like the idea of it but don’t enjoy the work is it easy to teach yourself?

    Reply
  75. I’ve worked and played with software since 1966 and must say your column on programming is the best I’ve seen.

    Reply
  76. I tend to worry about those commercials that basically show people playing games as part of the programming. Maybe playtesting, but then (from what I’ve seen & done) it often is along the line of “keep bumping into this wall and tell us if you somehow accidentally get stuck behind it.”

    As well, programming isn’t cut out for everyone, IMHO. I can do some moderate amount of scripting, but programming — let’s just say I managed to break a “hello world” program.

    One suggestion I’d like to make, although it hasn’t helped me, is to take a game you like and create mods. A lot of games are quite highly moddable and it’s actually quite fun. (Funny how I can do this but still can’t pick up on anything heavier than scripting. I have an exceedingly bizarre brain at times.)

    Reply
  77. Leo and Arbidh explained the process pretty well. It takes a lot of work an determination, along with a real love for what you are doing.

    I’ve done some programming, but it was always on a “need” basis – not something I was interested in enough to consider for a career. At one time I was involved in website design, and found a site that offers free courses in programming. I took the HTML course – which is no longer offered – and it really helped me. Not only did I learn the code, but also the concepts of layout, space management, etc.

    The only additional recommendation I would add to what Leo and Arbidh provided is: find free programming courses online to see if that is something you like. If it is, then you will have an advantage over the other students when you begin taking the regular courses. If not, you aren’t out any money.

    With Leo’s permission, I can provide the site that I used. Right now they have 8 offerings. Start with the simplest one and work your way up.

    Reply
  78. @Old Man
    If you find a site which is useful for Ask Leo! readers you can post a link here. Many people post links in Ask Leo! comments. If they don’t appear to be spam, we leave them on, otherwise we nuke them within a few hours.

    Reply
  79. Thank you. Since this isn’t my site, I want to be sure it is OK to post links to another site. I used to work for a website company, and part of my job was to delete ALL such entries.

    The site is about.com. They have a lot of information on a variety of topics. If you click on Browse Categories, you will find one for Computing.

    Some of their information is old, but still of value. Even if their computing courses are a bit old or somewhat shallow, they will still give a person a feel for what programming is like.

    Reply
  80. I think you are just the coolest!
    I received this article in me email and though I have no desire be a video game programmer, I read it anyway. Reason being, all your articles seem to touch on so many aspects that one didn’t even know how to query!
    I love knowledge and find you to be a wealth of it.
    One last thing. So many sites I used to trust now seem to be over absorbed with ads and possible leads that although some of the info may be liable, I find it hard to trust anything based on their obvious end game.
    I think it is rarer than rare that you still are you and you alone.
    Cuddos!
    Thank you for your time, effort and for being Leo!
    Christine

    Reply
  81. “I’ve told people that HTML is a programming language”
    HTML is not a programming language… it’s not even a scripting language! it’s a markup language! that’s what what the M in html stands for! It’s like saying modeling a cube is equivalent to knowing algebraic geometry. What exactly was your job at Microsoft my good man??

    Reply
  82. For all you who want excel at programming and move on to software design, Leo’s point about learning assembly language cannot be overstated. Knowing the hardware upon which the software operates will separate you from the masses. After a 40 year career in aerospace & defense designing electronics, the best … I mean the BEST software engineers I worked with were those who took the time to learn every nuance about the hardware with which they were working. Math and science are two more discriminators, with strong fundamentals you will build solid skills; but soft skills like communication and teamwork are also necessary. Keep your grades up but don’t get too hung up on GPA, employers will dissect this to determine where you liked to concentrate. Experience while you’re in school is absolutely necessary for myriad reasons, some being: is this for you? do you work well with others? can you take direction? will you do what it takes to complete an assignment? … and the list goes on. While playing games can be a lot of fun, programming games can be a lot of work, work you may not want to do. For those of you who take the first step I bid you Godspeed. Ask questions, work hard, be thorough. Oh, one last thing, read Leo’s article … the answers are there.

    Reply
  83. When people tell me they want to be a programmer I always ask the following:

    1. Are you good at solving problems?
    2. When you were in school, did you love it when your assignments included “story problems”?

    Computer programming is about learning to understand problems and describe solutions to those problems using a language that your employer/teacher specifies.

    For a first language (as I write this in 2015) I would recommend learning C/C++. The language and the techniques are very similar to other common languages such as C#, Java, Javascript, Python, etc. but those basics will always serve you well no matter whether you program games, office applications, embedded systems, etc.

    Reply
  84. “Please make sure you learn assembly language along the way.” – Yeah, while Assembly shouldn’t be the starting point – although opinions on that may differ! – it should be learned at some point along the road.

    Reply
  85. I’d definitely go along with the “learn assembly language” suggestion – having been a games programmer for over 20 years, I can honestly say that even if I didn’t include the times when I was writing in pure assembly language (18 months of programming a combination of 68000 CPU and two custom RISC processors which had no similarities to anything I’d ever seen before, resulting in a complete and shipped 3D racing game) I have found assembly language to be useful at least every few days.

    However I would disagree with the person who said don’t start with BASIC. It’s where I started (with BBC Basic) and I honestly believe it helped me understand the underlying concepts of programming in a simple undemanding situation where I could rapidly play around with ideas and had the HUGE advantage in the specific case of BBC Basic of providing the means to try out assembly language within the Basic itself ! I experimented with this while I was at school, which to be fair was largely down to the fact that I already knew more about programming than the school teachers when we started having lessons, and so I was allowed free reign so long as I didn’t hack the computers they were using to teach.

    Beyond that starting point, you may wish to consider carefully what realm of games development you want to be involved with. I am a graphics developer, and have focused on that primarily for many years but there are people who specialise in a wide range of areas including audio, input systems, physics, gameplay, data compression, encryption, networking, scripting and so on. It’s useful to have a passing knowledge of all areas, but it’s important if you want to work in a particular area to know it really well. For high performance code on PC and game consoles it’s typically necessary to learn C++, but many games are now developed on top of a high performance engine, and you can use a wider range of languages on those, so if you really want to write the game, rather than the underlying technology, you can probably get by without the C++ knowledge.

    Reply
  86. The most useful course I took at university was offered by the PHILOSOPHY department, and focussed on three words: and, or, not

    If you completely understand those three words, you can program.

    I’ve done assembler on three architectures: System /360, 6502 and 80386. Not much recently. [smile]

    Reply
  87. I first started work as a systems engineer in the late 70s and at that time anyone – usually one with some kind of college experience – could become a de-facto programmer. I worked alongside a history major and an English major and the company (Westinghouse) taught the programming skills needed. Programming was done in assembly and also in a proprietary higher level language.

    Primarily my work is engineering. But through the ensuing years and companies traveled I sometimes “programmed” to create customer applications. These were human interface applications built around real-time controls. I usually built around Visual Basic or C++.

    With 40 some experience with and around programmers my advice to a young person with interest in the field is this. To focus solely on programming skills is to narrow future opportunities as the market changes and as “you” (as an individual) might change and develop over time. A general education in an area of interest supplemented with a programming skill is my suggested strategy. This approach opens many more opportunities. And – as others have commented – the formal learning experience shall include communications (spoken and written) and logic courses. Both aspects are of critical importance to a successful programming career.

    Reply
  88. There are many questions from many young people here. As an old time engineer and software developer, I’ll address some of these. Some of what I say may be discouraging, but it’s an attempt to give you a real world picture of programming.

    (1) Communication – Heed what Leo said about English and communication skills. If I were to base a hiring decision on the writing in most of these entries here, there would be very few I’d give a second look. People who are technically competent but lack communication and people skills won’t go far. Yes, you can still make a decent living as a techie, but then you shouldn’t expect much more.

    (2) Schooling – You can learn programming without going to school. The reason for school is to have someone help you get started and then to have some credential to get your foot into the door for a job. If you can, get a technical college degree. If you’re good in math, get an engineering degree. Engineering will open many diverse opportunities to you, including programming, if that’s what you want. The best programmers I’ve come across were engineers by education and previous profession. The point is to expand your future marketability and versatility, because you will not want to do programming the rest of your life! A word of caution about going for a computer science degree: that’s not the same as learning programming, and in most cases it’s not even about any type of software development. Most CS programs seem to focus of computational theory, which is amusing, but with few directly related jobs. Most CS majors end up as programmers, having gotten a college degree without the benefits of a traditional engineering degree. If you are serious about game programming, particularly graphics, then you need to be good at high level math, otherwise you’ll just be writing lines of code designed by others.

    Some people asked about boot camp schools, such as Full Sail: If you are already wealthy and absolutely know that you want to learn a particular type of programming (and nothing else), then yes, these are good schools. But if this doesn’t work out, you’ll be left with many thousands of dollars of debt.

    (3) Programming is as much an art as it is technology. You can go to school or pick up a book and learn the basics, but you may find that you don’t have the knack for it. Real programming is also not the same as using some development application where you point-and-click and drag-and-drop things. It’s about writing original lines of code, testing, debugging, and doing this over and over and over again. Another consideration is whether you can endure the demands of a rigorous software development environment (SDE). See the next item for an explanation.

    (4) The job environment – Professional programming is not the same as free-for-all hacking code. It is real demanding work within a very competitive and dog-eat-dog environment. Programming and programmers function within a software development environment. You’ll never learn about the practice of software development and the SDE in any school. SDE is about the organization, discipline and controls needed to design software, manage the team, control product integrity and configuration, ensure quality, and manage many other aspects of the work. For a company, the management of the SDE is actually more important than the code writing part of the job. As a programmer, you’ll have to live within this SDE and follow many detailed rules. The more critical the product that you are developing, the more rigorous the SDE. For example, if you’re working on aircraft software, then not only do you need to abide by your company’s SDE guidelines, but also the government’s (e.g. FAA).

    (5) Languages – If you have no experience at all, any language will do, except C++. Preferably start with C. It’ll give you a basis for C++ and teach you the fundamentals in its raw form. If you’re not going for Web development, then learn C++. To increase your marketability, learn using Microsoft development tools and Microsoft-specific structures, such as .Net. I’m not saying these are the best tools or C++ is a good language (in fact, C++ atrociously grotesque), but we’re talking about marketability. Then it will be easy to pick up C#.

    (6) Alternatives – As Leo said, enjoying programming is not the same as enjoying the end product (such as a game). Programming jobs where you develop a new product from scratch are very rare and typically not given to new programmers. Most programming jobs will entail working on a limited section of code and debugging defects found in existing products. When you start out, this is a great opportunity to learn. Debugging code is a very valuable skill and some people find that they are exceptionally good at it. Besides hard core application programming (say with C++), there are other aspects of programming or related fields you can get into. Web page development with HTML and Javascript are more directly focused on the end product (i.e. the web page) rather than some esoteric algorithm in the guts of software. A related and very marketable skill is database programming (learn SQL). If you’re not particularly good in math but are interested in games, try game art, scenario development or other game content development areas.

    And finally a word about becoming a game programmer: Game development is an extremely competitive and cut-throat business. It’s a business run by big companies who are keenly focused on the bottom line. The work environment in a gaming company is very stressful and there is a great deal of turn over. But, if you have the game development skills, a more stable alternative can be simulation modeling and other simulation projects, such as used for training.

    Reply
    • “If you have no experience at all, any language will do, except C++. Preferably start with C.” – I disagree. There’s no good reason not to start with C++.

      Reply
      • If you really know C++, then you’ll know that there are lots of good reasons not to attempt C++ starting cold. Try teaching someone with no training in any programming language about some of these gems: magic code that executes behind the scenes without a line of code representing it, constructs that defy common sense, differentiating between C++ language-specific constructs and development environment specific constructs (in most cases Microsoft-Windows specific stuff) , misguided concepts such as memory management and garbage collection (for a “high-level” language), high dependency on special libraries, particularly IDE libraries, etc. On top of this gross complexity, a beginner in programming starting with C++ is saddled with the half-baked concepts of “objects”. In a beginning textbook they use trivially dumb examples that represent real objects, such as a clock, but in the real world the object oriented concept turns into a convoluted mess, with the programmer jumping through hoops to conjure up an “object” for implementing process logic. The result is a needlessly complex design which is difficult to debug. I’ve seen more programmers get completely side-tracked in just managing the complexity of the language rather than focusing on the subject matter and solution of the logic problem (you know, the stuff you get paid to do). I’ve seen programmers not understand their own code after a few months away from it. If you start with C++, you learn sloppy and inefficient programming. You begin to think that complexity is the objective of your task. You start competing with other programmers to see who can write the most convoluted code. You no longer see the language as a tool to do a job (a bad thing). If you’re just starting to learn about if-blocks, loops, and arrays, you don’t need trash such as overloading, hierarchies, inheritance, polymorphism, etc.

        Reply
      • A little factoid about C++: When it comes to critical software, such as aviation software that needs FAA certification, object oriented languages and in particular C++ attract special scrutiny. The higher degree of attention is to ensure that the C++ object code actually does what the developer thinks it does. The overall attitude about C++ is captured by this excerpt from an FAA position paper: “Many C++ features, if not properly controlled and verified, can result in software code that is non-deterministic, unused, or difficult to verify, and whose configuration can change depending on the runtime state of the system,”

        Reply

Leave a reply:

Before commenting please:

  • Read the article.
  • Comment on the article.
  • No personal information.
  • No spam.

Comments violating those rules will be removed. Comments that don't add value will be removed, including off-topic or content-free comments, or comments that look even a little bit like spam. All comments containing links and certain keywords will be moderated before publication.

I want comments to be valuable for everyone, including those who come later and take the time to read.