Click here to Skip to main content
15,902,938 members

Survey Results

Does being a software developer make you proud?   [Edit]

Survey period: 26 Nov 2007 to 2 Dec 2007

Some like to brag about being a Doctor, Lawyer or Rare African Elephant herder. Are you proud enough to brag about being a software developer?

OptionVotes% 
I'm very proud of my profession1,24450.55
I'm somewhat proud44818.20
It depends on the company I'm with41816.98
I'm not that proud1475.97
I'm not proud at all.1164.71
I'm not a software developer883.58



 
GeneralRe: Proud?! Not at all. Pin
Grav-Vt29-Nov-07 18:09
Grav-Vt29-Nov-07 18:09 
GeneralRe: Proud?! Not at all. Pin
El Corazon1-Dec-07 17:29
El Corazon1-Dec-07 17:29 
GeneralRe: Proud?! Not at all. Pin
Hamed Musavi1-Dec-07 19:17
Hamed Musavi1-Dec-07 19:17 
GeneralSome what .........................:) Pin
qumer10128-Nov-07 22:48
qumer10128-Nov-07 22:48 
GeneralNot proud but sad. Pin
CurtD28-Nov-07 11:44
CurtD28-Nov-07 11:44 
GeneralRe: Not proud but sad. Pin
Mel Padden28-Nov-07 20:31
Mel Padden28-Nov-07 20:31 
GeneralRe: Not proud but sad. Pin
Roger Stoltz28-Nov-07 21:47
Roger Stoltz28-Nov-07 21:47 
GeneralRe: Not proud but sad. Pin
illium29-Nov-07 10:28
illium29-Nov-07 10:28 
The MS quote:

"Because multithreaded programs are complex and difficult to debug, they should be avoided when single-threaded solutions exist."



Oddly, I agree with the Microsoft sentiment on this point. It's following the KISS mentality (keep it simple stupid). You have to pay attention to their wording carefully:

"... single-threaded solutions ..."

They use that word "solution". A solution is something that solves a problem. Most development projects (software or otherwise) start with a problem statement... So, a hypothetical programming problem might be... "I need to interact with a database of random business data, to view and edit some information."

Note that the "business requirements" that can be derived from that problem statement don't mention a need for a responsive UI. In fact, that requirement rarely enters the discussion in software development. Generally, a problem is stated with "I need to do this", followed shortly by a deadline for doing that, and a budgeted dollar amount for how much the business can spend to do it.

So, it's quite common that a solution that meets the needs of an average software development tasks will not need to be multi-threaded... Multi-threading is only needed when certain types of business requirements enter into the problem statements.


But really this seems to be more of a quality vs. quantity/speed/cost sort of argument.

Quality takes time. Quality takes skill. Quality takes experience. Quality takes money.... But how often does any really demand, desire, or need quality?

Lets take a step back and think about this from another point of view...

How about furniture?

(Interestingly, people who make furniture are called hackers too...)

Compare and contrast: IKEA vs Handmade furniture.

So, perhaps you have a problem: You have a lot of books in big piles all over your floor, and your new girlfriend is coming over for dinner and you don't want her to think you're a slob. You've decided that you need a piece of furniture to put the books on.. Lets call it a bookshelf (I know, crazy name for it, huh?).

So for that problem, literally *any* bookshelf will solve your problem. However, there are additional constraints here. She's coming over tomorrow, so you need it right away. That means you don't have time to design and have a craftsman build a custom piece of furniture -- you need something that's already built, and ready to buy.

Secondly, you don't have a huge amount of money to spend.. You can afford about $30 for this bookshelf. Well.. that means, you couldn't buy a solid oak shelf with hand carved details on the corner blocks and claw feet. you might have to settle for a simple pine shelf, or even worse plywood or particle board.

Beyond that, you need it to look good, because you don't want your new girlfriend to think that you don't have any taste or a sense of style. In fact, it needs to look similar to the other furniture you already have.. You've got a nice entertainment center and some end tables that are in a light oak finish.

Beyond that, you don't have a truck. You only have a small hatchback economy car. So you couldn't fit a pre-assembled full sized shelf into your car.. That sort of rules out even a second hand or garage sale $20-30 shelf, if you were lucky enough to find one you liked, because you couldn't fit it in the car. You need something that comes unassembled, in a small box, that isn't too hard to put together in your living room in about 30 minutes (and you're NOT a skilled woodworker).

So, what to do? Head down to IKEA -- Buy a $30 bookshelf, made from particle board, with a laminate oak veneer finish. Assemble it with the included allen wrench following the cartoon instructions (no words, just pictures), load all your books onto it, and start thinking about what you're going to make for dinner... because really, that's your core business concern here -- having the girl over for dinner and impressing her.


So, I think that's a fairly transparent analogy. IKEA is like VB programming. It is there because people want it. They need basic programs to be created quickly to meet short-term, unplanned business needs that are generally NOT core to their business, and they don't want to spend a lot of money or effort to make them. In fact they don't even really care how the program is made, as long as the program serves the function they want it to serve.

That said, let think about that guy and his bookshelf a little more. So, lets say he really hits it off with this girl, and eventually they move in together, and they are looking at furnishing their new house. She notices that now years-old IKEA shelf, and sees the veneer is peeling off a bit, and it's sort of wobbly, missing one of the pegs, and not to mention it's too small to hold both HIS books and HER books... She thinks, "Let's get a new shelf".

So, this time the problem is similar, but different: They still need a bookshelf that matches their other oak furniture, bu they want one that is stronger, can hold more books, and they don't want to have to replace it within the next oh.. 20 or 30 years. Also, they aren't in a big hurry, and have a lot more money to spend now that they've combined their incomes and gotten better jobs. In the meantime, the dude also bought a truck, and started learning a little bit about wood working... Not enough to build a shelf himself, but enough to know the difference between solid oak and particle board, and appreciate a nice bit of craftsmanship.

So this time, the couple heads over to the local cabinet-maker's shop, and expresses their needs about the bookshelf. He listens closely, and in a few days provides them with a drawing of the shelf he'd like to build for them, and a cost estimate. They think his shelf design is great -- MUCH better than they had even considered. And the price, while not cheap, is within their expectations. This time they spend $300 on the shelf. It takes a month for the cabinet maker to get the wood.. cut, join, sand, stain, and finish. He gives them a ring, and they come by to pick up their new high-quality bookshelf.

This bookshelf is so good that when their son finally grows up, and moves out into his first apartment, they decided to give him the shelf (25 years later). He ends up using the shelf for another 10 years, before he (and his family) finally decide to remodel and go with a more modern, light-maple style. They sell it second-hand to another family, who may well keep using it for another hundred or more years.

And the bookshelf saga goes on...


So, the roles of RAD/VB/scripting programming and more traditional software engineering are both equally useful and needed in the software development market. They just create different kinds of solutions for different kinds of problems.

That said -- the demand for the "IKEA furniture solution" is WAY higher in terms of units built and sold, than the demand for handmade solid oak furniture made by experienced craftsmen.

That's just modern culture. Blame it on the industrial revolution, or on Ford for inventing the assembly line.


Anyway, if you like to write real code and be a craftsman... do it! But don't get stressed out by all the IKEA code out there. Just toss it in a landfill when you replace it with your nice solid-oak C++ code.

Thanks,
Troy


-----
"It's 5:50 a.m., Do you know where your stack pointer is?"

http://vanguard-against-confusion.blogspot.com

GeneralRe: Not proud but sad. Pin
Roger Stoltz29-Nov-07 21:46
Roger Stoltz29-Nov-07 21:46 
GeneralRe: Not proud but sad. Pin
CurtD29-Nov-07 5:27
CurtD29-Nov-07 5:27 
GeneralRe: Not proud but sad. Pin
MAEI29-Nov-07 11:29
MAEI29-Nov-07 11:29 
GeneralRe: Not proud but sad. Pin
Jeffrey Schaefer29-Nov-07 13:19
Jeffrey Schaefer29-Nov-07 13:19 
GeneralRe: Not proud but sad. Pin
Xiangyang Liu 刘向阳1-Dec-07 3:48
Xiangyang Liu 刘向阳1-Dec-07 3:48 
GeneralRe: Not proud but sad. [modified] Pin
Grav-Vt29-Nov-07 18:01
Grav-Vt29-Nov-07 18:01 
GeneralRe: Not proud but sad. Pin
Dejan Petrovic29-Nov-07 18:54
Dejan Petrovic29-Nov-07 18:54 
GeneralRe: Not proud but sad. Pin
Xiangyang Liu 刘向阳30-Nov-07 7:59
Xiangyang Liu 刘向阳30-Nov-07 7:59 
GeneralMaking money on our back ! Pin
Randhay26-Nov-07 17:37
Randhay26-Nov-07 17:37 
GeneralRe: Making money on our back ! Pin
NormDroid27-Nov-07 0:37
professionalNormDroid27-Nov-07 0:37 
GeneralRe: Making money on our back ! Pin
Vasudevan Deepak Kumar27-Nov-07 2:27
Vasudevan Deepak Kumar27-Nov-07 2:27 
GeneralRe: Making money on our back ! Pin
cpkilekofp28-Nov-07 10:08
cpkilekofp28-Nov-07 10:08 
GeneralRe: Making money on our back ! Pin
Vasudevan Deepak Kumar29-Nov-07 7:20
Vasudevan Deepak Kumar29-Nov-07 7:20 
GeneralProgrammers are like painters Pin
Mike Hankey26-Nov-07 16:48
mveMike Hankey26-Nov-07 16:48 
GeneralRe: Programmers are like painters Pin
Cape Town Developer27-Nov-07 3:51
Cape Town Developer27-Nov-07 3:51 
GeneralRe: Programmers are like painters Pin
Mike Hankey27-Nov-07 6:14
mveMike Hankey27-Nov-07 6:14 
GeneralRe: Programmers are like painters [modified] Pin
John M. Drescher27-Nov-07 5:36
John M. Drescher27-Nov-07 5:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.