|
It doesn't make me proud when I can barely do anything worth whiled, if I could i'd be proud
|
|
|
|
|
Colin Angus Mackay wrote: why did you choose to address me with "Angus"? I've noticed a number of people have done that over the time I've been a member here and I could never understand why.
One reason may be the regional trait.In Pakistan mostly the second or middle name is used, unless specified the other name. For example, "Mohammad Idrees Ahmed" is called by "Idrees". Sometimes, a person is identified by their family name, which traditionally appears as the last name, but this is rare.
________________________________
Success is not something to wait for, its something to work for.
|
|
|
|
|
We ought to be proud of software development.
Why?
Just look at our representatives in this field: Microsoft and Google and the gangs, they change the world.
That's why this field of work is not any less important than other fields such as discovering new medicines to cure diseases (biology).
Why is it that people think lawyers are liars and crooks, but they're proud, they always tell people they are lawyers.
mnnca
|
|
|
|
|
Actually, I am proud - I am more than just a programmer. I can deconstruct any profession or business process into abstract concepts and render them into a series of complex algorithms with perhaps a dozen different code languages. With Photoshop or Lightwave I might render the interface and implement it with Flash, DHTML or Silverlight.
They in other business departments seem to have difficulty mastering their one job and cannot handle one spoken language much less a programming language which changes constantly.
Nicholas DL
|
|
|
|
|
Hamed Mosavi wrote: To be proud, I need more than just being a programmer.
being a programmer in multi-processor/multi-core environments requiring massive physics engines, high math, problem solving, inventing algorithms, energy distributions, predictions, special effects, full 3D graphics, simulations of the whole world. just a programmer ain't so bad. It's all in what you are programming.
_________________________
Asu no koto o ieba, tenjo de nezumi ga warau.
Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
|
|
|
|
|
El Corazon wrote: just a programmer ain't so bad.
Of course it's not. I love it, even though I don't earn enough from it.
El Corazon wrote: It's all in what you are programming.
Absolutely. That's what I said in another post and agree 100%
El Corazon wrote: multi-processor/multi-core environments requiring massive physics engines, high math, ...
Damn! you must enjoy programming too much. Specially if you have enough time.
Cheers.
// "In the end it's a little boy expressing himself." Yanni while (I'm_alive) { cout<<"I love programming."; }
|
|
|
|
|
Hi
Well it depends upon where u r working and in which part world your doing job. In the society where people know a very little about computers and related technologies, it is hard to be proud on such job and people knows and praise the doctors, engineers, lawyers ect.
But one thing is clear PROUD U R WORKING
|
|
|
|
|
When I graduated in C.S. 25 years ago, I thought I was entering a creative, respected profession and starting a career in a fascinating high-tech industry with no where to go but up. Instead, I got a cold slap in the face from reality. Other than making a paycheck, I consider my "career" a total waste of time.
Sure, I know a lot about PC’s, Windows, C++, Sql, and Object Oriented programming – but who gives a rat’s ass?
Software developers are probably one of the most hated groups of employees of all time. Ever since the 1950’s, the long-term goal has been to make software development so easy that there is no need for us in the first place. COBOL was going to allow accountants to write their own accounting apps. VB was going to let secretaries write their own word processors. Well, VB didn’t work out, but maybe C# will. With dreamy eyes, they try to envision the day there will no longer be a need for software developers.
Over my “career”, I've seen far more piles of spaghetti slop than decent code. Very few developers give a whit about elegance, artistry or simply just taking any pride in their work. They just start churning out the code, without letting any thinking or design work get in the way. They just want to get through to the next week. I’ve lost count of how many times I’ve heard the phrase, “We’ll go back and fix it later.” But I can tell you how many times that someone actually went back and fixed it. Unless it was a critical bug, no one ever cleaned up anything. It was left for the next round of kids to deal with.
In the meantime, after the number of software project failures has multiplied, management has taken the approach that there just aren't enough controls on these “cowboy” developers. So they come up with things like CMM and CMMI. The belief is that if they can just bog the developer down with enough rules, structure, and paperwork, and destroy all creativity and experimentation, then their software just has to start working better. Make developers march in lock-step and repeatedly go over their design on paper before writing any code on the computer (somehow this was all left out of my C.S. college education). But, oddly enough, software usually doesn’t run as well in the computer as it looks on paper. Sometimes those paper drawings just don’t work at all.
But you’ve spent too much time and money on the design documentation – so you have to proceed on regardless.
What is there to be proud of? Most employers and managers think developers are a commodity. We can easily be replaced by cheap labor from abroad -- we're sort of like sweatshop labor churning out sneakers in 3rd world countries. When one kid dies from exhaustion, you just hire another.
A profession? How many people go into their surgeon and start telling them how to operate? But somehow managers, most of whom have never written any software, not only feel qualified, but obligated to come in and tell me how to do my job.
I've worked in a lot of places, and usually less than 10% of the developers have any formal software training (i.e. a degree in C.S.). There are a lot of EE's who couldn't get any other job, so they just started writing software. Some of them don't even bother to read any books on software development. Maybe they’ll get one book on the C language, code, and go.
I've gone on plenty of interviews where the employer wanted to talk salary before even looking at my resume -- let alone talk about my accomplishments. They were looking for a certain price point -- like buying shampoo. The generics do just as good a job as the pricier name brands.
I interviewed for a job on the 1996 Olympics IBM scoring system project that, not surprisingly, turned out to be a disaster. I went in and met with the one grown-up – a white-shirted IBM manager. The developers all looked like college interns. What was my experience? I had just finished writing a multi-threaded communications server in OS/2 – exactly what they needed. But, it turns out I was far too expensive for them. They could hire several kids for my price. Who needs experienced developers when you have an experienced manager with loads of IBM books on how to write software? Of course, in the end, they never could get the multi-threading to work and the server had to call out scores to one location at a time. This was nowhere close to fast enough to keep up with the games, so I believe they went back to manually phoning out the scores. It was so embarrassing, that IBM had to cancel their advertising during the Olympics. But, at least they saved a few $’s on developers!
So what is the answer? Well, the truth is ugly, as usual. But, here is the secret: Developers are not a commodity. Writing quality software is NOT easy. It requires ongoing education and experience. Hire good developers and let them do their jobs.
Yeah, fat chance. I think I will spend my time planning on retirement.
Most people have Internet porn filters for their kids. I also have a software development filter. If any of my kids are caught trying to learn any software development, they are off the Internet for a month. And you can probably imagine what career day at my kids’ school is like.
|
|
|
|
|
Wow. While I don't think my feelings on Software Development run quite as high as yours obviously do, I would say that your description of the various malaises that are currently crippling the craft is the best and most comprehensive I have seen. The thing is, that buying or creating good and reliable software is still, after all this time, not seen as something as critical as buying, say, treatment for a life-threatening illness, or wiring a house for electricity, or even installing an alarm on a car. It's just not taken seriously. I'm not sure whether this actually will be true for much longer though, as we as a society are becoming more and more dependent on software.
On the other hand, this throw-away attitude towards purchasing goods and services is definitely getting worse as cheap alternatives to hitherto expensive services come on-stream. I recently spent time in a Web development house, and one of the projects I worked on was a brochure-type site for an eye laser surgery clinic. In the course of the initial design workshop, he gave us a sample sales pitch to give us a feel for what he was marketing, and it blew me away. His baseline costs were around 150-200% of his competitors market prices, because he refused to skimp on the quality of the product he was selling. He was hiring respected professionals and giving them around 15 operations to do a day, whereas he was competing with people flying guys from Eastern Europe on a 3-hour flight, and giving them upwards of 40 ops to do a day, at a quarter of the unit price. It just staggers me that people would skimp on something like their eyes. This information is not insider stuff, it's on the website and is out there. But peple look at the bottom line, and risk serious future problems in order to save a few quid. My point in mentioning this is, we're not the only ones competing with this cheap-as-chips mentality.
Smokie, this is not 'Nam. This is bowling. There are rules.
|
|
|
|
|
Very well written and I couldn't agree more.
I really mean what I state in my signature, "it's supposed to be hard". Writing software is not for the common man/woman. It's when the common man starts to develop software without understanding that we get strange proclamations like this one[^] from MS.
Software development is a profession. You won't hear the carpenter say "oh, by the way I also perform heart surgery occasionally" and if he did I wouldn't trust him to surgery on me.
Furthermore it is not sufficient with formal education, you really need talent to become a software developer that is able to write quality software. Writing software is an art, the design/code can be considered beautiful or ugly. I consider the talent to be more necessary than the formal education; the formal education only proves that someone is a competent parrot able to repeat things read or heard in school.
With tools like VB I don't find it surprising that several managers have an attitude like "writing software is not so hard, even my 12-year-old does it". How can we expect any other attitude?
Even worse are managers that consider themselves experienced when they've written a dozen assembler instructions ten years ago for a dish washer.
Half a century ago an engineer was a very important asset to a technical company and the important question for the management was "does it work". Nowadays the most important asset to a technical company is the salesman and the important question for the management is "can we sell it". This attitude only creates low quality products.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
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
|
|
|
|
|
I think you're missing my point, even if I'm somewhat impressed by the quantity of words in your post.
The IKEA analogy doesn't really fit since...
You can go and have a look at the bookshelf in the store and get a feeling for the quality of it, whether the colour matches the furniture you've already bought or not. You see what you get, no surprises.
The comparison that would match should be between the carpenter that builds the shelf from scratch and the person that assembles the IKEA shelf.
The attitude I'm talking about would be a typical bookshelf buyer paying a visit to the carpenter and when shown the shelf drawing and the cost estimate argues that he knows of another shelf that's only 10% of the price and "making" it didn't strike him as very hard to do. What he doesn't realize is that the cheaper shelf was only assembled from parts made by third-parties when he watched. It was probably assembled by his 12-year-old and it has less stability and so on. The carpenter cannot argue this since the buyer is not able to see the difference.
Suppose the IKEA bookshelf has a flaw; it wobbles. The owner of the bookshelf pays a visit to the carpenter to have it made more stable. The carpenter uses tools that you won't need when you assemble the IKEA bookshelf.
With the Microsoft proclamation in mind, the problem is if IKEA earlier proclaimed that "you should not use any other tools than the ones supplied with our products". The carpenter is skilled enough to know that the tools supplied by IKEA cannot possibly do the trick and he realizes that the proclamation is not suitable in this situation. However, the 12-year-old and his dad argues that the carpenter has used the wrong tools for the job referring to the IKEA proclamation.
A skilled programmer may use VB to do something with less quality or performance requirements in the same way a carpenter may assemble an IKEA bookshelf. However, the 12-year-old is not competent enough to build a bookshelf from scratch. My point is that even if you're able to "assemble" applications with VB, it doesn't necessarily mean that you're competent enough to build complex applications with hard requirements regarding quality and performance. But the market/management is not able to see the difference.
illium wrote: 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.
Agreed.
One important ability of a skilled craftsman is to select the right tool for the job.
But my point is not about the tools really, it's about the market/management being confused about the tools.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
Ayn Rand had it right. Anyone who tries to rise above the mediocrity of the masses must be destroyed. But, take their cool inventions first.
|
|
|
|
|
Wow ... you have summed up EXACTLY what I was thinking.
wahoo
|
|
|
|
|
<< And you can probably imagine what career day at my kids’ school is like.>>
LOL!!
I completely agree with everything you wrote, and have experienced similar.
I was with a Big Client for over 5 years. For the first 4 years the management was very technically knowledgeable and competent. They loved my work and I liked not having to explain anything to them in simplistic terms. Then Big Client was purchased by a competitor who installed their own management. The new management "gang" was NOT AT ALL technically literate. They liked me, but they didn't like my hourly rate. After a year they replaced me with 4 guys from a 3rd world country who were commissioned to replace the system I had built (nothing was wrong with it, mind you, and everything was right with it as well, and it was thoroughly documented, extensible, etc). Anyway, sevaral months after the replacement project was under way (but before I left), the replacement project started to lag WAY behind schedule. So the new management brought in an additional 4 guys from the 3rd world country - all on the minimum wage H1-B visa (or so I was told). Now they had 8 guys for the price of two of me (looks great on paper - eh?). Before I left, I saw proposals for the replacement system. I went to management and told them the proposal was architectually flawed, and wouldn't be able to be fixed if built as designed. They dismissed my concerns outright as "sour grapes" rather than attempting to listen to the merits of what I had to say. Fast-forward 3 years: Big Client blew more than 8 million dollars on the replacement system. They even hired Big Consulting Firm to come in and save the project. But the replacement system NEVER went into production and was 'canned because it couldn't be fixed (for the exact architectuaral flaws I pointed out on my way out the door a couple of years before). The system I built was never unplugged and last I heard is still in production, humming along just fine. Oh, and nobody was fired or even reprimanded for this 8+million dollar debacle.
I love what I do and am proud of the work I do, but I'm not proud of my profession. I hesitate to tell new acquaintances what I do for a living... because so many programmers and IT people in general are so incredibly incompetent while simultaneously being arrogant. Bizarre, but true.
My brother is a fire fighter and paramedic. He saves lives for a living. Now that's a profession worthy of being proud of.
-Jeff
|
|
|
|
|
That's a great story. Too bad it won't be printed on the textbooks for software management. I think people writing such books came up with the idea of replacing one good software engineer with 8 bad ones for the price of two good ones.
|
|
|
|
|
CurtD, I remain in complete agreement. I attend meetings wherein my profession is mitigated with terms as "don't talk techie", "no one wants that geek speak" and "we don't want you heads-down programmers".
Often I reflect, within, the reactions were I to mitigate their professions with: "I might create this application faster were it not for your accountant bean-counting and your sales babble." The vehement reactions would be priceless; however, all is justified as they ridicule my vocation.
Perhaps worse upon returning home from work, I encounter blog entries in which professional coders lament that "programming is too hard", that programming should be not more than snapping Lego pieces together so that we all might attend to the real work of close interaction with our fellow co-workers in a pair-programming nightmare since none of us is as important as all of us.
Programming should be hard; algorithms should be challenging. Intelligence is requisite to master a few dozen languages, web concepts and architecture with creativity and innovation. If coding is too difficult and one misses collective fellowship with many co-workers, I hope the door to this profession does not hit him too hard on his way out.
At least in my profession, I am the lead architect (and I code); so, I have the opportunities to promote individual achievement, not group-think. I permit other programmers to be "heads-down" since coding is an introvert's profession. I promote coders think of themselves as the intelligentsia, not the ridiculed geeks.
Of course you realize that the mention of Ayn Rand will send others into collectivist derangement. I have Ayn Rand posters in my office and a few in the office are driven to speaking in tongues.
L. Nicholas DL
-- modified at 0:12 Friday 30th November, 2007
|
|
|
|
|
Yes. You made me sad as well while reading your post, but you are 100% right.
Dejan
|
|
|
|
|
|
More than once experienced this... we analyze, design and develop beautifull apps that help the company to cut cost significantly, make its services more marketable and sell more ... but the salary remains stagnant, just a petty increment or "Good Job Roger!". That's it!!! It really pains when you see marketing people brag about your baby software to clients and pocket commission ITERATIVELY. All we usually get are curses if the client faces a problem and dealines to fix it asap. How about the commision man!
|
|
|
|
|
Randhay wrote: How about the commision man
Be the salesman, makes sense. A really good salesman would be able to flog websphere (one of the worst applications ever to be written) and make a ton of cash pushing it through a companys door.
WPF - Imagineers Wanted
Follow your nose using DoubleAnimationUsingPath
|
|
|
|
|
Randhay wrote: when you see marketing people brag about your baby software to clients and pocket commission
And the royal red-carpet welcome they get at the client's place, frequent flying programmes across the globe and the benefits for the sales personnel goes on...
Vasudevan Deepak Kumar
Personal Homepage Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson
|
|
|
|
|
There's something you should all realize...software developers can be had for cheap wages. You see, we get fulfillment out of making it work. We aren't in the business of making someone hand us big checks, so we don't direct our efforts to getting good at making someone hand us big checks.
Salesmen, on the other hand, have one purpose in life: come back with a check, or give up their own check.
Also, most firms can get by without a software developer. No firm can get by without a sales force, because business depends on things being sold.
"Sales is king." - quoted from multitudinous business sources
I started my career in business as a salesman. I'm proud to say that I switched to a profession where I rarely if ever have to put my integrity behind my greed - few salespeople can make that boast.
Christopher P. Kile
|
|
|
|
|
cpkilekofp wrote: most firms can get by without a software developer
Not to offend but from a developer's perspective this query would apply. Wouldn't that be like a mortuary with no active development and just but old products being circulated and rotated? How long would that keep rolling unless there is an active development at all?
Vasudevan Deepak Kumar
Personal Homepage Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson
|
|
|
|
|
Anyone that picks up a paint brush can call there self a painter, but few people can apply it with a high level of skill. The ones that can leave a lasting impression, those don't leave a mess for someone else!
Mike
Life is not measured by the number of breaths we take, but by the
moments that take our breath away. "George Carlin"
|
|
|
|
|