Fog Creek Software
Discussion Board




Should I be a Programmer?

I had no experience in programming before taking a course in web development. They taught us PHP 4, Classic ASP, and Coldfusion 4. I realized I wasn’t bad at it and I learned it pretty fast. I’ve developed quite a few applications.

I’m 25 now and do not have the time to go back to school for another 3 years for computer programming, then realize I’m not cut out for it.

I would like to know:

1. What does it take and how to evaluate myself before starting a new career in programming?
2. If I were to teach myself, where should I begin? What language should I learn? Should I start with the older languages?
3. Math is not one of my stronger skills, would this be a problem?
4. Does it take a 3 year program to be a programmer?

Any advice would help me decide.
Thanks

James
Thursday, December 12, 2002

4. Does it take a 3 year program to be a programmer?

I wish. I think it takes a lifetime to become truly good at it. But after a few years you start to get better at finding the answers. After 5+ years I am still considered a newbie and rightly so.

I say follow your heart, if you enjoy programming then why not go for it? I think of all the possibilities for the future computing and it keeps my interest.

Ian Stallings
Thursday, December 12, 2002

Anyone can be a programmer. Perhaps a better question is do I want a career as a programmer ie software engineer.

>>1. What does it take and how to evaluate myself before starting a new career in programming?
Some attributes of successful programmers: persistance (willing to spend days on a thorny bug without giving up), love of new technology (software reinvents itself every couple of years), creativity, a sense of aesthetics, attention to detail, a logical mind, and the smarter the better. Being able to work on a team is key.

>>2. If I were to teach myself, where should I begin? What language should I learn? Should I start with the older languages?
A 'programmer' should have a fundamental understanding of computer architecural issues. One great way to learn this is by learning the C language. It exposes enough low level issues like memory allocation, pointers, system level calls to be educational. Try to learn a functional language such as Lisp for a different persepective on programming.

>>3. Math is not one of my stronger skills, would this be a problem?
Depends on the type of programming you want to do. You would really want a strong math background if you want to do numerical compuations/simulations/graphics, not as important for many other types of development.

4. Does it take a 3 year program to be a programmer?
I think it takes a lifetime to be a programmer. In other words, there is always something new to learn. To become proficient at some segment of programming, can take far less, perhaps 6 months to a year. However, given the current economic situation, it might be worthwhile to go back to school to get a degree. My company at least is not even willing to consider someone without a BS in computer science, EE etc.

Good luck.

Pedro
Thursday, December 12, 2002

No, because if you are not willing to get your degree, your resume will be thrown out (check out the thread on Joel and Economy started by anonymous coward). Unless you create your own company and make some bomb software.

Giampiero
Thursday, December 12, 2002

I help out with the hiring process at our company.  (yet, i'm still getting my degree... ponder that for a minute Giampiero).  From what you've said,  you seem like the ideal canidate for a programming job.  Sure, your going to start at the bottom, (asp and cf ain't that tough) but the fact that you wrote some sample applications and took a class shows you have interest.  Interested and motivation are key factors. If you like doing what your doing, thats even better. 

Vincent Marquez
Thursday, December 12, 2002

Yes you shold

Daniel Shchyokin
Thursday, December 12, 2002

The acid test would be C. Get this book, and do whatever it asks you to.

The C Programming Language
Brian W. Kernighan and Dennis M. Ritchie

If you don't like this book, you are not going to enjoy programming.

my 0.02!

Prakash S
Thursday, December 12, 2002

I think whether or not you become a programmer should also relate to your temperament.

Here's my test: if you hit a bug, what is your reaction?

1) Scream at the computer, "work, just f*cking work! What the f*ck is wrong with you! Aaaaaaaaaaaaaaaaaargh"
2) Hmmm, how interesting.  I wonder what I did wrong there? Perhaps I should think through the logic...

If your typical reaction is 1, for Lord's sake don't become a programmer.  Your days will be filled with stress and anger and you'll give yourself an early ulcer.

I programmed for a few years and I gradually became aware I was a type 1 - so, I gave up programming.  I'm much happier now :0)

Sherlock

sherlock_yoda
Friday, December 13, 2002

Unless you can make money from acting, music, tennis, golf, etc, consider programming.

I enjoy programming, and I make a good living from it, but hey, there's more fun things to be doing, right?

Alberto
Friday, December 13, 2002

I've been a "software engineer" for about 6 years and have given myself a hard deadline of next October to resign, and figure out some alternative career. Programming can be fun and interesting but largely what you need to do on the job is not fun or interesting. The most successful programmers I know are guys who cooked up a project in their parent's basement and ultimately sold the project to a larger company.

I don't know where you are from, but I'm an american, and every american needs to know how to shoot a gun, drive stick shift, and program a computer. So I do think you should learn how to program, it is a very powerful skill. I don't think you should become a professional programmer, most jobs you will find are an utter waste of time and talent.

maybeNot
Friday, December 13, 2002

Scroll to the bottom of this page (http://www.joelonsoftware.com/navLinks/fog0000000262.html), and read the other book.

(I already mentioned the 2nd book)

Prakash S
Friday, December 13, 2002

Note: Giampiero is trolling.

In my opinion, Pedro makes a good point.  Do you want to program, or do you want to make a living programming?

Yes, you can be a programmer, but I expect -- particularly in today's market -- that you won't be hired any time in the next few years.  Programming requires a few years of experience to acquire marketable skills.  Companies (these days) aren't interested in hiring somebody who just picked up a book on JavaScript two weeks ago.

However, you can certainly program in your spare time, and build up your coding skills that way.  If you find that programming is still fun after months and months of hacking away at side projects, then that's a good sign that you'd be suited to full-time programming.

I'd start by skimming the bookstore for introductory programming books (usually better than trying online resources, in my and my friends' experience), then find one you like, and try it out.  Feel free to be organic and try different languages, environments, etc.

Just play for awhile.

Brent P. Newhall
Friday, December 13, 2002

I just wanted to add something real quick -  If you can't get into programming directly another route is to take a position is tech support or systems administration then work your way towards a programming position. That's how I started, I manned phones at tech hell, then became a systems administrator, which is where I started programming to simplify tasks. It's just one possibility. If you like this industry then simply work your way up.

Ian Stallings
Friday, December 13, 2002

Should is a four-letter word. Only be something if you cannot not be it.

Well that applies for musicians anyway.

fool for python
Friday, December 13, 2002

A couple of posts ago someone recommended reading Code by Charles Petzold.  The implication being that if you like that book then you probably would like being a programmer.

I love being a programmer and have done for the past 14+ years.  I find Code to be a waste of time.  Sure it wasn't recommended for programmers, but still.

I find that if you like solving problems then programming might be for you.  If you don't like solving problems find something else.  The previous post about how you react when you find a problem is one of the best indicators.

John
Friday, December 13, 2002

1. What does it take and how to evaluate myself before starting a new career in programming?
Most programmers are not that good. They are just maintenance programmers/insurance.

2. If I were to teach myself, where should I begin? What language should I learn? Should I start with the older languages?
This will take alot of time (years). I recommend you DO NOT do this. To truly become good at programming this way you will ultimately lose everything else. 

3. Math is not one of my stronger skills, would this be a problem?
I have a deree in mathematics and have never used anything above 4th grade level arithmetic.

4. Does it take a 3 year program to be a programmer?
No (maintenance maybe). I read an article "learn how to program in 10 years" somewhere. Programs, degrees, and classes are great but its the individual that matters.

For me, I got in to programming because I like puzzles, research, thinking, and generally playing with ideas. I do not like BS, bureaucracy, or stupidity. Contract programming is ideal for me.   

Beaver Cleaver
Friday, December 13, 2002

>>1. What does it take and how to evaluate myself
>> before starting a new career in programming?

You simply have to try it. Setup a private project. Make sure that yo think along the lines of "I want to do X...hmmm...must learn Y" rather than "I only know P so I can only do Q".

>>2. If I were to teach myself, where should I
>>begin? What language should I learn? Should I
>>start with the older languages?

Depends on what you're interested in. Want ot really, REALLY learn programming? Start with assembler - that'll give you one hell of a foundation (take it from someone that did), otherwise C or C++ is a "must" to understand how things work. Don't throw yourself over Java or the OO parts of C++ until you've mastered procedurale programming though.

>>4. Does it take a 3 year program to be a
>> programmer?

No, it probably takes a lifetime, but that's the fun part of it - you'll always have challenges if you're a programmer.

Lennart Fridén
Sunday, December 15, 2002

[Start with assembler - that'll give you one hell of a foundation]

That's what I did. I didn't learn it very well, but at least I understand how it works. It took me 2 years, but after that learning other languages has been easier by comparison.
(It still was a challenge to understand OO, though.)
The early stages of learning programming are very hard, compared to later. I think if you feel the excitement and challenge outweighs the difficulty and confusion, then you should be a programmer.
As someone else said, you have to love problems, not hate them.
One good thing about programming is that almost all problems get solved by the end of the day, or at least by the end of the week. That sure doesn't happen in the other areas of your life!

PC
Sunday, December 15, 2002

[]{}4^&%&*^(*^&(*&*789u[]890u90*(*()*)*[]]''''''

[][][]{}}{}
Tuesday, April 22, 2003

*  Recent Topics

*  Fog Creek Home