The No.1 i-Technology Magazine in the World !
   
 

      ES no BS
This is a personal blog of Yakov Fain       My son's animations and music         No BS IT podcast      Америчка




Archives

««Aug 2010»»
SMTWTFS
1234567
891011121314
15161718192021
22232425262728
293031

RSS Feed








Subscribe to these blogs

Thoughts of an Aging Programmer

posted Wednesday, 11 April 2007

I’m still under 50, and during the last 25 years I work as software engineer (the title does not really matter because most of the time I work as a consultant).  What’s next?

Software Engineering is a very competitive profession. The question is if I can compete with a 30-years old software engineer from Bangalore? Should I move over?  As of today, I do not have problems with employment charging at least five times more than most of the young offshore programmers. Will it last? Yes, for a while. I’m a down to Earth person and realize that if you lock me in the room with a 30-years old  programmer and give us 30 minutes and an assignment to write a program that uses linked lists without using Google, I’ll loose.  They are faster. They type as typists... Fifty characters at the speed of sound, then 30 hits on Backspace...and then another 30 at the speed of sound...They know the names of the classes and methods in  these linked lists, but they are not always sure when to use them. They pass technical interviews easily by studying the API.  I wrote a "bestselling"  article with these kinds of interview questions that was read by about half a million readers.  What a success! But  read the feedback to this article - it  gives me goose bumps. 

Do I want to become a young programmer again? No. I’ve been there already. I’ve been programming at 25, at 35 and at 45. I’m better now.  I’m wiser now and I’m happy to move forward, not backward.  
Yesterday, I’ve been doing my taxes with my accountant who is older and wiser than me, and somehow the same question came up – do you want to be young again?
He said, “Young -  no, but I want to be 40 again”.
Why?
“I just like the look and feeling of myself at 40.”
But you can exercise now and improve your look and feel.
“I know, but at 40 I did not need to exercise…”

Once in a while I started getting rejected by employers. Ten years ago it was never the case. Getting a job interview ALWAYS meant getting a job. Now situation is different. These days  I’m being offered jobs without being interviewed. I have a big mouth and just googling my name generates lots of materials (noise too) that often gives some managers enough reasons to hire me right away. But once in a while I’m getting these multi-person technical interrogations with poking needles under my nails. Recently, I went through two hours of interviews with a large financial firm. To my own surprise I still knew the answers to all the questions. And they have not been shy. This was a Java interview, but the guy asked me, “What would you do if you had to send a message using MQ Series, and you have a message in the ASCII encoding on one end and EBCDIC on another. How do you like this under-the-belt question? Anyway, I knew the answer, and said that since we're using JMS on the Java side,  we can cast a generic TopicConnectionFactory to IBM’s implementation and set a parameter (do not remember exact name) to specify that there is non-JMS reader on the other end of the queue. I know this because I did it back in 2000. The interviewer exclaimed, “Did not you guys have MQ administrator? There is a configurable parameter that they could have set on the queue, so you would not even need to do it programmatically!” Then he revealed that he’s working with MQ Series from version 1.0 (more than 10 years). What can I say… I know, I did well on this interview, but I was rejected. The guy who sent me there simply said, “They decided to hire someone else”.   I can think of two reasons – either “my failure” with the MQ guy was crucial, or I just was too expensive comparing to other candidates. No sweat. I have more projects on my plate than I can handle. Moving on…

So why employers still hire me over the younger and less expensive candidates? Because they want to have insurance. If everything goes as planned, young programmers have no problems. Now raise your hand if your last five projects went as planned…  I’ve been working with well trained young programmers, who just panicked when they needed to provide a solution to a production problem in a high-pressure situation.  Employers want to make sure that the project will move on if something unexpected happens down the road. They want insurance because a failure of the project may hurt their career too. That’s why they hire me, and I’ll do my best to make sure they succeed. This is THE ultimate goal of any seasoned consultant – make sure that the hiring manager succeeds.    

All right, this is good enough for this morning, it’s time to get ready for work.

Disclaimer: I wrote this blog after reading a small and very smart book called Tuesdays with Morrie . My 12-year old son has read it by accident and said that adults can read this book too. I highly recommend you to read the book,  and then you might want to re-read this blog again.

tags:  

links: digg this    del.icio.us    technorati    




1. Tim left...
Thursday, 12 April 2007 1:35 pm

Only in software industry. I can imagine a physician with 20yr experience being hired into a new hospital. "So, what is a scalpel? Explain the vasectomy in 5 simple steps? If there is a room with 3 lights and 1 switch, how do you find out which one is what" Or a commercial pilot. So, whats a plane. Tell me in detail about your last plane landing.

I mean, what the fuck, why do we tolerate this nonsense. Why is it when you walk in into a interview you expected to be assaulted by a bunch of show offs, and it is a acceptable thing to go through. I just don't get this.

I have been developing software most of my life, and I swear to god if someone on my team is going to inasmuch as put any these "advanced" java techniques in the real, production code I am going to fire the bastard on the spot, I dont want to live my life troubleshooting when the final method is not really final bullshit.

We have too many tourists that are fucking up my profession. All we need is a union, a strong union that can put an end to both the age discrimination and h1b abuses

Tim


2. Kuldeep left...
Friday, 13 April 2007 12:06 am :: https://elope.wordpress.com/

The success rate of Software projects is abysmally low and lot of money is wasted on half baked semi-finished projects.Their is difference in coming up with disjointed pieces of brilliance and to completely deliver a product which can make business sense. We all know the its code maintenances and support which costs more than code-production.But still Managers are always trying to hire cheaper alternatives. I think the root cause of this are MBA's ,as these MBA programs teach everything in financial equations and so these managers stop using Common sense .They think that any kind of work can be completed with any kind of people regardless of experience if they will wear right kind of hats ,White Hat-Red Hat and what not. Tim ,i am from India and situation hear is no different ,here also people move out from main-stream coding after 3-4 years and go to Management side,so by the time a person matures as a programmer he has to move out as a programmer salary can't go beyond a limit and organizations starts thinking that with this salary they can hire two new coders. Unions can't help and also don't think that this problem is because of H1 visa holders.The problem is in Top management mindset that volumes can drive profits and so quality does not matter.


3. Chris left...
Tuesday, 17 April 2007 12:14 pm

This is discouraging.

I'm almost 30, switched careers and have been studying to become a programmer. I've read several articles about how the programming profession is maligned and underappreciated and I'm better off becoming a lawyer, banker, or doctor.

WTF! is all I can say

But I fear it may be true. Where I work I don't see any older programmers. The directors and VPs of the IT departments, former programmers, are older than their subordinates, but no one over 50. This is web development.

Maybe working for a major IT company like IBM is different, maybe they respect older programmers experience more. Maybe not. again, WTF


4. Chuck Shorter left...
Wednesday, 18 April 2007 11:29 am

Discouraging? Aging Programmer? Under 50? Almost 30? I've been in the "programming" business since 1966 and have seen many, many changes in the technology and the job market that follows it. Over those 40+ years, because I enjoyed the work and also because I wanted to stay competitive, I've pretty much kept up with the technology and become an expert in those areas I enjoyed the most. I now work as a Consultant/IT Architect for IBM (since Oct 2000), providing programming, database, architect, and technical project leadership services for IBM's clients. I'm continually surprised at how little of my range of experience I'm allowed/expected to contribute and what little productivity/contribution expectations the client has. I've always enjoyed being challenged by the technology and project delivery expectations, but have a hard time finding those challenges now. As Ed Yourdon says in "The Rise and Fall of the American Programmer", I've become a wise "Old Goat" who likes to contribute timely, significant innovation and efficient, high productivity to a project, rather than a "Young Turk" who is "paddling like hell underwater" to move slowly across the pond. I like to describe myself as "a dedicated 'agent of change', facilitating the technological and cultural changes necessary to assimilate both existing and emerging technologies".


5. Norman left...
Sunday, 6 May 2007 9:06 am

Yakov, I'd be interested to know wether your MQ question was part of a group interview or a one on one.

I am starting to like the group interview over the one on one, as the Alpha Dog will have a harder time screwing you over if he/she feels you might be a threat. One one one he/she can say anything they want to their managers.

In general I prefer to be interviewed by an American (no-hyphen) or European. They seem to be more concerned with what you bring to the table in terms of work experience vs how many APIs you can remember. My favorite questions - describe the differences between 1.1, 1.2, 1.4, and 1.5 releases of the API.

Going back to Tim's comment. Sometimes, it is necessary to ask basic questions. You'd be surprised at the number of guys with a 'software engineer' or 'software architect' in their resume who cannot answer what a two phase commit is or what is the difference between a class and an object.

At least, grasp of basic programming concepts is a must. For APIs, there is help and 'the google'.

The other problem is that companies are not doing rocket science but they interview like they are. Guys, it had all this knowledge and experience that you want, I'd be bored senseless after a day working for you.


6. BK left...
Saturday, 12 May 2007 12:11 am

Chris sadid "Maybe working for a major IT company like IBM is different, maybe they respect older programmers experience more. Maybe not. again, WTF ".

Let me said firsthand that IBM is currently no better for older programmer. Reason: Cost-cutting. The reason IBM do massive offshoring is to cut cost, despite quality of codes from younger India maybe poorer. One more thing, software shelf-life is now about 3 years. Reason : technologies evolves rapidly. So the cummulative experience of an older programmer effectively doesn't factor well in this model unlike the medical or civil engineering field. This also explains why poor software quality is an issue since we are using young, inexperience and arrogant programmers who made the SAME mistakes(surprised?) over and over again...


7. Chuck Shorter left...
Wednesday, 23 May 2007 2:16 pm

Is a programmer just a programmer? Or is he a consultant, IT architect, or software engineer? Programmers who have only a rote learning of a programming language have no job security when it comes to out-sourcing or off-shoring. It is the analytical ability, engineering/design skills, business/application experience (BI, CRM, SCM, etc.), innovation, and problem-solving ability that provides "value added" to job security. Those that have -- and can market -- these attributes will always be in demand -- they don't need job security. They will always land on their feet, usually running. In the dawn of the "programming" career path, potential programmer hires were given "programming aptitude tests" that evaluated logical/analytical ability, innate innovation and problem solving skills. IMHO, not many of the programmers entering the field since the mid-1970's (when such tests were discontinued) could score well on these tests. In programming productivity, it is my experience that the old "80-20 rule" applies -- 80% of the work is done by 20% of the programmers and 20% of the work is done by 80% of the programmers. And then there is the top 2% who are super-programmers and are an order of magnitude more productive -- and more "job secure". They can show the client/employer "a better way", rather than just helping them do "what they've always done". It is more difficult to "off-shore" those skills.


8. Chuck Shorter left...
Wednesday, 23 May 2007 3:31 pm

BK said "One more thing, software shelf-life is now about 3 years. Reason : technologies evolves rapidly." Then, how come there is an estimated 50 billion lines of COBOL code in critical business applications that have been around for 10, 15, or 20 years. Large corporations still hire little "armies" of semi-skilled programmers (and a few highly skilled contractors) to add a few new technology advances and a LOT of new business functionality or enhancements to gain competitive advantage. The "armies" are in danger of being out-sourced and/or off-shored. Accellerate your career path to become a highly skilled contractor or "golden handcuffs" employee before that happens. Or ... join a "white collar union". BK also said "poor software quality is an issue since we are using young, inexperience and arrogant programmers who made the SAME mistakes ... over and over again...". These are the "armies" I'm speaking of. Programming is an "engineering discipline". Today's programmers are the equivalent of yesterday's "draftsmen", who produced the working drawings of the design work of architects and engineers. If there isn't a sufficiently skilled software architect or engineer involved in the design of the programming project, it is doomed to failure ... or worse, partial success with poor quality software and lots of problems/errors. These are the "blue collar" programmers who most need to fear off-shoring.


9. Chuck Shorter left...
Wednesday, 23 May 2007 4:57 pm

What we are seeing, since the mid-1970's, is the "commoditization" of the programming profession -- a higher number of lower skilled "software engineers" (titles are cheap) to do the same work as a smaller number of higher skilled programmers. What we really need to do to combat this job-destructive trend is to revitalize our education system from "No Child Left Behind" (NCLB) to "Every Child Inspired To Excell" (ECITE). Go beyond the rote skills to teaching innovation and problem solving skills -- self-motivation and self-actualization -- teaching basic career/professional skills that are more difficult to off-shore, not rote "job" skills. Change the perception of the job seekers market from "how much money can I make?" to "what kind of innovation/productivity/value can I add?". Produce more "Intrepreneurs" than "worker bees".