July 2011
Sun Mon Tue Wed Thu Fri Sat
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

September 24, 2002
Being a programmer

Today, while talking to Aaron, an interesting point was brought up: what does it takes to become a programmer?

Definitely education is not the most important point - many (if not most) programmers creating innovative and fancy applications (at least ones that we know) either have a degree in something other than CS, or haven't finished college at all. No, I am not trying to say CS education is worthless; I am trying to say it's not necessary - of course, it teaches you some nifty algorythms and how you can use them, but if you're a programmer at heart, that can be learnt by yourself, on per-need basis.

What a programmer needs is patience. Many things work right away, but most of them don't. Most of them don't work right even after you spent whole day trying to figure out why the heck the particular chunk of code does -almost- what you wanted, but not -exactly- what it is supposed to do.

Another important thing is dedication. You cannot write code if you're not focused and dedicated. You can write code if you're distracted, and that code may even work, but it will not be beautiful.

And probably the most important programmer's "feature" is stamina. Let me explain what I mean. It is often nice and interesting to make something that works, but when you get to the fine tuning, brushing up, and wrapping of the basic functionality you just did, it often gets plain boring. I know plenty of programmers who stop at that point, drop the project and let it collect dust in hopes he'll have the guts to finish it "sometime". The most sad thing, though, is that "sometime" never happens. These folks are bright, and their ideas are amazing, but they gave up when they faced the tedious part of the project. There are no projects that are not boring at some point - yet if you know how to defeat yourself and force the work, you'll succeed. If you don't want to try, you will not.

And a few words on the last thing, which I don't know if it is good or bad - perfectionism. If you're a perfectionist, your project is all shiny, bright, and you keep licking it up until you're totally satisfied with it. But there's a great chance you'll get tired licking it up, and end up dropping the project being unsatisfied. On the other hand, if you don't care about quality of your product at all, probably nobody will care about the product as well. So I guess the important part there is balance between being a perfectionist and being not. In the other words, brush up your project until it feels acceptable, then release it, or there's a great chance you'll never do.

Overall, for me, being a programmer is fun. But I guess that's what most of people will tell me - it is fun being a professional in any field.

 Posted by slava at 08:17 AM | Comments (27)
Related:
Comments

I must agree. I know a lot of people who are CS majors but don't understand why they are. They just chose the major because they want money. Being a programmer is something you can do without taking a class. Just like designing a webpage can be done without reading a book.

Posted by: Etan on September 24, 2002 10:32 AM

Are you trying to make me feel bad, Etan? O_o

Posted by: Sok Peng on September 24, 2002 10:37 AM

Thanks for reminding me why I haven't destroyed the computer sitting in front of me! (Aside from the obvious reason - Win2K PC). I needed that right about now. After spending the last couple of weeks fighting with Java, I think I may finally get this stupid property table done today! And then on to getting mouse events to work how I want them to =). Why oh why didn't Java have an event model that looked like Carbon Events... sigh...

Posted by: Rincewind on September 24, 2002 10:40 AM

Bleh, IM me next time. Anyway, to clarify.

A lot of people choose a CS major because a few years ago having a CS major meant easy money. Nowadays it doesn't. Having a CS major means nothing if you aren't good at what you are doing. A lot of people I know who program have a natural talent at it. They don't need books and classes to learn how to do something, they read and read on their own time for their own personal benifit.

What I was saying is that most CS majors will never become true programmers because true programmers do what they do for the program, not for the money.

Posted by: Etan on September 24, 2002 10:41 AM

What a load of bollocks

Posted by: Ed on September 24, 2002 1:08 PM

Well I'm a sophmore CS major and I have to say I still think it's a good way to go, at least for me. Sure I could programme before attending college but you get to see a side of programming you rarely see from DIYers. IMHO a lot of the problems we see in software development come from a lack of computer science fundations, just having people who leared programming at home coding for hours and hours; and of course commercial presure. I just couldn't beleive how messy my and some of my very good programmer friends code was and even some of the very basics I thought I understood. I just think some people can get this on the job but I do think a lot of programmers should review their knowledge of computer science and look a bit further then the simple coding they write.
Just a side note I didn't choose a CS major for the money, I started well after the Net blowup and money was never my main goal. I decided to go for a CS major because I wanted to see and understand all I could about computers as a whole. Now if I'm able to make a buck and have fun I don't see any harm there :)

Posted by: Marc on September 24, 2002 11:44 PM

Well, although I agree some of the things that I read i.e talent etc, I must add one more point. Theory does not teach you new things, it just openes doors of how to do things in a simple and more enjoyable way.

Posted by: IBO on November 16, 2002 4:47 AM

I am a sophomore in highschool and i am really interested in programming. i have done a small amount of HTML, it was fun but I could never work on it that much due to school and tests and all that BS. Do you all know any good Java tutorial sites? I'm going to go in the direction of a BS degree in game programing. Do you think thats a good idea or should I just get a normal BS degree in computer science?

Posted by: Chris on January 8, 2003 9:06 PM

Hello Chris,

I finished the BS Computer Engineering in 2002.

What got me interested in a BSCS was video game programming.

I did research into a specialized school for video game programming (i.e. DigiPen).

I decided that a university CS degree would give me more career choices.

I have yet worked as a video game programmer but that option is still open.

I did gain valuable experience writing some video games in my spare time during my early CS days.

Posted by: David on January 12, 2003 10:06 PM

Nice blog

Posted by: ip address on May 4, 2003 4:46 AM

Well, I am a freshman in highschool and I have been programming for years just teaching myself. I do OK programming and I plan to get a degree in CS and then start a company. I have been trying to write a text based RPG for a while but they get very complex.
-Tropical

Posted by: Tropical on September 11, 2003 5:22 AM

Hey i go to the CHUBB INSTITUTE in Cherry Hill, NJ for Programming and i love it. I am 23 yrs old. But i have to tell you that i have never felt so right in doing something i feel like i was ment to do it. I mean it is tough at times very tough but it is such a great feeling when things go right. I am taking the .NET FRAMWORK course which iseven better. Now i had no clue on what it took to be a programmer but it takes alot but its all worth it. Now i dont know if lied to me just to take my money or what but they say i can make 30 to 40 grand a year to start if anyone has any comments or anything i would to hear your thoughts and mybe become friends on the net cause i hear u need all the friends you can get. But i would love to pick your brain. Thanks!!

Posted by: Ralph on October 29, 2003 5:30 PM

I just wanted to say that you never do a job just because you love it. Cash is important,too! So, if I see guys who say that "most CS majors will never become true programmers because true programmers do what they do for the program, not for the money" then I truly believe that this guy is rich and doesn't need the cash. Programming is great, but not that great that I'd do it without cash.

Posted by: George Poth on November 23, 2003 9:35 AM

sun is shinning and the weather is good.Bob M.

those guys programmer or CS major, we do this for the for the society and next generations... we give our lifes best times just for building those prymids.no money can compansate. how many of programmers have a girlfriendship? i lick my computer :) most of the time...

Posted by: master on December 15, 2003 11:48 AM

Yup! you are right, to do programming is not as easy as abc, it needs extra talent,with enthusiasm for programming. Without perseverance,you will definitely cannot achieve the goal.

Posted by: blackman on December 6, 2004 7:44 PM

what a load of crap!

I see this all the time from people who don't have any, or at least relevant, education.

Many professional jobs requires that one has a degree in CS....so it doesn't realy matter if you think it's worthwhile or not.

People that fall into the your category are often the same people that don't want to credit anyone with giveng them their knowledge. It's almost as if you think people are known how to programm...ho ho ho. People don't learn how to create an object from 'just messing around with java'. That kind of talk is just retarded (no offense to the retards on this board).

But please, keep telling people not to get a CS degree, because the fewer that do will allow for more professinal jobs to be available.

Posted by: mike on September 17, 2005 4:35 PM

Im 14 years old,

i love computers and there is one thing
that i want and will do which is programming
the trouble is i need help.
i dont know who to start with or where to take a
course infact i dont know much about the aspects
of programming are thats why i need some of you
guys to answer this question
where do i start and how?

Posted by: Benno on October 2, 2005 8:31 AM

I am a 1st year college student, with no programming background, I put my major as BS in CS. I am learning C++ with no prior background. So to say the degrees are worthless is garbage. Not to mention once your out of college who is an employer going to hire a programmer with a portfolio, or a programmer with a portfolio and a degree.

Posted by: Taylor on November 7, 2005 8:28 AM

If you are just out of college, you won't have a portfolio. So who do you think an employer is going to hire? Someone with lots of experience in the field, or someone straight out of college with no experience whatsoever? Yes, the college student as the one with experience already has a job.

Posted by: Rosyna on November 7, 2005 11:26 AM

Hmm Programming is indeed intersting i have yet anytime to start as I am trying to get better in
Math as i need the 80%+ marks I didn't get>. Right now im 16. And I will one day make it trough.
I'm just focusing on finishing school and learning the most out of what I can find on the net,,

Posted by: Patrick on November 10, 2005 2:30 PM

I've been programming for 2 years and I'm 14, I've found that it can be hard to program from time to time and finishing projects can be boring. I'm currently making a MORPG in several languages. And yes, I did learn from messing around with Java and C++, so don't say it's not possible. hehe

Posted by: Matt on November 21, 2005 9:43 AM

First of all i really like the comments of you all. Iam 21 years old and i started to do c programming this last semester is not something that im good but i have push my self to learn, from the net and ebooks. Programming in c, in what i have learn it needs a lot of dedication and patience. But when you get you program to work you feel satisfy.

I also learn that girlfriend relationship is hard when you are doing programming, my girlfriend wanted me to give her time but i couldnt because of programming. Anyways if she would have love me a lot she would still be with me. Thanks to programming ... i have learn a lot of things. Please if you have anything that can help in c programming please do share your knowledge and dont be selfish. Because remember that some one taught you... Well hope to receive a feed back. Thanks. Caleb Aaron Ortega

Posted by: Caleb Aaron Ortega on January 7, 2006 10:25 AM

i dont even know where tofocus on, am too is a cs graduate but no skills in programming at all excep vb since after graduation i dropped programming because my job was techy. now i want to get back on the track and program but seems to overwhelming with all those programming language floating around. i cant even devide. oh man enlighten me master.

Posted by: maddog on May 8, 2007 12:37 AM

The thing that has always amazed me about people involved in programming, educated formerly or not, is the immense amount of arrogance that exists in the field. Most people who program code are more than happy to tell you that you don't have the skills and that you can't get them either.

Add to the fact that writers of technical programming books are lousy writers and substandard communicators of what they know ( As is evidenced by a mound of programming books on the market and passed off as textbooks in schools ) and you have a career field replete with people who believe they have cornered the market in intellectual acumen and creativity.
Perhaps there would be more "prepared for the field," if those who know what they say they know were a little more willing (and able) to share the knowledge. I know, I'm a second year CS student and most academic CS departments have teachers who haven't the slightest idea how to teach.

Posted by: simonj2ster on November 14, 2007 8:50 AM

Everyone has a good point, but my experience is that you don’t need a formal education to become a programmer. I made 250,000 a year I’m start Old, (after my 25) and with 3 children’s a no money. Dedication is the key.

Posted by: Jose on December 3, 2007 2:07 PM

I'm 29 years old, I finished BS in CS, and having 5 years professional exprience in programming so far.
The time I had a lot of passion about computers i was 14 and i went to study computer science and became web programmer.
It's not that easy or fun job as you people think. Because technology producers are updating the technology so often. It became a good sector for them to cash the cow...
3-5 years ago was an excellent job, but now it started changing so fast and you need to keep yourself up to date all the time and you should consider that this is the fastest knowledge changing job.
The knowledge you learn by reading all those books will be useless after 6 months, technology will be updated and if your company is not using new technology or if you don't do self studying in your free times after working 8 hours per day, then you'll stay behind of the technology.
And also most of the companies do not invest on programmers to upgrade thier knowledge or give oppurtunity of time for training or education.
What they do is to fire and get new one, it's cheaper and faster solution for them.
Basically you need to keep yourself up to date all the time like upgrading software.
If you're ready to do this then you can go for it.
Beside that it's the least interesting job or department for girls, so be ready to see very few girls in both studying and working life all the time..

Posted by: on November 22, 2009 1:05 PM

I agree with you that you dont have to be a CS Major to be programmer. We do have examples of Mark and Gates who both dropped out of harvard but stil became great guys in this field. Am not saying that if you are a CS Major you should drop out :).
I would advise though that you get a mentor to keep you on track.
I recommend Chad Fowler's book, The Passionate Programmer to every software developer.

Posted by: john on September 11, 2010 7:16 AM