As someone who's interviewed, hired and fired dozens of programmers over the years, I can tell you there is no sure fire way to pick out a good programmer. Here are some very loose guidelines I've found helpful:
good:
- old timers with a variety of languages / os's in their background. I love to hire old c++/unix guys just looking for a break to try out java / soa. they invariably pick stuff up really fast, work hard, and know how to do basic programming stuff like debug, set up test environments, etc.
- in decent shape. you can't say this out loud to anybody, but trim people tend to be be a productive programmers. i am not kidding. probably the same gene that makes people disciplined enough to exercise and eat right, makes them a hard worker who can turn out lots of code.
- linux - anyone with linux on their resume, even as a hobby, gets a bump up in my books. you know they love fiddling with technology and can figure stuff out on their own.
bad:
- "working on my phd / masters / taking a course at night". translation - course work will take precedence over project work, and as soon as I'm done my degree, I'm outa here.
- pony tails. I'm gonna catch it for this, but every guy I've ever hired with a pony tail has been a pain in the butt to work with. they're on a different plane of enlightement from you, won't take direction, and in general its beneath them to be working for you.
the ugly:
- those stupid canned tests with five lines of code asking you what is wrong with the above code fragment. i've had guys bomb these tests who were awesome programmers, and guys ace those tests who couldn't code their way out of a paper bag. completely useless imho.
Based on job postings on various popular tech boards:
1. SAP
2..NET
3. JAVA/J2EE
Reports of every IT job in the US moving to India have been greatly exaggerated. Indian salaries have been experiencing double-digit growth over the last decade and are now reportedly 50% of US salaries for similar positions. I predict that in the next decade there will no longer be a compelling business case to offshore all but the largest development projects.
American corporations have made it known for years that their mission is to outsource every last American IT job to cheap offshore facilities. Couple that with long hours, little opportunity for career advancement, and few other job perks associated with other fields (ever hear of a programmer getting a company car? going out for dinner on a suppliers tab? attending a company golf tournament?) and it's little wonder that college students are not attracted to the field. Let the corporations crying about IT worker shortages eat cake!
Two comments:
- I thought this was going to be about how people are playing mmo's for 40+ hours a week. (and I'm an ex- EQ raider, so I know). If you're playing a computer game for 40 hours a week, in the grand scheme of things, does it really matter whether you're farming hides or killing boss mobs?
- "I'm tired of doing the same repetitive tasks for hours on end... ". And this is different from most people's real life jobs how ?
Hi, ex- Sprint engineer here. Actually, we do *not* use cells any longer. Or at least they don't exist in the sense that they existed 10 years ago. The "cell" in cellular phone specifically refers to the old analog mobile phone system (AMPS) where the service networks were divided up into hexagonal cells, with one radio tower serving each cell, and adjacent cells had to be on different frequencies so as to not interfere with its neighbors. With the advent of digital / pcs in the late 90s, networks are no longer divided up into cells, since digital voice packets for different calls could now be sent on the same frequency (code division multiplexing or time division multiplexing), or conversely, packets from the same call could be sent on different frequencies (spread spectrum).
Thus, cells have been obsolete since the advent of digital phones. You might recall the old Sprint PCS ads "... the clear alternative to cellular" - emphasizing the distinction between pcs (digital) and cellular (analog). Of course the radio towers still serve a finite geographical area, but this is referred to as the coverage area, and is not a "cell" in the technical sense.
As someone who's interviewed, hired and fired dozens of programmers over the years, I can tell you there is no sure fire way to pick out a good programmer. Here are some very loose guidelines I've found helpful: good: - old timers with a variety of languages / os's in their background. I love to hire old c++/unix guys just looking for a break to try out java / soa. they invariably pick stuff up really fast, work hard, and know how to do basic programming stuff like debug, set up test environments, etc. - in decent shape. you can't say this out loud to anybody, but trim people tend to be be a productive programmers. i am not kidding. probably the same gene that makes people disciplined enough to exercise and eat right, makes them a hard worker who can turn out lots of code. - linux - anyone with linux on their resume, even as a hobby, gets a bump up in my books. you know they love fiddling with technology and can figure stuff out on their own. bad: - "working on my phd / masters / taking a course at night". translation - course work will take precedence over project work, and as soon as I'm done my degree, I'm outa here. - pony tails. I'm gonna catch it for this, but every guy I've ever hired with a pony tail has been a pain in the butt to work with. they're on a different plane of enlightement from you, won't take direction, and in general its beneath them to be working for you. the ugly: - those stupid canned tests with five lines of code asking you what is wrong with the above code fragment. i've had guys bomb these tests who were awesome programmers, and guys ace those tests who couldn't code their way out of a paper bag. completely useless imho.
There are US students still enrolled in programming courses?
How bout we form a central committee to set wages and prices while we're at it?
Based on job postings on various popular tech boards: 1. SAP 2. .NET
3. JAVA/J2EE
Reports of every IT job in the US moving to India have been greatly exaggerated. Indian salaries have been experiencing double-digit growth over the last decade and are now reportedly 50% of US salaries for similar positions. I predict that in the next decade there will no longer be a compelling business case to offshore all but the largest development projects.
American corporations have made it known for years that their mission is to outsource every last American IT job to cheap offshore facilities. Couple that with long hours, little opportunity for career advancement, and few other job perks associated with other fields (ever hear of a programmer getting a company car? going out for dinner on a suppliers tab? attending a company golf tournament?) and it's little wonder that college students are not attracted to the field. Let the corporations crying about IT worker shortages eat cake!
Two comments: - I thought this was going to be about how people are playing mmo's for 40+ hours a week. (and I'm an ex- EQ raider, so I know). If you're playing a computer game for 40 hours a week, in the grand scheme of things, does it really matter whether you're farming hides or killing boss mobs? - "I'm tired of doing the same repetitive tasks for hours on end ... ". And this is different from most people's real life jobs how ?
Hi, ex- Sprint engineer here. Actually, we do *not* use cells any longer. Or at least they don't exist in the sense that they existed 10 years ago. The "cell" in cellular phone specifically refers to the old analog mobile phone system (AMPS) where the service networks were divided up into hexagonal cells, with one radio tower serving each cell, and adjacent cells had to be on different frequencies so as to not interfere with its neighbors. With the advent of digital / pcs in the late 90s, networks are no longer divided up into cells, since digital voice packets for different calls could now be sent on the same frequency (code division multiplexing or time division multiplexing), or conversely, packets from the same call could be sent on different frequencies (spread spectrum).
Thus, cells have been obsolete since the advent of digital phones. You might recall the old Sprint PCS ads " ... the clear alternative to cellular" - emphasizing the distinction between pcs (digital) and cellular (analog). Of course the radio towers still serve a finite geographical area, but this is referred to as the coverage area, and is not a "cell" in the technical sense.