If you are an aspiring computer programmer, count your blessings: you are among a
privileged minority of people who could make a fantastic living doing what they enjoy. The idea that you could enjoy your job is a modern concept; People had usually thought work is an unpleasant thing you do till you retire. Yeah, pathetic!
Without elongating the issue, here are King’s Six Pieces of Advice for aspiring Computer Science Students:
- Learn how to write before graduating.
- Learn C++ & Java Programming before graduating(Take programming-intensive courses)
- Don’t blow off non-programming classes just because they’re boring.
- Learn microeconomics before graduating
- No matter what you do, get a good internship.
- Seek professional help for your self-esteem.
When you look at any programming organization, the programmers with the most power and influence are the ones who can write and speak in English clearly, convincingly,
The difference between a tolerable programmer and a great programmer is not how many
programming languages they know, and it’s not whether they prefer Python , C++ or Java.
It’s whether they can communicate their ideas. By persuading other people, they get
leverage. By writing clear comments and technical specs, they let other programmers
understand their code, which means other programmers can use and work with their code
instead of rewriting it. Absent this, their code is worthless. By writing clear technical
documentation for end users, they allow people to figure out what their code is supposed
to do, which is the only way those users can see the value in their code.
There’s a lot of wonderful, useful code buried on source-forge somewhere that nobody uses because it was created by programmers who don’t write very well (or don’t write at all),and so nobody knows what they’ve done and their brilliant code languishes.
Nobody will hire a programmer unless they can write, and write well, in English.
If you can write, wherever you get hired, you’ll soon find that you’re getting
asked to write the specifications and that means you’re already leveraging your influence
and getting noticed by management. Most colleges designate certain classes as “writing intensive,” meaning, you have to write an awful lot to pass them. Look for those classes and take them! Seek out classes in any field that have weekly or daily written assignments.
Start a journal or weblog. The more you write, the easier it will be, and the easier it
is to write, the more you’ll write.
2) Learn C++ & Java Programming before graduating
You need to spend at least a semester learning either C++ , Java or Python, and getting
close to the machine or you’ll never be able to create efficient code in higher level
languages.You’ll never be able to work on compilers and operating systems, which are
some of the best programming jobs around. You’ll never be trusted to create architectures
for large scale projects.
3) Don’t avoid your non-programming classes just because they’re boring.
Blowing off your non-programming courses is a great way to get a lower GPA.
Never underestimate how big a deal your GPA is. Lots and lots of recruiters and hiring
managers, go straight to the GPA when they scan a resume, and they’re not going to
apologize for it. Why ? Because the GPA, more than any other one number, reflects the sum of what dozens of lecturers over a long period of time in many different situations think about your work. SAT scores ? Ha! That’s one test over a few hours. The GPA reflects
hundreds of papers and midterms and classroom participation over four years.
4) Learn microeconomics before graduating.
Why should CS/Software majors learn econ ? Because a programmer who understands the fundamentals of business is going to be a more valuable programmer, to a business,
than a programmer who doesn’t. That’s all there is to it. I can’t tell you how many
times I’ve been frustrated by programmers with crazy ideas that make sense in code but
don’t make sense in capitalism. If you understand this stuff, you’re a more valuable
programmer, and you’ll get rewarded for it, for reasons which you’ll also learn in micro.
Smart recruiters know that the people who love programming taught at computer camp for three months before college, and built the content management system for the campus
newspaper, and had summer internships at software companies. That’s what they’re looking for on your resume.
If you enjoy programming, the biggest mistake you can make is to take any kind of job
part time, or otherwise–that is not a programming job. I know, some 19-year-old
wants to work part time in Amigo plaza or Wuse II, but you have a skill that is incredibly
valuable even when you’re 19, and it’s foolish to waste it with shop sales. By the time you graduate, you really should have a resume that lists a whole bunch of programming jobs.
6) Seek professional help for your self-esteem.
To make your life really easy, and to underscore just how completely self-serving this
whole article is, my company, Abiola Kings Software/web design and educational consultant, has good and effective professional advice that will help your self esteem look great on resumes.