How To Become A Programmer / Developer Analyst
Career In Programming
So you've decided to explore becoming a programmer/developer. Good for you! This is a much needed occupation, it's highly rewarding, it pays well, and it's fun! The benefits go on and on.
Don't Do It For The Money
I'd tell you not to read further if you've gone into programming just for the money, but instead I will tell you that if you don't love this type of work from the beginning, you will burn out quickly. It's tough sitting in front of a computer typing away all day with very little human interaction (unless that's something that appeals to you). For me, it's not really even work; I do it as a hobby! Where can you get a job that's in an air conditioned/heated office or from your own home, get paid well, get respect from coworkers, and do what you love doing?
Average Programmer Salary in 2009 and 2010
Programmers and Developers have been hit along with every other occupation recently. Sometimes more so, because of the meteoric rise in pay programmers and developers have always enjoyed.
In the United States, a junior programmer salary average starts at around the mid $30,000 range. A junior game programmer salary can expect slightly more at around high 30s or low 40s per year. A mid-level computer programmer salary in 2009 could expect high 40's to low 50's. A mid-level game programmer salary in 2009 could expect to be in the mid 50's.
A senior-level computer progrmmer salary in 2010 is in the $60-70,000 range. A senior-level game programmer salary in 2010 can command around $80,000 or more.
It used to be that game companies paid their programmers in stock options, especially in the dot-com era, but we haven't heard too much of that going on recently. It never hurts to ask during interview negotiations!
No matter how much you love programming, you're probably not going to want to do it in your later years. You're probably going to want to gain responsibilities, authority, challenging projects, etc. The next steps beyond a developer are project managers, IT managers, MIS directors, and even CIOs/CTOs!
You Said Something About Fun?
As a programmer, you have the opportunity to make a device do something just by writing a few lines of words! Now, the words have to follow a certain a syntax, and spelling those words correctly is a must, but, hey, if it were easy, everyone would be doing it! How would you like to make your iPhone ring a specific ringtone if it detects a certain phrase or email address in an incoming email? I don't know if you can actually do this, but wouldn't it be fun if you were the first to write something like this (or, if it's already been done, to do it yourself anyway)?
Is Programming Difficult?
Actually, my fear as an aspiring programmer in the 1990s, especially when the "Visual" programming languages came out, was that they would make programming languages so simple, that there would be a diminishing need for programmers. Hah! Bill Gates and co. knew how to keep us in demand, because although they're making programming languages easier and easier, they keep adding more and more neat things you can do, making it just as complex (or more so) than it was in the earlier days. Also, a lot of people just don't like programming, and others just don't have the logical thinking that programming requires. If you possess these traits, that's what will make you a great programmer!
Universities, colleges, or technical schools are the number one best places to start. Programmers typically need a bachelor's degree, or at least an associates, although I know a few programmers who've made it with just a high school diploma. Don't set your sights low, however. If you want almost guaranteed employment and higher salaries and opportunities for advancement, you need those pieces of paper you get from attending and participating in these establishments. You might actually learn a thing or two about yourself.
I won't go into the myriad of books available. There's so much information available on the Internet, that it almost makes books obsolete. Still, don't underestimate the power that books have to offer. I've had a Windows API book from the late 90's that I still refer to every once in a while.
You can typically download the compilers and IDEs (Integrated Development Environment) for free! Microsoft offers Express (free!) editions of Visual Basic.NET, C#.NET, C++, Web, and SQL Server (for database development), or everything in one huge download, i.e. Visual Studio Express! Sun Microsystems offers Java, and other tools.
Why download the programming language IDE? Because you NEED to start programming. Now! Right now! Get a <insert programming language of your choice here> for Dummies book, and read through it. Then, read through it again. Do the exercises it has in the book, and start thinking about things you've always wanted your computer or handheld device to do. Write your own word processing program, or your own word search program. See if you can find an interesting and free program that has source code that you can download, and go through it, line by line, until you understand what it's doing. SourceForge.net is one place you can go to download free and useful programs AND download the source code for them! Make changes to the code, compile it, and see what it does. Did it do what you expected it to do? Either way, you'll learn something from the experience.
Continue doing these small projects, compiling them, and making installation packages for them. Make them visually appealing, and give them the best graphics you can muster. This will give you good experience for when you have to do this at a company. Also, you'll probably want/need to show off your work to your interviewers, so your efforts will become the perfect marketing opportunity for yourself.
How To Start Programming
The search engines are now a great resource for examples of how to do any particular thing. Microsoft used to be known for their great help files which included code examples, but MSDN has become almost too cumbersome and it's easier just to open a browser and search for exactly what you're trying to do (include the word "example" and your chosen programming language in your search to get a working code example).
Get A Technical Job Or Work For a Large Company
In the meantime, try to get a technical job or work for a large company with an IT department. These are great launching pads into the development world. At a large company, pay your dues at whatever you're currently qualified to do, then try touting your technical knowledge and work your way into a position that's closer to your ultimate goal. I don't need to tell you to dress for the job you want, but, ironically, programmers are typically the worst dressed people as far as professions are concerned. Try writing programs for the things you do every day to make your job easier, but be careful not to violate their computer usage policies!
Rent Yourself Out
I, personally, haven't been too successful in this area, but you can also try RentACoder.com, eLance.com, GetACoder.com, CoderForRent.com, and other sites like it. The competition is fierce, however, and jobs are typically bid very, VERY low. But, if you're trying to gain experience, think of it as a great place to build your portfolio. Don't bid on jobs that you don't think you can do, however. It looks bad for your reputation at these sites, and people won't choose you for their jobs.
Of course, try networking yourself by joining local groups that cater to your chosen programming language. You can look for your local group by doing a Google search, putting in your language of choice, the word "group", and your city and state. For .NET programming, You can search for local user groups at INETA. The more passion you display at these meetings about your interest in programming, the more likely someone will try to help you at whatever you're trying to do.
Now, programmers aren't typically the most extroverted of the human race (programmers use a different part of their brain than the majority of the population), so, like the stereotype, I never did social networking, and my career and programming abilities probably suffered as a result.
If you're interested in my own personal experiences, back in my youth (not that I'm that old, but probably older than you), I never thought I could get a programming job by only knowing the BASIC programming language (I had done quite a bit of stuff on my Commodore 64 as a teenager); it seemed like a dead language or only for beginners. I knew the hard core programmers were using C and C++. I never even pursued trying to get a job in programming/development, even though it would have been my dream job. However, after I had landed a job at a large company that allowed me move around from department to department (starting at the lowliest job and then applying for positions that I thought I could get and seemed interesting within the company), they allowed me to write a few simple programs for one of these departments (in one of the Visual languages). Actually, I didn't really ask permission. Some of the processes I had to do were woefully inefficient and still paper based, so I wrote a couple of "simple" programs that they still used several years after I left! I loved that job, but wanted better pay and to have the title "programmer" or "developer", so I pursued my associate's degree and put these simple programs I had authored into my portfolio. I contacted a few recruiters and then landed my first programming job. Woohoo!
I now manage the IT department of a multi-million dollar business unit, and have several employees under me. And, I still get to program and do what I love! This from a guy who flipped burgers until they were in their 20's.
So get out there and start doing it. If you just read the books and just do the exercises, it's not enough. Look at the source code of other programs, import it into your IDE, and step through it and understand what it's doing. Seek out simple projects you can do for your family and friends if you can't think of one on your own. Add these projects to your resume/portfolio, and when you get that first job interview, explain, with passion and pride, what you've accomplished!
If you think you're interested in VB.NET programming, I want to help!
For a nominal hourly fee, I can set up a web meeting for you, in the evening or weekends, to show you the basics and/or the interface. We can go into more advanced topics as your interest and schedule allows.
You can contact us at the following web site:
I will personally talk to you and conduct the meeting, and it can last anywhere from a half-hour, to as many hours as you want.