Ask Slashdot: Will Older Programmers Always Have a Harder Time Getting a Job?
Theseuss writes "Given the strong youth culture associated with the modern day Silicon Valley startup scene, many times it falls to the 40-year-old programmer to prove that he can still use the newest up-and-coming technology. Yet the rate at which the tech sector is growing suggests that in 20 years there will be a an order of magnitude more 'old-hat' programmers in the industry. As such, do you think the cultural bias towards young programmers will change in the near future?"
The way things are going now, the management will also be outsourced to the cheapest available...
And good experience is expensive.
Ignore Silicon Valley.
50 years ago it used to be a hot-bed of science and technological innovation. Now it is a magnet for designer coffee-swigging social cloud blog web 2.0 get rich quick smartphone app hipsters.
Look for real companies designing and building real products for proper customers. Silicon Valley's day is gone.
Stick Men
They're the ones that will. Find a job at those.
...kids will get off our digital lawns
False premise. Assumes a bias without providing evidence.
Robots will rule us all.
I personally believe that the experience older programmers provide over younger counterparts makes them a desirable hiring option. The catch is that the price has to be right. Some of the older developers demand two to three times the salary of younger programmers. When you do that, you have to ask yourself if you deliver quantity and/or quality two to three times greater than those younger programmers. If you honestly believe you do, then your next task is to prove that to prospective employers, but it's going to be a tough sell. It can take close to a year for someone to realize that they hired a fraud, so you're a more expensive gamble to that employer than a younger employee.
There are certainly older programmers who can produce much better software at faster rates than their younger counterparts, but it is difficult to prove and requires the employer to take a greater risk in hiring you.
Finally, is it me or was there no article at all? Seriously, Slashdot - WTF?
That's why those move to management; it's a lot easier to hide incompetence.
Its more about their attitude. There are some solid patterns and just software development knowledge that is great to have and haven't really changed regardless of the technology. I hired a guy at the end of his career (programming for 30 years, he worked with punch cards in college) he said he just wanted to program, he picked up everything easily, contributed to design and implementation with some JPA 2.0 db interfaces from an AngularJS front end. Unit testing, in memory databases and all sorts of stuff.
I have found that age doesn't matter, if you are going to be a stick in the mud and in my day type of person, I will never hire or want to work with you.
Some technology and syntax change...good designs and ability to learn and adapt don't.
But if you're 40 and still a code monkey you're doing it wrong.
I can say the difference between now and the last time I had to do this (~12 years) is stark.
Seriously...if I have to take another test checking my ability to O(N) a problem, I'm gonna scream. I've been living in ginormous game engines for 6 years, and the amount of times I've had to, in the span of a timed half an hour, optimize a routine to make sure it was running in the optimal time has been....zero.
I'm sure it comes up, and I'm sure it's useful, but this all reminds me of the older assembly guys who used to put in all kinds of wonky tricks that eventually got optimized out by the compiler. Bubblesort has been solved. If your company has to implement it again, you're doing it wrong. There's a routine lying around somewhere in the company. Really.
I don't know what the solution is for evaluating tech talent, but this doesn't seem like it.
Also, web guys...if you're really concerned about speed, maybe you should consider writing some of this code in a lower level language. Plus, if your ad server takes 5-10 seconds to respond, then all of your optimization is for nothing anyway. But hey, you got the O(log N) solution. Bully for you.
Yes, older programmers will always have a harder time getting a job, just like older people in all other professions. Age discrimination isn't just an computer industry problem.
The other advantage 20-year-olds have is they can give their life to the company. They don't care about having to work 60-hour weeks as long as there is foosball and free pizza. Why go home when 'work' is cool?
A 40 year old often has a spouse, kid or two and a dog they might like to take for a walk. They don't care about BS phrases like "Work hard play hard!"
I'm 43, a Senior Software Engineer in Los Angeles, and I get contacted all the time by recruiters who want to gauge my interest in various development positions. One called me on my cell phone just a few minutes ago, not sure how she got the number.
If you have a modicum of experience and can present yourself well there are tons of opportunities in software development right now. You may not get a job with Facebook (and why would you want to, the ship has sailed on getting rich there), but the industry at large is clamoring for talented people, and most would rather pay more for a local candidate than having to deal with H1B hassles, regardless of the popular opinion on /.
Boy I remember the old days of writing web CGI apps in C, way back in the 1990s. People would look at me like I was insane if I were to suggest writing web apps in a language that compiles to machine code. There seems to be a whole industry dedicated to declaring native apps an evil that must be extinguished.
The world's burning. Moped Jesus spotted on I50. Details at 11.
"it falls to the 40-year-old programmer to prove that he can still use the newest up-and-coming technology"
I'm not denying there is cultural bias, but that is not what cultural bias is. I think it's expected of all new hires regardless of age to prove they have the skills needed. My experience for hiring for new projects that required a specific skillset, some of which for technologies that have been around for less than 5 years, is that you get alot of people claiming to have the skills without actually having them. Some projects there is room to take a good programmer and allow them to pick up the new things on the fly. In other cases the timelime of the project demands only those who possess those skills already. I want to clarify I'm not talking about where there's a discrepancy between my opinion of competency versus another person's, I'm talking about they had not so much as spent a single hour with that particular technology. In one case it seemed like the recruiter added the skill to the applicant's resume, because they were confused when I got to that bullet point: slid the resume across the table to them and pointed at it, and they just looked at me and shook their head :O Young and old, I am going to make sure they have the skill if the project requires it.
If you have competency in that new technology, I'm going to hope that you are probably also open to learning new paradigms. I'm in my early thirties and there are certainly people my age or younger stuck in their ways.
I think there might be little bit of butting of heads on both sides when it comes to older programmers. There was one case someone applied for a job that requires certain specific skills, and my higher ups made it clear the timeline did not allow for waiting for programmers to come up to speed on new technologies. For a 3 month project, there isn't enough time for it. Your many years of experience is certainly valuable, and probably would make picking up new technologies faster, but sometimes that isn't enough. You have to play the game just like everyone else, and that means picking up the new skills as you go if you want to remain marketable. There is nothing special young or old that makes you exempt from this.
I'm not trying to say that there is no cultural bias, but there's probably some cases someone claims they didn't get a job due to cultural bias, when that simply was a distorted interpretation from their perspective.
There are certainly older programmers who can produce much better software at faster rates than their younger counterparts, but it is difficult to prove and requires the employer to take a greater risk in hiring you.
It isn't difficult at all. At my company, an "older programmer" solved a bug in code written by a younger fella by introducing a function that we all never knew about. This fella refactored code, cleaned up the mess we had in our AIX/DB2 system and saved my company lots of cash by single handedly writing code that verified that our data migration to PostgreSQL from the mentioned DB2 system was worthwhile.
Specifically, he wrote code that printed cheques the way we wanted (Numbers to words), in about 1/4 of the lines of code we had. All this by employing functions we never knew existed. Nothing can beat knowledge/experience. Nothing!
I started out when hand coded assembler was the only way and I still love every minute of every day. My longest period out of work is less than three months and I still earn far more than many so what's the problem?
What is the newest up-and-coming technology that programmers have to deal with?
All the new technology is just an API library.
Programming languages have remained the same for the last 20 years.
a thousand times this. I'm close to 50. Over 30 years of SW development experience that is easily verifiable should I suddenly find myself looking for work 'the hard way'... My friends who are out looking for work tell me the latest fad that all the cool hiring managers are doing is giving you timed tests to make you prove you can write a "C" function to find the bottom of a linked list or some equally inane task... Maybe that's great when your hiring pool is a stack of resume's from fresh-out-of-schoolers but my CV alone should tell you that I've done the work. Then you and I can just sit down and have a grown-up conversation... If you want to see my code, there are lots of open source repositories I can point you to... But I'm not a circus performer. I can't tell you the last time I've had to stand up in a room full of people and write code on a whiteboard.
Not when 2038 approaches.
I eat only the real part of complex carbohydrates.
I found age discrimination 2008-2011 but not now. I expect it will return after the next stock market or dot-com 2.0 crash.
But I'm not in Silicon Valley.
I've been living in ginormous game engines for 6 years, and the amount of times I've had to, in the span of a timed half an hour, optimize a routine to make sure it was running in the optimal time has been....zero.
Do you happen to work for EA? That would explain a lot...
today is spelling optional day.
The youngest guy on our dev team is early 40s. Young people don't get as much done and screw things up. Certainly not universally true but in some fields older is better. You probably wouldn't hire our team to develop the next gen hip social media app for mobile OS's. We are server-side banking dudes.
Honestly, any programmer that is worth his or her salt is going to be employed no matter what their age. There are plenty of schools and non-profits looking for help. Of course they may not pay as much as the corporate office, but you'll be working. I also think you should start looking to strike out on your own as a contractor or freelancer soon after 45. I say this as a 52 year old who is exploring other options now. I'm writing some mobile apps for a local school district as part of my community service and I know from speaking with the administrator that I've got at least one way to earn should my company decide to push me out the door with my gold watch.
I get more phone calls and emails now from requiters than I ever did. Most I don't even bother to return.
Every time I turn around I hear about companies that value experience over youth. I guess we experienced devs don't make as many stupid mistakes as the younguns who sling lots of lines of code.
E.g. after I took over the work a summer intern had done – when the code broke after daylight savings changed – I looked at the code and realized I could cut 5000+ lines of code and replace it with about 10 library calls in the Java runtime libs. Intern spend four months writing it. I spent about ten minutes rewriting it. And mine worked correctly both in and out of daylight savings.
Not all other professions. There are some where age comes as a benefit. Legal and political circles come to mind, for example.
I'm getting older, but I'm skilled in old, crufty technologies which we will can't do without, so I'm not too worried. If you're older and trying to get a job as a code-monkey doing some buzz-tech that will last only a few years (most web and social media shops), and that's all you're good for, then you might have something to worry about.
If, on the other hand, you know technologies which scare the shit out of young-ins, but they also can't live without, this is a non-issue. Think foundational stuff like systems config, build and deployment systems, system-interface programming and similar. The kids might know javascript and PHP, but few know how to write device drivers.
Don't try to compete with them. Just do something that's more valuable than what they can do. Experience will help in this case.
Sorry, guys, but I don't buy the premise. My experience is that the older I get (I'm 50 now) the more job offers I get and the more money I'm offered. I'm not looking for an entry-level job and don't expect to compete and win one against a 20-year-old. But they're not going to get the architect/scientist position that's waiting for me at 3X the salary.
I like hiring new grads for some things, experienced folks for others. In this case I needed a Java guy for an app dating all the way back to 1999. I preferred somebody who had lived Java in those years.
It is true that lower level languages and compiler capabilities provide certain optimizations.
However, O(n) in most cases has nothing to do with high level/low level language. If you write something that has an exponential runtime then that is not something solved by a compiler optimizing it away nor a low level language. It is all about the algorithm/flow control used, not the language/compiler.
In line of business applications using database access frameworks, with many you have to be wary of this problem:
http://stackoverflow.com/questions/tagged/select-n-plus-1
This isn't exactly a O(n) optimization problem, but it is more easily understood and solved by someone who understands the concept of O(n). While true, reinventing something like quicksort is stupid, in many other cases there is no generic algorithm that solves the problem, but is more of a matter of just avoiding certain bad practices in the way you leverage the database framework.
If you want to solve the problem you describe, you will need to create an institution that provides an industry recognized accreditation and testing so that these kinds of things can be tested once, and then you can just provide those credentials to each potential employer and skip over those things. Good luck :)
If you're taking a test to get a job with 10+ years of corporate or enterprise development experience on your resume, you're doing something wrong.
As long as the quality of work continues to be an imponderable - not sure why this still is the case, unless management continues to remain clueless - decisions will be made only based on how much money someone costs, and older people want more money. Perhaps they imagine that experience is valuable.
Sure, I used it. It totally has its uses. But I'm not being old fart about it. I actually love working in Python for many, many things. It just seems totally bizarre to me to be trying to cycle optimize what is ostensibly an interpreted language. It's kinda like hypermiling SUV hybrids.
But you're right, there's some fear of every writing compiled code these days. Heaven forbid you even directly interface with hardware, either.
As a 30 year old engineer architecting and developing 3d graphics engines, I also find these kinds of interview questions worthless and stupid.
both unlink health care costs that are higher for older people and there needs to be more forced OT pay as the older people really don't want to work 60-80+ hour weeks even more so if they don't pay OT.
Have you done any hiring before? I have seen so many candidates with 20-30 years of "experience" in something and questioned how they ever accomplished anything at their previous jobs.
You're dealing with justifiably cynical interviewers who know better than to trust job candidates. Have you ever interviewed "Linux admins" with 20 years of experience on the resume who have never used tab completion before? I have.
Ever worked with someone who was utterly incompetent? Guess what! That person can claim "experience" and "I did the work" even if everyone else on the team made up for his shortfalls. That is why employers verify some basics. Unfortunately not everyone agrees on what the basics are and that's what your main complaint seems to be.
As others have observed, older workers tend to want to be compensated for their experience... so they're more expensive.
In a rational hiring world, that might not matter much--they usually deliver greater value, too--but it's often not rational people (or, let's be polite and say, people who could be better-informed) that are making that decision--it's people who want to minimize costs no matter what.
Hire an expensive engineer who really understands the work? Or two young cheap ones who might not? The latter, of course--for the same reason that outsourcing to the third world is so popular despite the incredible hurdles of management and quality. And if the bet fails, and neither of the young'ns can get it done (despite the 80-hour weeks that they can deliver and have come to expect), well, you'll be off to another job by then anyway and no one will know.
It's a vicious cycle: VCs like start-ups that live on ramen noodles because they're cheap to fund, unlike ones that have a real staff and a real track record. And sure, some of those cheap ones will succeed, and they'll get the press (in no small part because they are young), and that will perpetuate the myth that only young folks can innovate, leading the VCs to believe in their own decisions.
I don't see the bias going away. As a general rule, young people are less expensive, more dedicated, more attractive, and just more fun than us old farts. The market want crap in a hurry, and this is one of the primary reasons they get it.
You might be able to surmise from my username that I could be about 3 years from retirement (as if I would -- I love what I'm doing)
I've always stayed current and learn something new every day. I have found it definitely does depend on the culture of the company you are dealing with but also on the nature of the work. For freelance work, just about everyone I deal with seems quite happy to depend on "the old guy" to get it done, especially if they would consider the project a grind. They know they will get a good result and I can tell it just feels like a safe bet to them.
It happens sometimes that after a few freelance projects a company will want to talk about hiring me full time. On the East/West coast is where I have encountered the "I'm young and smart so you must be old and dumb" attitude. I sure don't take it personally. And in the Midwest decades of experience still counts for plenty and they will wine & dine you to get you go full time.
I didn't mean to indicate that lower level programming = the way to go. My point was that most of these tests miss the forest for the trees.
Sure, you're munging data. But either a) your dataset is known and your company has mostly solved this problem, or b) you're engineering new solutions which don't fit the way before.
You profile, find the parts that need optimizing, and optimize. That should be done regardless of the situation. In addition, the new "fuck it, ship it" mantra that seems to be all the rage would say get something working, then you make it work well. Not "you'd better do it exactly right the first time or it's worthless."
Data requirements shift. Focus of target moves. These all have to be addressed. A good programmer will plan for the changes as best can be so that if a new algorithm has to be used sometime, it can be swapped out as quickly and as painlessly as possible. Therein lies the experience. Not on whether you hit on the local maxima first try.
But I've noticed that the ability of bad ones to get hired tends to fluctuate with the boom-and-bust cycle. Are you a bad one?
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Ask Slashdot: Will Older Programmers Ever Run Out Of Questions?
It's not a question of age. It's a question of whether you're willing to work 50-60 hours a week, often without being paid overtime. Cut your rates, and you have no problem finding work.
All you have to do is settle for half of what you're really worth.
You're not only competing with the youth, you're competing with the overseas sweat shops.
The only way to maintain an income comensurate with your experience is to specialize in tools and technologies few others know. And as more and more people enter the computing industry, that becomes harder and harder to do.
I do not fail; I succeed at finding out what does not work.
No.
But the games biz has a ton of legacy engines all over the place. And most of the work on them isn't getting it to run more efficiently. It's adding features; it's testing user input; it's gathering data; it's keeping things from blowing up. And these problems aren't unique to the game industry.
There is plenty of work to go around adding features and improving/bug fixing that don't involve simply finding algorithmic solutions.
It's always been a peeve of mine that programming courses have been, for my experience, devoid of two real world aspects: error handling and user interface. Neither of those has a tinker's cuss to do with O(n) solutions, and if you look at many, many of the problems companies are facing, it has to do with those. Experience seems to be the teacher of those, as universities seem to have fallen short of any semblance of lessons in those areas.
It's one thing to do an exercise with a single command line function that has a clearly delineated in/out and a simple dataset. It's another when you're interfacing with legacy code, trying to fish a line thru to a class that doesn't want to expose it's members for some undocumented reason. Plus, the program has a real tendency to assume data validity, and changes makes crap blow up real good. That's real world company stuff, not whether or not quicksort or bubblesort is the best choice.
48 yrs old, been coding regularly since I was 12. I've been a humble cog in the production of a number of useful basic tools that millions have used or are still using. I routinely look at code I wrote when I was 30 or 35 and I think what a callow and naive youth I was. Innocent of the basics...
Seriously though, my experience so far is that the brain keeps getting stronger if you use it on a consistent basis. I often feel with reason as though I spend most of my productive time keeping 20 and 30 yr olds from making the same old mistakes. There is no problem finding work if you can add value to the system, and I think those of us who routinely produce working code can do that pretty well.
"Age and treachery will always overcome youth and skill"
New programmers may have skills with new software, but they may not have skills and experience with organizational politics, system design, product architecture, code reviews, QA, all the rest of what makes great programmers great.
In 20 years, the number of 40 something programmers will not matter, no mater the ratio to younger programmers.
Actually, in 20 years machines will be writing al the code.
Singularity, baby.
But my point above about interview questions is that the bias is built in. The interview process, involving pointless tests and white board coding, seems geared towards the recent graduate. It's inherently biased against the experienced coder, because most of that academic stuff is long in the past by the time they interview.
I can't speak to whether or not it's intentional, but it's there, and it's very different than other industries.
They're still (mostly) in the Valley or in Seattle, but they're distinct from the youth-centric startup culture.
It's not that you're going to have to do this every day. It's that they want to test that you understand the fundamentals of the toolkit, and are able to speak about them intelligently. It's also usually a good base-level check on overall coding skill.
Older developers are too smart to work for a startup. We're smart enough to know that the odds of making it big are about 30 to 1.
We also know that our stock and options get quickly diluted by upper management, and when the IPO hits, odds are we're going to have to hold on to our shares for at least 6 months; long enough to watch it drop back to junk status.
The odds of actually making a fortune in a startup are slightly better than winning the lottery. But the odds of losing your home are also much higher.
Seriously...if I have to take another test checking my ability to O(N) a problem, I'm gonna scream. I've been living in ginormous game engines for 6 years, and the amount of times I've had to, in the span of a timed half an hour, optimize a routine to make sure it was running in the optimal time has been....zero.
I'm a firm believer in those sorts of interview questions... and they have nothing to do with O(N). They're just a convenient way to see how the candidate responds when given an underspecified, mildly-complex problem to think their way through -- but a problem that can fit within the time constraints of an interview. It's definitely not ideal, but I think it provides a lot more insight into the candidate's problem solving skills, mental agility and the attitude with which they approach problems than anything else short of a two-month trial employment, which neither side can afford.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
...because the younger programmers are willing to use newer, completely garbage languages such as Java and Python, neither of which can come even close to the power and beauty of older (but better) languages such as Perl. And in today's world it's not what's works well that's important any more, it's what's sexy. So it has to be Java (with all it's idiotic and broken GUI counterparts) or Python /Django or Ruby/Rails. Older programmers who aren't willing to sell their souls don't stand a chance in a world like this.
In Seattle there are more start ups. They are less picky with who they hire but cost and aspirations are a concern. You have to be enthusiastic. There is a bias towards generation Y because of this.
In Bellevue and Redmond most of the jobs are prefaced with "senior". That's a bias towards generation X, not Y.
Kids out of college are SOL. There's almost no jobs for them anywhere in the area.
In the 7985 years they'll start upgrading everything to have 5 digit years, so they'll be looking for people experienced with legacy software.
I recently took a multiple-choice C# quiz for a hiring interview. I didn't like it at all. I think that a test or quiz should give you the opportunity to demonstrate skill and knowledge. The test I took seemed to be designed to trick me with corner cases.
For example, there was a question that demanded that I know what happens if a variable in a using clause is set to null inside the using block. Why on Earth would I ever want to set the variable in a using clause to null!!! That makes no sense.
Wh47 d1d j00 541, 31337 15n't t3h r0xor5 ne m0r3???
As someone who gives CS interview problems, I have to disagree with your assessment. The problems aren't designed to prove that you can implement a bubble sort. It's meant to be representative of the sort of typical hard problem you'll be faced with writing software. The reason why we choose CS problems is because they are properly bounded, they have a finite number of correct answers, and if you get off course while working them out on the board, we can better help you to get back on course. Furthermore, there are decades of research that have gone into these problems, so a naive board implementation leads to all sorts of prompts for interesting questions.
Most of my evaluation has nothing to do with whether you get the right answer or the wrong answer. It has to do with how you arrive at the answer, and how you respond to constructive criticism, or in a pair programming environment. I couldn't care less if you can write a bubble sort coming in; if you solve the problem quickly, I'll just substitute a different one that you can't solve quickly. It's the process by which you arrive at an answer that interests me, and CS problems are, by far, the easiest way to uncover this.
We have one guy that understands build processes. I have done any serious code in years, but some of the crappy code I've seen is pretty horrid.
Here's an example:
Just over a year ago we had some Java developers doing some web code. This was on a Linux/pSeries hardware. I.e., it's a Power chip, not Intel/AMD. I was asked to install the JVM software by the developers. They gave me an Intel binary. OK, no prob. I asked them to send me the Power installation package. They responded that it was Java and the underlying hardware didn't matter. Oh really? One of the developers actually got pissy and started trying to explain that he ran it on his Windows machine and another guy ran it on his Mac. Tried again to explain the difference between the jvm executable and the jar but then I realized that if he didn't understand that, it wouldn't be much point.
The guy we brought in knows that. Lots of other things too.
But I've been on 3 interviews so far where showing your work merited a "sorry, that's not fast enough" with nary a discussion on thought process, coding style, etc. I even explained my thinking with the dataset and worst cases.
It'd be one thing if it was used as a way to glean a thought process, but when the bottom line is merely O(n) vs. O(log n), you're not looking for candidates who can find a way through a problem. You're using specific knowledge as a sieve. And that's where the age bias comes in. The experienced programmer knows that the answer is rarely X or Y, it...depends. And sometimes that "depends" and the design around it is the key to scaling later or blowing your leg off. I'm not saying every experience programmer knows it, but the young ones rarely do. But they're sure up on their mergesort implementation.
I've yet to have someone give the version of that test where the hard coded array or hash is the solution, because that's what you get to from experience: knowing when to be fancy and when to be specific. The academic solution seems to be built in from the start. And that favors the recent grad, period.
Tab Completion is BSD software I think.
Young people with no experience are cheap. Old people with experience are not. Young people will work unpaid overtime because they don't know any better. Old people won't. Companies prefer younger people when hiring because it is more cost effective. Age is correlated but isn't the cause. It is about the money.
I agree. I've become a little dependant on an internet connection to look stuff up to jog my memory and trying to do this stuff in an interview is stupid. Most of the time I'm taking a 50/50 guess over if the best answer is simple or not, but either way I don't write code perfectly the first time, nor do I jump into a solution without spending ample time to think about it. I also do research to double check my understanding and knowledge. Bottom line is that the interview process is a poor way to select candidates.
And I'm 29. You're not alone. Too many job interviews waste our time by introducing too many points of failure. I hate doing phone interviews then coming in for an on site and I get the dick who didn't read my resume and just presumes I already know everything they envision is used for the job. I suppose it just proves that it wasn't the job for me but it's frustrating when you realize you have to wait longer for the next job to come along.
Join the Maker community. Make your own software. Screw the companies. They want young people because they work for less
then the younger guys must be in employment Nirvana. I'm 50 years old, and I have Amazon, Google, LinkedIn, and Facebook trying to recruit me all the time.
Thank goodness that the PHP-spewing hipsters that many of us despise aren't writing mission-critical firmware and software. Most of the folks I know who are employed in safety-critical industries are middle-aged (read: 40s, some in their 30s, some in their 50s), they're disciplined, they're educated, and their priority is correctness, not fads, selfies and moleskine notebooks. Absolutely, there are middle-aged dolts, and there are plenty of young rising stars who aren't chasing the "next big thing" app, but I'm worried about who's going to be developing the avionics software in the planes of 2030.
No, it doesn't depend on management, it depends on ownership.
The instructions to management are now, "Get the youngest, cheapest, most scared". The last thing they want is someone experience enough to know when they're getting fucked.
You are welcome on my lawn.
I have yet to see it. It's used far more as a quantitative judge of someone's ability, when it's barely a sliver of what happens in coding. Heck, I spend most of my time handling exceptions, checking corner cases, and refactoring classes to make sure someone else can use the code someday.
To me, the way to go is to have some sample code, whether it be some previously written or requested by the company. Then, that code is brought in and the team can do a defacto code review in person or online. It's much more representative of a real world situation, and code reviews are much more about discussing methods than simply judging the efficiency of an algorithm implementation.
List of skills that are completely ignored by the academic quiz method: error handling; class design, including planning on later improvements/changes; code documentation; ability to read other people's code; refactoring skills; test automation
All of these are huge towards working in a company, and I have yet to run into an interview process that even addresses any of those. It's all about the simple CS test.
My boss can hire two fresh-outs for what he pays me. He knows this. A short sighted person might think two fresh-outs are more effective than me. My boss knows better. I regularly deliver way more than two fresh-outs, and I show up on time every day, not hung over. No drama.
Not every boss is like mine. Many think that more cheap labor can get the job done. Good luck with that. You get what you pay for.
there are 3 kinds of people:
* those who can count
* those who can't
There's a job, if you're a COBOL programmer. In the last few months, I've had friends and relatives wishing they were proficient in COBOL or their company needed someone proficient in COBOL. I hear it pays $100K+.
... but there are companies of the science-and-tech variety all over the place. Just thinking of the U.S., northern VA / D.C. / DC-area MD together are a big center for DoD and other gov't projects, Austin's got quite a few tech companies (big companies based here like Dell and Applied Materials, outposts from larger ones like Google, and startups, too), Seattle, Las Vegas, New York.
That "Silicon Valley's day is done" is a pretty hard argument to make -- Vegas still has plenty of life for being a center for gambling fun, with a long running start, even while it gets *some* wind taken from its sails as American gambling laws elsewhere are relaxed. But tech hotspots outside S.V. are easy to name. Even San Francisco proper (near but not part of the valley) has lots of companies that are the kind that S.V. is *famous* for but on which it has no monopoly ;)
timothy
Here's the problem though. I have interviewed a lot of people with good looking resumes who completely fell apart when asked to do simple coding on the board. Simple stuff like how to clear a bit in a word when their resume indicates lots of experience working with hardware. Similarly, if their resume says C and we're hiring a C programmer, they should be able to some simple C code without headscratching. I don't even ask the harder questions I used to ask because I'm almost positive they won't be able to answer. I can't even ask CS style questions because so many come from other backgrounds. I've honestly had people try to explain that they've been working with "middleware" and that their device drivers really were just ways to a higher level application to a lower level library which is why they really didn't know how it all worked. So I ask the programming questions to make sure they really can do the job without asking for help every ten minutes. It's only later in the code reviews that I think "OMG why is this sorting a list inside an interrupt!"
Fresh out of the job market (and into a job) almost none of the interview questions had anything to do with what was in my resume. They should be seeing if I'm a liar but instead they want to know what I do in my free time or ask me new grad questions for which nothing similar has ever came up in my career...
And see how I think? I think differently than you do and solve problems my own way. Does that make me unqualified?
You must have interviewed at AppDirect.
The most stupid interview in my whole career.
Implement a Stack from scratch on the phone.
After that an intersect between to collections.
Job was for cloud architect like position with large deployment (1000+ instances) experience.
No single question on architecture or large cloud based deployment, clustering, fail over, high availability...
WTF a stack !! a intersect algorithm ?? That's exactly what open source is for.
Also, web guys...if you're really concerned about speed, maybe you should consider writing some of this code in a lower level language.
Game guy. Please stick to giving advice about game engines. You don't know anything about the web if your suggestion to improve performance is to "write in a lower level language". Your advice is akin to me saying "Hey game guy, if you want faster games, why don't you get a faster internet connection!"
Everything else I agree with.
AccountKiller
Older IT guys cost more. If you are only shooting to equal the kids out of school than you should move on.
Not true. Those resumes are often lies. I see a great resume that says someone can do the work. And yet they can't wrote up a very simple function on the board, the sort of thing they'd have to do every day on the job. Maybe searching for something in a list is inane, but you'd be surprised how many people with years of C experience on the resume can't actually do it. I feel stupid just asking some of these questions in an interview because they're so basic, but so many people just can't do the basic stuff. Now granted, maybe the recruiters are scraping the sides of the barrel to get these candidates (my theory is that with the current economy that the best engineers are staying put instead of changing jobs).
Ie, Joel on Software mentions some of this, saying that he expects that for the simple questions he would like to see the programers just start writing out the code without pause. And yet I have seen people pause because they can't remember whether to use '~' versus '!' and the like despite a resume that says they should know this completely. I have a really simple question which can be done with a one-line answer that 9 out of 10 candidates can't do.
And besides the programming examples aren't just for checking if someone knows the syntax. We also want to see how the candidate can think about a problem. I try to ask something that they would not know if they just crammed the night before so that it requires them to think. That's important to do on the job: thinking is an important part of the job, whereas bullshitting about what's on the resume is really only useful in the lunchroom. Can the candidate think logically about the problem, or are they flailing about?
Believe me, someone can spend 30 years in the industry and still be clueless. Quite a lot of programming jobs are very basic; in fact right now I think that most programming jobs require minimal thinking, they instead either require mostly gluing together different frameworks, or else making minor tweaks to a large existing body of code.
Just a few years ago there were endless stories about the 50 year old programmers, and now its starting up with the 40 year old programmers, soon it will be the 30's then the 20's then we wont have to worry about some douche that never kept up to date wondering where his next pascal for the next cube job will come from
Where I work, we have several divisions.
One division trains firefighters and EMS. We have an incredible training facility, so not only do we teach Firefighter I, we also train veteran firefighters on extra-hazardous stuff like oil refinery fires. They also teach search and rescue in our rubble piles and collapsing buildings.
Another division trains cops, tactical drivers, etc. That division includes an on-staff sniper.
A third trains people to work on high voltage electric lines.
Then there is my division, "administration". We're the IT people, bookkeepers, etc who keep the agency running. Guess which division had the worst safety record last year. Yep, us nerds. For my employer, the people clicking a mouse had more injuries than the people putting out big fires, crawling under collapsed structures, or performing dynamic entries (seat raids).
Yes, we nerds are suitably embarrased by this fact.
Actually, if the CS board problem is done correctly, then error handling, software design, and planning can be measured. There are plenty of corner cases in most of these problems. That's where the real fun begins. Even something as simple as adding and removing items in a linked list or a binary tree leads to corner cases.
Everything else comes down to Q&A. That's where we get into probing questions about design, documentation, etc.
As for code samples, I'm not a big fan of code samples. You won't believe how many times I've seen people plagiarize source code in interviews. The only exception here is the take-home test. The only problem is that take-home problems have to be rotated out pretty quickly. They hit the forums within a week.
I am an older developer who interviews every new hire candidate, in tech, at my company (Advertising Tech in New York City). The older programmers we bring have skill sets that include the latest technologies (Nodejs, Machine Learning, etc). Our recruiters look for that. These older guys are truly impressive. They are highly skilled, mature, technically top notch and politically aware so they are able to integrate rapidly.
The new grads are next to useless. We had one girl come in with an impressive resume and asked her how she would "write a file" in Java. She froze up, totally silent for a minute with a shocked look on her face. We prodded her trying to help but it was hopeless. This was the worst example but most of the new grads were very limited in what they knew and couldn't do a very simple test. We asked them how they would write a program to solve a word puzzle, a 10x10 grid that contained embedded words, horizontally, vertically or diagonally. Most could not do it. We provided hints because we understand when faced with a new situation sometimes brains overload. No dice. It didn't help. 90% of them couldn't do it. They all considered the 10x10 "two dimensional array" as a database table. None understood the up/down, forward/backward nature of the algorithm that would be required.
I am not prejudiced or biased and my interview philosophy is to look for things that this person knows, that I don't know. I want people on our team who bring in non-overlapping skills. I give a person every chance, attempting to remove the "interview factor" from their performance but only the mature candidates were able to perform in interview.
that depends if management wants to waste time and money reworking mistakes that would have been avoided by someone with experience.
Today, the digital world is young and new
The managers are young, the employees are young, the customers are young
Once upon a time, the railroad was the hot new tech, then radio was, then tv..etc
Someday, software will be as mature, professional and boring as ball-bearing engineering
I suspect that ball-bearing engineers suffer no age discrimination
BTW..I am a 60 year old programmer who is turning away work. I work in the totally non-sexy world of embedded systems and industrial equipment
I see a lot of people where the resume talks about what "the team" did, and on the interview the discussion is about what the product did. And that can get the candidate past a lot of filters if the interviewer naively assumes that everyone always pulls their own weight in a group.
... in fact, as I get older, obviously more people have worked with me. So my "network" (yeah, hate that word, but oh well) is bigger.
My current job happened when someone who used to manage me called me up and said they needed someone good, right now, would I be interested? She already knew me, so that was the interview.
Now, would I have a hard time just walking in off the street, playing buzzword bingo? No idea, and hope I don't have to find out ...
Did you ever consider that maybe the candidate has had to bounce between domains and technologies from interview to interview and stuff they did over a year ago isn't going to come back instantly unless they are lucky to remember it?
Health insurance alone is one good reason to hire all young workers. Any company that hires older employees or fails to fire them before they age may suffer serious insurance premium penalties. Then there are issues like time lost due to illness, doctor appointments etc.. Older employees may also have been exposed to some rotten employers and feel that dragging along is their right. A bright new star trying to shine bright is what employers want.
I've never lived or worked in Silicon Valley, and always said I never would unless I was starving. Now that I'm over 50, I'd assume that the option is no longer available anyway. It's always been easy to find $100k+ work in the Seattle area, at least until recently when everyone wants only web/front end people (another won't-unless-I'm-starving job.)
I've never felt like age was a problem, maybe it was and I didn't notice. Not being in the least career motivated helps (as long as one conceals it.)
But it's not the *only* thing, and yeah, that's doable with some profiling. In that case, it's already screwed, and you're going in to optimize. That doesn't involved walking in in 2 seconds and seeing the solution. While companies want that, there's usually a reason the code got that crufty. The young bucks are the ones who walk in smashing everything in sight, assuming everyone is dumb but them, and when they remove the wrong strut and the whole room comes collapsing around them, that's when you wish you had someone with a bit of experience.
But explain how having an introvert stand at a white board and work on an algorithm in a vacuum is anywhere close to coding an optimal algorithm. We're not robbing banks here, we're writing code. We have a few minutes to check what has been done and why.
and you can't tell from talking talking to the person about the code they wrote that they didn't write it, something is seriously wrong. I know there are BS folks out there, but if you ask the right questions, you can tell what they wrote and what they cribbed.
You don't know anything about the web if your suggestion to improve performance is to "write in a lower level language".
We built all of our web page content using JavaScript. High level, low level, who cares? It runs on the client machine, so if users complain about speed, blame it on their system or choice of browser.
Have gnu, will travel.
Ok, so let me see...you rely on an interpreted language to do your reads and writes to your database. Why not use C/C++ and interface with it thru your engine for the most used algorithms? Python has an excellent method to access C routines, and much of the access routines are written there anyway. I haven't worked much in Ruby, but I'm guessing there's a way as well. It's the same damn thing with games, or any speed critical system. The access speed has nothing to do with the processing of the data, and optimization is about more than just the algorithm. If the underlying disk/db read takes 10x longer because you're using some wrapper, then why not look at that? Or is it too hard? Your server side code doesn't need to be cross platform anyway...
write code straight off? WTF! Give me a keyboard maybe I'd happily type out a bunch code ad-hoc, but to write it?
The young coders are going to give you tests the boss doesn't understand, and they're going to be wizards with terminology and syntax the boss doesn't understand. But if you can communicate better than they can, the boss won't care that the kids are unimpressed.
People like to hire people like themselves. If you can't be like the young codemonkeys, be like the boss.
If the boss is in the interview, communicate in English (or your natural language). The young coders will want you to communicate in code. Do that if you have to, but make sure you have an opportunity to communicate your accomplishments and strengths in human language. If you can solve real-world problems instead of turning every assignment into an opportunity to play with something new, then communicate that. If your old boss comes to you for everything because everyone else will bury him in gibberish until he goes away, then communicate that.
It's a safe bet the boss is sick and tired of someone telling him how he's wrong about somethingerother. It's a safe bet he knows half of it is bullshit. Take the grilling you're going to get gracefully, admit when you don't know something, and the boss will identify with you. He knows the kids are getting a high out of having power over someone. Let him know you have the patience to deal with it.
In short, be the adult in the room and the boss will want to hire you.
If there are no adults in the interview, at least use the opportunity to practice the above, even if it is for nobody.
I can say the difference between now and the last time I had to do this (~12 years) is stark.
Seriously...if I have to take another test checking my ability to O(N) a problem, I'm gonna scream. I've been living in ginormous game engines for 6 years, and the amount of times I've had to, in the span of a timed half an hour, optimize a routine to make sure it was running in the optimal time has been....zero.
I'm sure it comes up, and I'm sure it's useful, but this all reminds me of the older assembly guys who used to put in all kinds of wonky tricks that eventually got optimized out by the compiler. Bubblesort has been solved. If your company has to implement it again, you're doing it wrong. There's a routine lying around somewhere in the company. Really.
I don't know what the solution is for evaluating tech talent, but this doesn't seem like it.
Also, web guys...if you're really concerned about speed, maybe you should consider writing some of this code in a lower level language. Plus, if your ad server takes 5-10 seconds to respond, then all of your optimization is for nothing anyway. But hey, you got the O(log N) solution. Bully for you.
Too many people looking for too few jobs. As a 50 something programmer I am now, shall we say, "semiretired". My last interview was a humiliating kick in the crotch. O(N)? Yeah, that and more. The kids need to wake up an (*gasp*, dare I say it?) unionize before they get "rightsized" out of the biz.
"If god did not exist, it would be necessary to invent him" --Voltaire
m_myDaze = #d
Every so often I come here, I get this stupid looking interface with gray text on a gray background. and the comments don't go all the way across, so I have to scroll and scroll to view all the comments, PLEASE FIX!
...along with older garbage collectors, older mechanics, older rickshaw drivers, older accountants, and older NFL quarterbacks.
When I was leaving a past job, I was involved with interviewing my replacement. I had built and supported a number of interconnected web pages and middleware largely using Perl (for internal company use, so scaling performance wasn't an issue). One of the people we brought in had been doing Perl programming for years, so we asked him to bring in an example of his work. It was a beautifully coded 'expect' type interface to command line ftp to transfer files between servers. Excellent coding style, comments, attention to detail, etc. And then I asked him, "Ever heard of CPAN? Do you know what the NET::Ftp module does?" Half a dozen lines to do what pages of his code did.
I'm not a CS by training. I'm an EE who 'fell into' web and client server apps from some embedded work. 90% of what it takes to get a job done is to know where to lay your hands on the appropriate resources. Nobody can jump into anything more than a trivial coding job with everything they need already in their head.
Oh, yeah. The whole O(N) crap: One of my duties was to support an automated code generator that took system requirements documents, did some natural language recognition, populated a knowledge base and used that to generate test code. It was originally written by a couple of flight controls engineers (MEs) and, in spite of all of our CS people jumping up and down, screaming "Can't be done. NP-hard!" it worked beautifully.
Have gnu, will travel.
I hear programmers stress about whether they can still "cut it", or dare to change specialties at the age of 30. I didn't even start my (present) career until I was 35, after many chemical-dependent years of playing rock-and-roll and utterly ignoring the tech scene. At 52 now, I don't see many youngsters (or foreigners) as much of a professional threat. Sure, management seems to think they're a lot of bang for the buck, but frankly, most of them couldn't program their way out of a wet paper bag, let alone engineer so much as a paper airplane. And they sure as hell can't do what I do -- MAKE STUFF WORK, AND FIX IT WHEN IT DOESN'T. The smart money says that, in the long run, the cheap bozos are more trouble than they're worth.
To anyone who cares to earn a living, I say acquire skills, and then acquire some more skills. Is there really anything else to it? At the risk of sounding chauvinistic, isn't that what dudes do?
'm writing some mobile apps for a local school district as part of my community service ..
Huh. That's new. So the judge ordered you to do how many hours of community service programming? And what did you do? Beat up some kids who wouldn't get off your lawn?
Next question please.
Most of us were guilty of it when we were young. We were dumb and thought we knew everything and knew virtually nothing. I am back in school to get my degree because I dropped out in '96 but most of the kids i am in class with assume they know more than I do ... at least at first.
This is just the way it is going to be, although I wish it wasn't because I will be 39 and looking for a job soon.
What old farts hear:
"You're not a good fit."
"You don't have the skills."
"The position has been closed or filled"
And one I actually got: "Your commute will be too long."
You see, people over 40 are a protected class in legal speak. What that means is if a company were stupid enough to say, "You're too old.", they just opened themselves up to an EEOC lawsuit.
Now, when I was volunteering as an IT guy at a free clinic, one of the guys there was a retired IT manager. And this is what he said, "When there's a choice between an older or younger candidate, the younger will be chosen. I'm not saying it's right, but it's the reality."
Working with retired IT/Development managers was a real eye opener. One actually said to leave IT.
I'm trying but starting over again is really hard because folks don't like hiring middle aged entry level people and they are quite incredulous that anyone would want to leave a lucrative career like software development.
It is VERY hard out there for folks who are unemployed. Just being unemployed is a black mark against you and the longer you're unemployed, the chances of getting employed again approach zero.
Freelance? Even worse.
I'm 34. I find it hard to get excited about the latest technology. Maybe that is my shortcoming maybe that is experience. Not being excited/dropping everything for the latest fad is a matter of knowing what is possible with existing technology and having been around for more than one cycle of: parallelism, single threaded performance, macro vs micro kernel etc etc. I'm not perfect but a lot of the attrition in tech can be attributed IMO to allowing HR to craft openings to use the latest acronyms rather than expecting experience/higher level thinking that they are fully unqualified to evaluate.
I work on one of the world's most influential computing platforms and I am 40. One of my most respected coworkers is 65 and nearly everyone has grown kids. Age has very little bearing on one's career and respect. I had a great job at 20 and I have a great job now. If you are not getting traction in a particular company or living area, do look around.
(And of course age by itself doesn't guarantee success over younger folks either)
I am a recruiter who recruits in the engineering spaces and in particular the Oil & Gas space in Australia.
So while not IT it probably crosses over in that we see a significant difference in attitude to years of experience between Australia and the US. For example a Senior Drilling Engineer with 20 years of experience can find it hard to get a job in the US. There seems to be a real preference for people with less experience ie younger.
In Australia the attitude is the opposite. Here the attitude is a 10 years of experience they haven't seen enough to know what not to do and that 20 is what you need to be useful.
Makes my life easier I guess, as we bring a load of skilled people over to Australia but the difference in attitude is interesting.
Some people are just not cut out to be a Manager. I should know because I'm one of them.
I've been writing software for 42 and a bit years and I'm still gainfully employed. No, it is not CICS/Cobol!
I make complex industrial systems all work together. A typical project can take upwards of 18 months to complete.
This is not a job for the inexperienced and therefore it rules out the 'young hipster' types leaving it to us Grey Haired boring old Farts.
My colleague (I refuse to use the frankly horrid term co-worker) is almost 66.
When I've had enough, I'll hand over to the person I'm mentoring at the moment. He's 54. Then I'll retire and forget about IT forever.
Bring on that day.
You are only as old as your training. So long as you keep your skills up to date; with new languages as they become fashionable and follow up on current industry practises you will never been 'too old' to be a programmer.
I'm just turning 40 this year. I've been writing code on computers since I was primary school. I've been writing code for companies since the 90's. I expect I will still be writing internal tools and toolsets up until the day I retire.
I realised last year I was falling behind the times so I went back to Uni to restart my Bachelor in Information Technology. I expect when I finish in 2-4 years time I'll do some more post-grad study to keep myself up to date. As IT professionals we should be ready to invest time in study and re-education on a regular basis. It's only when you STOP doing that that you'll fall behind the young generation pack.
might explain why games consume greater amounts of power with little in return
have you ever bothered to check the performance of your code or have you just always been arrogant in assuming
I went 11 years coming out of Carnegie Mellon without being able to score a serious software engineer position. Thankfully I make video games on my own to prove I have experience. I'm thinking of looking for a job if my latest game www.throneandcrown.com has failure to get popular. The fresh guy out of college is passed up because he has no experience. I was hoping I'd get a chance at finally getting my career started after I had a decade of experience I got on my own. I thought the decade of working on personal projects before that would help to get me a job coming out of Carnegie Mellon(which is supposed to be a good school for computers). But hey, not everyone gets a job, no matter how good they are at what they did. I'm not here to boast, but just to explain I'm competent, I've never ran into a bug in 22 years that I couldn't debug. My software runs fine and is complex (hundreds of thousands of lines of code). But will anyone even give me an interview for a junior position, nope. Things can't possibly get worse for me in terms of career as I get older because my career never started. I guess it sucks to graduate after the dot com bust.
God spoke to me
Why is this a submission twice a week?
amiright?
Age offers little to no indication of availability, skill level, or discipline. While a given organization might develop a reputation for having mostly young staff, I have yet to see other companies follow suit. The same goes for outsourcing.
Is it true that older programmers have a harder time getting a job?
In my opinion, the crux of the hiring matter lies in the interview process. I've worked for a few 'impossible entry' organizations after being rejected via their interview and later assigned to fix their ecosystem as a consultant. Setting up shop with a team of people who turned you down with the goal of teaching them how to operate has inherent absolution. Usually the code quality within such shiny walls makes you wonder which characteristics the company has been selecting for.
Congratulations, you are living by the baby boomer rules now. They are morons and only care about themselves. Welcome to life under the 'I got mine, fuck you' generation.
worked from wiring servers OS DB Grafics tcp BSM CMDB, not want to be 1 of call center drones. Any offers 4 interesting projects. 3 meals and 6 foot space any where on earth..
It might not be possible to ask the more direct question, "what does a using block do?", in a multiple-guess format without giving away the answer.
Attention zealots and haters: 00100 00100
I am getting close to 40 (geez, really?) and have had no problem. Could it be that the people complaining simply don't have the skills necessary to compete? I think that it is more that these 20-year-olds turned CTO/CIO/CEO simply have no clue what they're doing, and are hiring people that are style over substance. However, I could be wrong. After all, if you cannot use the newest up-and-coming technology, what do you have to offer, anyway?
Sounds like somebody got turned down by Facebook...
I work for a 28-person startup and we're pretty evenly distributed across the board.
Would have been funny if he answered, "Yeah, I wrote NET::Ftp".
Indeed. Unfortunately that results in bloated, insecure, unreliable and unmaintainable software as well, that very soon gets hugely more expensive than any real or perceived gain from hiring "cheap" developers.
For the current generation in 20 years, I have little hope though. They are mostly incompetent and paying more for them does not make the least bit of sense except for the few that are actually good at what they do.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
It's all related to the most profitable configuration for the company.
Most companies out there, especially the big ones, know pretty well what they are doing. Typically, a ratio of one as senior as possible resource for 20 juniors that don't have a clue. Shield this up with meticulously written contracts and a good team of lawyers and you end up making more profits than doing the right thing.
Everything I write is lies, read between the lines.
I'm 56, should I be forced to retire?
Programming is still something I do more or less 7 days a week because I like it, not to get rich or just because I'm paid to do so. When I started out this was pretty much the only way you could get into programming, i.e. my (technical) university didn't even offer an IT degree when I started there.
I've been programming since the seventies, I have written MBs of source code in many languages, but of course I'm getting about a year older every year. :-)
The main difference between today and 25-30 years ago is probably that now I'll spend a bit more time up front thinking about the problem _before_ I sit down to write the code. I've taken part in 3 of the 4 Facebook Hacker Cups that have been held so far and I've noticed that I get into trouble in the later rounds when time pressure becomes critical, but I like to think that I'm still coming up with good solutions even if it takes me more than 30-40 minutes to do so.
The international competitions that I've won have been for the fastest possible code but with some weeks to deliver the solution.
Terje
"almost all programming can be viewed as an exercise in caching"
I'm an older programmer (yes past 40, programming for about 30 years) and find no problems at all with finding work.
You'll bring more experience than the hipsters. Only issue with some companies is the higher rate/salary.
Ridiculous that once you're older you should be managing a group of 20-something programmers: do what you love, and if that's programming and not managing, stick with it.
I think that the chance you get hired depends on your own skills and attitude only. Most programmers stop keeping their skills up to date when they're forty. They shouldn't be surprised that that diminishes their chances to get hired. Attitude is important. You won't fit in if you missed out on Twitter or Instagram or whatever the kids in the team do. You won't fit in if you play golf and people you work with bring their skateboard to work. I'm sixty, I love snowboarding, I ride a super fast motorcycle, I have purple hair, I wear short skirts. I work freelance mostly (yes, that I'll give you, freelance works better) and I get plenty of jobs and projects offered. It helps that the market for Android developers is very good, but then, it was my deliberate choice to switch to Android programminig in 2008.
no, I don't have a sig
I've never been asked O(N) at interview. Maybe things work differently in the UK.
I'd sidestep the question anyway. Who gives a shit about the performance of that one algorithm, other factors will influence system speed and responsiveness far more.
In fact, if the primary reason you're recruiting is because you have one mission-critical algorithm that you need highly optimising and the rest of the architecture is solid, then you don't need me anyway. Hire a fresh computer science graduate on a contract for four months.
What makes you think management can recognize mistakes? They'll simply declare them features of whatever system they are hawking, or "known difficulties in our progress", or something. Management doesn't recognize mistakes unless they lead to their ouster, and then they draw the wrong lessons.
At 40 you are still a baby. I am now 68 and have no trouble finding work, but then I work in London and not in California. I work in the winter and spend the summer sailing and gardening (not at the same time). The company I contract at even values the fact that they have a breathing space in which to sort out their requirements for the next season's work. It suits them and it suits me.
The question is, do the hiring managers have sufficient experience and self-confidence to employ someone who has more knowledge than they do themselves? You would not dream of engaging an ignoramus to fix your car or your central heating, but many managers seem to do just that when looking for programmers.
Rewrite your CV to emphasise your breadth and depth of experience. Look for the managers who value those, they are to be found.
I like to have developers bring in some code they've written and go through it. It's amazing how many developers are just not good at interviewing... until we start looking at code. Oh, and the fakers, well, they seem to never bring code to the interview.
As far as tests go, we use them for people fresh out of school because there is a huge difference between passing a CS class and actually being able to apply that knowledge.
-- $G
Translation of "recently trained": the young.
A shop that evaluates candidates on computer science fundamentals (which is a very good idea, IMO) is going to favor those recently exposed to them. While I took the classes and got A's... I got my masters in 1999. 15 years is a long time to suddenly remember the details of A*, figure out (n) of Boyer-Moore, and white board out a BST delete operation in working code.
Programming languages change in such time. Techniques, jargon.... it is rough for the old.
I am very small, utmostly microscopic.
I think I see your problem. Most companies don't make the developers write code on the board every day, as boards are very inefficient compilers and the intellisense is just atrocious.
I don't understand why we make interviews so uncomfortable for the people we want to work for us. Give a programmer a goddamn keyboard, if you really want to see what they can do. The board is for visualizing high level interactions, not writing modules.
Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
It's all related to the most profitable configuration for the company.
The problem is, "profitable" usually actually means "what will get me (high-level exec) the most profit in the least time?" Often followed by "before I bail the ship I just helped sink."
Shore that up with bean-counter metrics, projections that fail to properly account for costs (especially intangible ones) and you can easily justify "saving" money by preferring the inexperienced. The only reason why anything has any quality anymore is that advanced manufacturing techniques and materials allows relatively incompetent and de-motivated employees to turn out items that exceed what was possible 50 years ago when low price and cheap junk were more obviously related. Software, however, isn't something that benefits much from microprocessor-controlled fabrication equipment, which is why cheap software is still cheap junk.
The old-time model of a corporation was based on the idea of a more or less permanent core population of differing levels of skill and experience. Since the 1980s the model has changed to the conceit that everyone is an interchangeable cog purchased at commodity prices, used up, and then discarded at will. Except senior management (who are obviously unique, indispensable and irreplaceable, thus mandating extreme compensation).
"they can't wrote up a very simple function on the board, the sort of thing they'd have to do every day on the job"
I use a computer - do people REALLY work at whiteboards every day on the job? I think the problem with this kind of interview is being taken out of your context - no Google, no books, no code snippets, no code for a current project - who works with a completely blank slate? Stack Overflow and O'Reilly would not exist if that was true. No wonder people blank out and take too long - that's not how they work.
I think we're at the point in the cycle, especially in Silicon Valley, where youth equates to connectedness with modern trends in technology. It may be a somewhat correct assumption, especially in my case where I find social media and chronic smart phone use to be odious. But I don't think most older programmers feel this way. As people get older and this the social media hype begins to peter out, I think companies will become realistic again. I know quite a few dotnet programmers that are over 40, and when it comes to PHP and MySQL I think companies in general are kind of indifferent about age.
At 40 most software engineers have not yet met Jack. They might have messed around with some brand new language, but couldn't actually engineer their way out of a wet paper bag. Come back when you grow up.
You don't get experienced without time. Time makes you old. The places I've worked (top-10 commercial software developers such as Microsoft) actively seek out experienced programmers. I'm in my 40's, and the companies I've talked to in the last two years consider my experience a big plus. They don't care how old I am, they care about what I can do now, and the proof of being able to do it successfully my background provides. Besides, what are the chances I'll still be there in 10 years? The same has been true for me when I hire developers. Entry level programmer? get someone hungry who will work hard and (relatively) cheap. Need a strong technical lead to architect, design, and implement part of something big? Hire someone who's been in industry 20 years and done it before. If you've delivered good results in the past and are a good programmer, the big software companies are desperate for you. I've seen jobs sit open for a year or more because there weren't enough good, experienced applicants. I've seen the same needs at bigger software houses in Silicon Valley. I can't speak for startups because I haven't done that, but there's a lot more than startups in the bay area...
I always thought a better, and in some cases, more real life test for a programmer would be to hand them a chunk of someone else's code, something real and in house but obviously not something that is proprietary. Ask them to recommend ways to improve it if possible, or explain why it is good, sound code if not. Good programmers will recognize good code (even in languages they haven't worked in) and recommend fixes where they see problems. Someone you want to hire will be honest about whether or not they've worked in the language and will almost immediately spot things like potential null pointer exceptions, potential leaks of connections, unhandled exception possibilities, etc. or even just poorly structured code.
If you're already talking about unionizing to "fix" the problem of finding and keeping work for unemployed programmers, you've already lost.
I've been programming 20 years. I picked up Pythton in 2 days, and inside a week had a multithread serial port driver embedded in someone else's framework, which had never been done and. they didn't think would work.
The foolish young punk.
In seriousness, I see many young ones treading down the same paths and mistakes. Clearly colleges aren't keeping up with lessons learned in the field.
(-1: Post disagrees with my already-settled worldview) is not a valid mod option.
I'm an "older guy" - 46 - who has moved into management. Given an option, I prefer hiring older coders. The problems coders face don't change that much, regardless of what the current hot language is. I want someone who has been burned before, and hopefully in as many ways as possible.
New languages are just syntax. If a guy can think like a coder, he can learn the new stuff without much difficulty.
TBH, the new developers coming out of college are grossly overestimating their value. They haven't done *any*thing yet. I don't know that they actually *can*.
Because other programmers already on the team are incompetent, and they wanted you to be aware of how bad the problems might get and how to fix them.
Also, I would guess the answer to that is that for the rest of the using block the variable is null, and at the end, the .Dispose() isn't called so the GC has to either hunt for the reference or let it leak. Worst case, the end of the using block causes an NRE (by calling .Dispose() on a null), it isn't caught (because who catches a using block, FFS?), and your program shits the bed.
Gotta love cargo-cultists from Java screwing up badly in .Net-land. It's almost fun to watch sometimes.
Be happy it was a CS test. The engineers in my company don't have any sway with HR. The incoming software engineers don't have to write a scrap of code before they get hired. Instead they're given a generalized IQ test. That's it.
So you don't implement bubble sort on the job, just how often do you pattern match 3 geometric shapes?
The simple CS test is a gate to see if you can code. They probably have a lot of applicants that can't even do this simple test. And doing it in person in real-time solves some major problems.
It's just a puzzle. A simple puzzle to make sure your brain isn't mush. It's just about the same as seeing if you can schmooze with office workers and small-talk with HR drones. And if they're doing it right, it's certainly not the last gate you have to get through before getting hired. Hopefully they quiz you on the higher level skills and yeah, a code review of some previous work sounds like a good idea. (As if I could show any of my military contract work in a job interview).
So hey, reverse this string, write out fizzbuzz, or sort this array. Can't do that? There's the door. If you can do that, then we can move on to the next step.
I'm 53 and have had various careers in my life. I started programming for a living about 20 years ago (although I did a lot of programming before due to the jobs I had, mostly C++ enhancements to AutoCad using PharLap, etc... a lot of lisp, turbo pascal, VB6 and C++).. as of now I am a build/configuration engineer. I write a lot of scripting in python and PowerShell and maintain a bunch of 'frankenstien' utilities that the devs don't want to touch anymore.. I also recently re-coded our delivery tool in .Net.
Given the above, I get to look at all the code that our developers churn out and I can definitely state that the code quality goes down each and every year... more bugs get out, our support department has grown exponentially accordingly and our customers are starting to leave.
But I would also have to say that it is a combination of inept management and inept development... no one really cares about the code architecture and re-usability anymore... I keep finding new code that replicates what we already have.
And in 5 years, our build team has grown from 1 to 10 people.. with no new products.. its so sad.
Yeah. Almost as funny as the Microsoft/David Korn standoff.
Have gnu, will travel.
Since Java has been around for nearly 20 years there is a whole generation of management that is convinced of the dangers of developing without a GC. Then there is the whole fleet of youngins who are scared to manage memory allocation themselves. Native code is being expunged from all but niche corners of development because of the inexperience and ignorance of the masses.
I am becoming gerund, destroyer of verbs.
It will probably drive up the level of Consumer intimacy with code.
As more "experienced" end users with more time on their hand, and less tolerance for poor quality code emerges. And more "experienced" programmers reside on the Consumer end of the pipeline... with lots of surplus time on their hands.
The concepts of "open source" and "shared source" will probably grow.
Microsoft will probably even have to "open up" and may receive help with "documenting their code" for future generations... or risk irrelevance like an ancient fossil buried in time. Software archeologists will be unearthing Technet in the far flung future.. unless they adapt.
Its rather an anomaly that we currently have industries based on the idea of "software rarity, scarcity, and end exclusivity.." its more natural to consider a program and source code to be included in the Appendix of a book. Because once it looses currency or context.. the book is the only referent. Consider a niche spreadsheet like Quattro Pro 123 or Wordstar.. anybody "know" how to install or productively use those today?
Microsoft is as much like Apple and Apple is like Microsoft.. they live in the moment.. and if they slip into the past too much.. then they disconnect with the customer base willing to accept the unique ideology "pay for software".
Eventually that ideology will shrink.. as free software, documented and opensource software gets "good enough".
Google and Red Hat on the other hand will probably become even more relevant.. even if Patents are used to attempt to strangle them simple because of the "poison pill" built into making their source code available. As a support model.. they could go out of business and be forked..
I do C++ for servers since 2001, started on Sun Solaris and moved to Linux, and along the way added python. Funny I'm forty and all those young whipper snappers ask me for help. GO figure.
this should get modded up. Spreadsheets say "if it takes 1 person 3 months, then with 3 people it will take 1 month". But spreadsheets cannot account for change (loss) in velocity because of the time needed to coordinate 3 people. Spreadsheets says "if it takes 1 person at $2000 3 months, then with 3 people at $500 each a month, it will cost less and be done in 1 month". But spreadsheets cannot account for experience that may change design decisions which affect total cost. I think this mentality is more prevalent in larger companies. In startups (or with startup new product), bottom line is quick out the door and as low cost as possible. Unfortunately, the spreadsheets cannot account for the higher maintenance costs long term because of decisions made in a rush to get it done. The spreadsheets says it costs $X 5 yrs ago so why is it now costing $10X.... I am dealing with this every day. True story: I was asked to estimate some work by a big MBA executive type. I put my team together and we provided and estimate. He said it was too high we needed to review it. We did. We pared it down a little ( 10%). He said that was too high. He already told the customer X. We are factoring in fixing problem areas, and missed or misunderstood requirements, and time for unit testing and time for integration testing. In otherwords we are trying to factor in those intangibles. Experience has little value (above a certain amount) unless you can make it measurable in spreadsheet. I think the person that can solve for these intangibles and make them tangible and measurable will become very rich.
I've always said English was my second language. Had Romeo and Juliet been written in C, I might have understood it.
As I am now 43 and have been doing this since 1989 (freshman year of college), I can honestly say that you will have a harder time getting a job if you only look to the big guys. Smaller companies like the one I work for value my experience and problem solving capabilities. We are about 10 people, of which there are 2 people that develop our software - me, and a guy who works for me (he is 33 and getting toward the "older" phase himself).
The reason? Smaller companies can't afford to train newbies nor can they afford newbies learning how to avoid mistakes. Proving that you can adapt to different situations, and solving different problems, is FAR more valuable than the increased salary you warrant.
For example, in our case, when I started at this company 5 years ago, we were going down the path of a Windows CE solution. I saw it for what it was, a clusterfuck that would bankrupt the company. Took a couple of months to convince the bosses to change, but they did. So what did we go to instead? A web site based solution.
The point of the example is that my value to the company is in being able to solve problems in many different ways along with knowing what to do to solve them. I may not know the underlying technologies directly, but I know enough to know what I need to learn and can avoid most rookie mistakes.
Give your employers that kind of value and you will NEVER have a problem finding work.
I have 25 years experience, which means I have the same year repeated 25 times
A good employer will have a management track and a technical track.
I am a Senior SDE 1 where I work. I make the same as the manager for my team. I am about to move up to Senior SDE 2. Once I've done that, then I still can move up to a Principal SDE role.
What do these titles mean? As a Senior SDE I am expected to get information from other teams in the company and from outside the company and bring it in to my group and then share it through mentoring, training, etc. I shape the technological choices my team makes.
As a Principal, I would be expected to take on that role across teams, suggesting projects and technologies for use in upcoming product development. Working more with director level and up management to help them understand new tech opportunities that can be exploited in our products.
Starting in 2000/2001 (outsourcing) the landscape changed, and development projects became very difficult to find. I had thought there would always be work for good people, and I thought I was one of them. Little did I know how little management cared for the retained wisdom of the more experienced software engineers. There are lots of young programmers around, but a commitment to larger practices was what made software engineers. I think it is a terrible waste that America has so many experienced software people flipping burgers or unemployed when we need so desperately to compete internationally.
This bullshit keeps getting thrown around as if it were real. I'm almost 50, a programmer, and have no problem getting work in Silicon Valley at all, and I havent for the past 25 years. I do not know anyone in my age group who has ever had issues getting work due to their age. If anything I'd say its far far easier for someone in my age group to get a job in tech.
The only context I can imagine this being an issue in is some sort of startup started by recent college grads or something - I wouldnt know because I would never apply somewhere like that, its too likely to lawn-dart.
For our "representatives", it seems you have to have been retired to make it there.
They also teach search and rescue in our rubble piles and collapsing buildings.
HOLY COW, now THERE'S a gig: building collapsing buildings.
Demand: There's ALWAYS another construction job to do next week.
Quality? The damn thing needs to stay standing for just a few days.
Obsolesce? No one's surprised when it falls apart.
Insurance? If it collapses and kills someone, that's just job training -- NOT my problem.
Offensive rubble color? Just wait a week and this time ask for Baby Blue.
Contractor termination scenario:
Builder: Bob, I'm afraid we're going to have to let you go.
Bob, crying, in shock: But why?? I do the absolute best job that I can do! My work is built to withstand anything!
Builder: Well Bob, you see: that's the problem.
The neighbors that come by and always complain about the smoke and noise? That's easily outsourced to friends:
That division includes an on-staff sniper.
Yes, we nerds are suitably embarrased by this fact.
Ob Dilbert.
If the universe is someone's simulation -- does that mean the stars are just stuck pixels?
"older workers ... are more often injured on the job."
Programmers? Like from a mousing accident?
My first software engineering job in the silicon valley was in 1978. I've been in and around the valley ever since in both engineering and project management. I've yet to see a bias against older programmers. I'm nearing 60 now, and I certainly have no issue finding work. I work for a small startup in the cloud application integration space. I would guess the average age of the engineering team is closer to 40 than 25. While I've never seen age discrimination, I have seen programmers who let their skills stagnate complain about age discrimination.
Did you ever consider that someone going into an interview cold without studying/refreshing first is a fucking idiot?
Probably because it's a hassle to set up the interview that way. What computer do you plop down for the interviewee, what editors do you provide, do you make them do some stupid point-and-click IDE or let them use vim or emacs, etc? Then you have to arrange for the computer somehow that is clean and wiped and properly set up in time by IT, etc. Sure it can be done but I've never seen it happen.
But on the other hand, a programming job is not only about programming, especially at more senior levels. If the person can't communicate well on the white board, what does that say about the person communicating ideas in front of the peers, or communicating with customers or other departments? I'm an introvert, but I have to spend a LOT of time using people skills on the job.
Yes I understand that people aren't as comfortable writing code on the board, that's normal. I take that into account, everyone who's interviewing candidates takes that into account, perfection isn't the goal. And of those who aren't comfortable at that, I would suspect that 75% are also uncomfortable writing code on an unfamiliar computer while someone is watching them (and you do sort of have to watch).
OMG! When will slashdot stop posting repetitive, whiny "I'm old, can I still program" stories!? I guess I have another 20 years of "Am I too old..." headlines to look forward to before they finally push me into my grave.
A lot of companies and businesses have programmers that do not fall under the 'tech company' category. Insurance companies, colleges, railroad companies, large store chains (eg: Walmart and Target), RV companies, and many other industries all have in-house programmers. All of these businesses and industries are scattered across the country. Unless you absolutely must work in a tech company in silicone valley, you should not limit your options. My first career oriented job was at a relatively small health insurance. A very large part of their software was developed in-house. They had some developers that were only in their twenties, but the majority of them were at least 40, if not in their 50s or early 60s and preparing to retire. Why? These companies see the software as just an in-house solution to a problem and not a product in itself. They do not need someone that can write in whatever the fashionable language of the day is. They need someone that has the skill and efficiency to maintain a system that was probably written some time ago in a language that fit their needs. A 20 year old that only knows C# is not going to be of any use to them when they need someone that can quickly adapt their in-house solution that was written in C or Fortran to fit new health insurance laws.
Some places higher young programmers because they are cheaper.... but some places purposely higher older, experience people. Consider all options, not just tech companies in Silicone Valley.
If you were really writing CGI apps in C and not using stuff like FastCGI then your apps would likely be slower than a FastCGI or modperl/modphp etc program due to the overheads of process creation.
So yeah it does seem silly to use C, a slow to develop language combined with CGI, a slow way of running webapps. Worse of both worlds.
How many pages per second and concurrent requests could your CGI C apps handle?
We're actually soliciting bids for a new rubble pile to be built. We'll pay several million dollars to whoever builds our next pile of broken concrete. I suggested that the ordnance disposal class could build one cheaper ...
We DID have complaints about smoke and noise. It probably didn't help that the fire field is at the end of the main runway for the local airport, so visitors flying in often ser large plumes of smoke just past the end of the runway.
The higher ups wanted to move the fire field to a more remote location and use that land for another purpose. Our director did the obvious thing - he "crashed" to 300,000 pound locomotives in the middle of the property, accessible only by dirt roads. He told them "sure, you can have that land back, you'll just have to drag 600,000 pounds of Amtrak to the new place somehow." Twenty years later, we're still there. I wonder if that director was BOFH in a previous life.
I joined the company I currently work for at 40+. Since then, we've hired people older than me (young ones too).
Shameless plug:
We're looking for good C++ developers. Age is not an issue.
Good company. Turnover is close to nonexistent. Interview is murder.
Location: Richmond Hill, Ontario
It's been proven that office work results in more workplace injuries than field work. The variable in question is age. Does someone in their 20's have more workplace injuries than someone in their 60's? I'd like to see your office stats on that.
They had discovered that they paid as much in workers comp for desk workers as they did for hardhats. There are a lot of ways to hurt backs, hands, eyes, necks in the poorly designed non-ergonomic open-plan offices. And those injuries are expensive to diagnose and to treat.
As someone pushing 50, programming since my teens, I have to agree with this, and maybe to generalize, older programmers should also pursue embedded systems jobs in such companies, since an older programmer probably has a lot of related experience working on constrained systems and dealing with low-level custom protocols and such. I did a job search starting in early 2011 after several years as a (part-time) stay-at-home dad (not good on a resume to most employers), while also doing a couple Android apps (not much sales), some paying programming projects for my wife's consulting work, various free and open source stuff (including Python, Java, JavaScript, and CouchDB/NoSQL), and a bunch of (unpaid) writing about technology and society. It took about nine months of looking to land a position after sending out 100+ resumes, working my way down from dream jobs (e.g. Willow Garage telecommuting) to just about anything as our finances dwindled. We've generally only worked for others when we ran out of cash and credit to fund our own free and open source stuff, and my wife's consulting work had hit a dry patch with the recession, and apps I wrote were not selling well, and making money of my writing somehow did not look promising. I thought about trying to make a go of selling software as a service, but it just seemed too risky.
It was a tough search given the Great Recession then. Ultimately I got a contracting job at a big ancient-by-internet-terms broadcaster supporting internally-developed broadcast infrastructure software that has been in use for over fifteen years. It is a sort of soft-real-time embedded system requiring extremely high reliability with possibly million dollar costs for seconds of downtime (like affecting commercials during sporting events). Unlike your father's example, adjusted for inflation, the pay is much less than I used to make in my early 30s doing Smalltalk (the hot technology then). But, I did not have to move for a contract as I did then, and I can work mostly from home, so that's a big perk as far as contracting jobs go. There is a significantly older developer than me on the overall project, plus a couple highly experienced managers older than me. In general, I'm very thankful for the job, and the people I work with are nice, and the work itself is challenging in an interesting way (if you like the puzzle of making sense of the work of dozens of programmers of various styles and levels of competency over more than a decade in multiple languages implementing a complex task).
I can see though that as a programmer I am slowing down in some areas (even if I have other strengths). As someone who has spent decades always being the best overall developer around, this is the first project I've been on that I've had to admit to myself there are better programmers on the team than me in many respects. That is a bit of a blow to my ego.
It's also the kind of position I probably would not have stayed in or done well in in my 20s or 30s, including because the emphasis is more on reliability than innovation. Reliability at first glance is boring, but it still has its own more subtle creative challenges both technically and socially, and there can still be a lot to learn and do. For example, ironically one of my big "value-added" efforts was getting people to agree to get rid of a somewhat-unreliable recently-added component to the system by helping find the root cause of the problem the additional complexity was supposed to fix (but ultimately didn't). When I was younger, I would have been more likely to have tried to get the extra complexity to work instead of spending months navigating the social and technical landscape needed to remove it. How do you measure "programmer productivity" when the end result is making a system more reliable by getting rid of an expensive piece of custom hardware and software which sounded like a good idea at the time? I'm inspired in this in part by Andy Hertzfeld's essay about Bill Atkinson and "-2000 Lines Of Code":
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
Programming is like beer pong: you should really grow out of it in your twenties. Anyone can program, it's not a very rare skill. And the industry has learned to desk with two decades of hack coders, so being a GOOD programmer isn't even necessary. If this was 1965 and computers had minuscule resources it would be a different story.
Which region? What country? What development area? What language?
If you are an old coder wanting to get some job at some startup mobile app social networking company, sure...probably you don't fit the profile.
For everything else, I am sure age trumps youth, as people who run companies tend to look at the extra they are paying you as a good return on investment when delays can cost you millions, or clients, etc. Experience wins every time.
Unless you are doing something very atypical for a web server, the overheads of CGI requiring a new process will dwarf any speed advantages of compilation.
No program of such nature ends up working as you intend. They are only used to deny people any ability to think/act in the long term.
Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
It's all related to the most profitable configuration for the company.
The problem is, "profitable" usually actually means "what will get me (high-level exec) the most profit in the least time?" Often followed by "before I bail the ship I just helped sink."
Shore that up with bean-counter metrics, projections that fail to properly account for costs (especially intangible ones) and you can easily justify "saving" money by preferring the inexperienced. The only reason why anything has any quality anymore is that advanced manufacturing techniques and materials allows relatively incompetent and de-motivated employees to turn out items that exceed what was possible 50 years ago when low price and cheap junk were more obviously related. Software, however, isn't something that benefits much from microprocessor-controlled fabrication equipment, which is why cheap software is still cheap junk.
The old-time model of a corporation was based on the idea of a more or less permanent core population of differing levels of skill and experience. Since the 1980s the model has changed to the conceit that everyone is an interchangeable cog purchased at commodity prices, used up, and then discarded at will. Except senior management (who are obviously unique, indispensable and irreplaceable, thus mandating extreme compensation).
Juniors and newbees to programming will delight in 16 hour days and short delivery schedules. That product that they produce will be as good as any Monday morning product. Full of potential, but also costly to maintain. Bug fixes in the field cost lots of $$$$.
The senior, works his day, perhaps after supper another two hours, but those two hours are for quality control. Who has the cleanest bugfree code? Any answers to give?
Leslie Satenstein Montreal Quebec Canada
Juniors and newbees to programming will delight in 16 hour days and short delivery schedules. That product that they produce will be as good as any Monday morning product. Full of potential, but also costly to maintain. Bug fixes in the field cost lots of $$$$.
The senior, works his day, perhaps after supper another two hours, but those two hours are for quality control. Who has the cleanest bugfree code? Any answers to give?
Once I've gone home for dinner, I'm done for the day. I already know from years of experience that the all you're going to get in the nature of quality creative work per day in a commute-to-work office is about 6 hours and more time in the office will not make any positive difference.
The exception is the stuff that hits me while I'm having "shower" inspirations.
What you get from experience isn't necessarily bug-free code. But code that has been properly thought through, aided by experience, is less likely to be a hack-job design where every bug fix pops out another bug somewhere else.
*sigh* I suppose you're right. Unless the next step is along the lines of the Molly Maguires. Not that I approve of violence, anarchy, or mayhem, but if it helps to get the point across...