Ask Slashdot: Becoming a Programmer At 40?
New submitter fjsalcedo writes "I've read many times, here at Slashdot and elsewhere, that programming, especially learning how to program professionally, is a matter for young people. That programmers after 35 or so begin to decline and even lose their jobs, or at least part of their wages. Well, my story is quite the contrary. I've never made it after undergraduate level in Computer Science because I had to begin working. I've always worked 24x4 in IT environments, but all that stopped abruptly one and a half years ago when I was diagnosed with a form of epilepsy and my neurologist forbade me from working shifts and, above all, nights. Fortunately enough, my company didn't fire me; instead they gave me the opportunity to learn and work as a web programmer. Since then, in less than a year, I've had to learn Java, JavaScript, JSTL, EL, JSP, regular expressions, Spring, Hibernate, SQL, etc. And, you know what? I did. I'm not an expert, of course, but I'm really interested in continuing to learn. Is my new-born career a dead end, or do I have a chance of becoming good at programming?"
I'm happy for you and your new career. Get ready for a nonstop list of reasons why you're doomed, but don't listen to them. If you love what you're doing, do it. Make your own success. Ageism is as bad as racism, and just as illegal.
to ageism.stackoverflow.com.
Success has an element of surprise to it, but its not entirely out of your control either. My caveat is the argument that what you learn when particularly young is what you'll be a natural at the rest of your life. Learn a 2nd language before 14 years old and your entire life, new languages will come easily and without notable accent... but learn 2nd after 14 and it'll be hard, most will give up, and even those who succeed maintain a lifelong accent. It's a brain chemistry and stage thing. Programming is an analytical and problem solving sort of thing... if anything you've done during your developmental years is similar, then it shouldn't be hard for you to adapt now, really... and as with french and spanish and italian, the differences between, say, perl, python, javascript and php are not significant enough to deter you... the LOGIC behind them will be familiar... the differences are more in context, strengths, and dialect.
Wal-Mart has a job for you. Best to let the Young Bucks do the heavy lifting of this thing you call "programming". Nobody wants to be your fellow brogrammer, go work in a book store.
If you want news from today, you have to come back tomorrow.
Go for it. If you're willing to learn new things, then age should be no obstacle. Indeed, I suggest that even older people (in their 70s and 80s) learn programming, as by exercising the brain, you may prevent certain brain problems (like dementia).
You might not be able to work as many hours as young folk, but if you're willing to work, and to continually learn new tricks and ways of doing things, then I can't see it as a problem.
Anyone who says that you are too old is at best an idiot, but maybe someone who just wants to take your job. Don't let them, prove the bastards wrong.
HELP MY ACCOUNT HAS BEEN HACKED BY AN ILLIBERAL ART STUDENT SET TO DESTROY THE INTERWEBZ!
and prove that it can be done to us all and get it over with! :)
Go for it. The only one that should be telling you what you can or can't do is yourself.
If you have a passion for something you will enjoy it and may become very good at it.
No career is a 'dead end career' unless you're awful at it, or it's just completely unneeded (or over saturated). If you've already started learning the stuff and they're paying you, keep at it.
Since then, in les than a year, I've had to learn Java, Javascript, JSTL, EL, JSP, regular expressions, Spring, Hibernate, SQL, etc. And, you know what? I did. I'm not an expert, of course, but I'm really interested in continuing to learn.
Go forth and prosper. Programming is not like professional sports or the ballet, where there are only a few hundred jobs nationwide to go around.
It sounds like you never aspired to striking it rich, nor becoming senior management. It sounds like you want a secure job that will last you until you retire.
IMHO, this transition forces you to find a family-owned business or a private company who doesn't focus solely on the bottom line. It does limit your options, but who cares? It sounds like you don't want 100x options, but you want a stable job until retirement.
In that case, go ahead! Keep learning, keep your skills up to date, and you will do great! Just don't expect a high wage, or to get paid like you are an industry veteran. You pay will be comparable to an entry-level programmer (or a bit better). Don't beg for promotions, stay low-cost, and you will do fine.
There is always a chance. if....
you never get hit with the non-existent age bias in the tech industry
you like the smell of curry and noodles
you don't mind ramping up on a skill set and then seeing your job get outsourced
you hit the lottery
you work AT the office
you can hide your grey hair (or if you have no hair, keep the dome waxed)
Life may suck, but if you enjoy what you do, you will always have something to fall back on, even if that something doesn't pay the bills.
Toil is Stupid. Don't be Stupid.
Even someone that is 70 can learn a new programming language and thrive. The only advantage the youngsters have is the ability to adsorb the information faster, they cant learn more, they cant do more.
Problem is you as an older person will not happily take abuse from management, thus you are less desirable than a young fresh out of college kid that will take epic levels of abuse and not complain.
Do not look at laser with remaining good eye.
fjsalcedo,
Kudos to you and your company. Keep learning and exploring programming languages and techniques. But above all else, IGNORE what people on Slashdot tell you. Especially, since you are proving their dumb *sses wrong.
I used to be an electrical engineer, working strictly with hardware. Then, a layoff and lousy job market forced me to make a career change. I went back to school for a grad degree in Computer Science. It was difficult for someone like me who started out without a software background but I've been working as a Software Engineer III for 1 1/2 years now. I'm now working with Java, Groovy, Spring, Hibernate, Solr...just to name a few. IT is a thriving market now and in the foreseeable future.
Is my new-born career a dead end?
Yes. But your old career was a dead end. All our careers are dead ends. Life is a dead end. We all have to deal with it. You can give up, or enjoy what you have while you have it.
Do I have a chance of becoming good at programming?
Without knowing more about you, I'd say a slight chance. But I'd say the same for a fresh graduate from some top engineering school. Good programmers are a rare find. The best we can hope for is your maturity and experience leads you to spend more time considering edge cases and maintainability and less time trying to impress people with cleverness and flash.
I've returned to full-time development after 15 years in SA/devops work. I love it and have learned new and new-to-me languages (python and go). Some things came right back and some things still take a little time. Being good at programming is independent of career, it has more to do with drive and desire and motivation.
Your career has more to do with where you want to take it and your flexibility to adjust to the situations that let you go there as much as anything else. There are plenty of shops that wear out their devs and push them in ways that only the young-uns can handle for long periods of time. (maybe that should be people-with-no-life rather than young-uns?) And there are plenty of places that you and I can contribute at high levels and be productive. It seems like you're in the latter as they gave you an alternative and a chance to prove yourself.
dt
Your company sees you as worth investing some time/training in. That speaks well of you and of the company. If you didn't at least have some level of competency they would not have been interested in training you, but (and I'm totally guessing here) you apparently show up to work and make a contribution.
So yes, be a programmer! If you're really cool we'll make you a brogrammer.
I see no reason why you can't become a good programmer. I work in IT and I see many people over forty having to learn new skills, because they are familiar with the operational systems and have too little on their plate (that is what bosses always think..).
Then again, you are becoming a grunt. You are pushed down from your career path, doing things that twenty-somethings do when they are just hired.
My advice to you: become really good in something. Pick one programming language you like, and start to design large scale architectures, interactions between high level critical systems and make sure that if they get implemented, you'll be there doing it. You need to get your career going, and IMHO software architect is the way to go.
Programmers after 35 begin to decline? Uhm... some of the most influential technology has been made by people way over 35. For instance Lars Bak released V8 in 2008. And then went on to make Dart. Walter bright and Alexanderscu are way over 35 - they are making the awesome D language (can't recommend it highly enough). If anything older programmers have more to offer. Examples are all over the place.
Maybe for some programmers energy levels decline because they don't take care of themselves physically and lose their energy after 35. But age is no factor. You could choose a niche that interests you and become an expert in it in less than 5 years. Master in 10. Do it if you love doing it.
Most of the ageism seems to come with the hiring company. If you're at a company that's already supporting you, and it appears they are, then you're not going to have problems as long as you stay. Obstacles may only start to crop up if/when you want to move. Even then I think the horror stories are exaggerated - we've got programmers in their 40's or 50's here who were relatively new hires, but we're a smaller and perhaps nontraditional company. I think you ought to still have plenty of options, but you may struggle if you try to pick certain large and established firms with a reputation for ageism, including most of the gaming industry.
Best of luck to you! I'm actually still pushing back my plans to reinvent myself as a programmer (trying to get through kids before changing career paths) and I know I won't get to it before I'm 40. Despite the general negativity about my prospects, I don't expect that to stop me from eventually making the transition.
The Quirkz Handbook of Self-Improvement for People Who Are Already Pretty Okay
was a crusty old tank sergeant who learned programming after 20 years in the Army.
My career is better than ever and I am over 40. Think our society just wants us older people to go away after a certain age. I know a lot of people my age in my profession become PM's, what a sucky worthless job btw. I plan on programming until I drop dead. Just read this study. http://blogs.wsj.com/ideas-market/2013/04/30/older-software-developers-may-be-better-than-you-think/ BTW most of the thoughts about the decline in mental abilities after a certain age are also myths.
Ask me,
My career ended at 42 when the company I was working for closed shop. I can't even get an interview even though im REALLY good at what I do and have 19yrs experience as a software engineer in assembly and C. I now work as a sys admin since it seems to be OK to be old working with that. The most amazing thing is that our "real" software engineers come and asks me for help all the time but my boss won't let me change position.
The stupidest thing I ever did was turning my passion for computers into my job...
I'm 37 and was recently promoted from senior dev to director of our development department at my company which means I do the hiring/firing now. I think ageism is real in this industry but, at the end of the day, what matters is results. If you can write good, maintainable, best practice code and deliver on time you will always be employable. Another thing that is key is you have to be willing to learn new things and re-invent yourself as technology evolves. Don't you dare get entrenched in one language, platform, or way of doing things always try new things and approaches. When you tell yourself or someone else "well this is just the way i've always done it" that should set off an alarm.
More tactically, my advice is to read good code and talk to good developers. You can gain a lot of wisdom by just having the guts to ask, expect some odd looks given you're older but all good developers appreciate good code and will help you produce good code. If anyone gives you sh*t about your age write them off as a waste of space and go talk to someone else.
I came to the datacenter drunk with a fake ID, don't you want to be just like me?
I hire programmers, and frankly at this point I am more inclined to hire an older programmer than a younger. The issue is about focus and discipline. Of course there are lots of young people who have learned how to focus on something for more than 30 seconds at a time, and I'm sure there are also some that have the self discipline to organize their life in ways that make them the most productive. But wisdom comes with age and for my particular management style someone who is self propelled and who has these qualities is desirable.
I think your only issue is going to be one of experience as you go forward with other job prospects. You'll just need to stand on what you have learned as someone who takes their career seriously, and is paying attention.
I am not interested in articles about life extension advancements.
Details change so fast in the tech sector that nobody's skills stay current. Everybody always learns new technologies, skills, and practices to stay useful and relevant. Spending more time in the programming field only means that you have a larger collection of familiar toolkits to rely upon, not that your existing toolkit is the best fit for the task at hand. One of the reasons that I like the programming field is because there's always something new to learn. I like earning a living while still at "school".
A lot of tech schools and community colleges offer 2-year computer programming associates degrees (and many other certificate programs). And they're usually pretty cheap and offer night classes too. I suggest you check those out.
And, no, never too old to change careers. I've done so several times and always ended up smoking my younger competition.
The cow says "Moo." The dog says "Woof." The Timothy says "Thanks, valued customer. We appreciate your input."
With the worst first comment ever.
The legit question is: will I be able to continue to learn faster than a programming robot will advance and eventually replace me? The truth is that the programming robot will learn at an exponential rate, so there will likely be little difference between having 2 years of experience or 20 by the time the robot surpasses your ability. Perhaps the 20-year-programmer will have an extra day or two to try and hack into the robot, and likely that extra experience will help with that goal. But all programmers will eventually be replaced by the robot. Then, at long last, the hardware engineers can again gloat.
Often it's about interview techniques, not so much skills. If you don't know how to interview fairly well, such as being very nervous, then during recessions or downturns you may be out in the rain. That's the ugly reality. But then again, almost any career is like that.
Table-ized A.I.
In my experience as a programmer, what sets apart acceptable developers from great ones is the ability to teach themselves new languages, frameworks, libraries, and techniques. They're self-driven, and it shows. They don't 'learn faster' - they just learn more often. You take a person like that, and in a few months they can demonstrate value several times greater than a programmer with a decade of experience.
It seems like you've already shown that sort of initiative, so I'd say you're already well on your way.
Since the job market in the US for developers is currently incredible, I'd say you'll have both job security at your current position and in the near future if you want to jump ship. Also realize that the computer stars - the 'young kids' everyone was talking about when computer programming became a popular job - they're all in their early to middle 30's now, if not older.
Personally, I don't see much agism where I've worked. What I have seen is older people bunkering up - trying to make sure they always have a job on the one thing they know, not training others, not reaching beyond it, trying to force people to do things in old, proven inefficient ways, unwilling to change, etc. I've written someone out of a job before, by removing a completely unnecessary stack of bubble sorts (4 levels deep!) that cut the runtime of a mainframe process from 22 hours to 45 minutes. They didn't know what to do when it no longer took 1 person the whole day to cajole the process through safely.
So, don't do that, and you should be fine.
No, programming ability does not decrease with age. I am approaching 60, writing the best code ever, and getting paid well to do it
Yes, there is extreme age discrimination in hiring. Most companies want young people, right out of college. They don't have health problems or families, and work long hours for low pay
My only specific advice to a late bloomer would be: don't sweat the "new" technology and acronym soup that changes every few years. Everything substantial was already done in the late 60's at Xerox Parc, or CERN and the NCSA in the late 80's, but comes out repackaged with new acronyms every time an architecture is refactored to fit the newest hardware capabilities. Focus on what you do well and ignore the rest. If anything, it's much easier to survive as a new programmer nowadays because the coding tools and online references are so powerful.
Java, Javascript, JSTL, EL, JSP, regular expressions, Spring, Hibernate, SQL, etc. And, you know what? I did. I'm not an expert, of course, but I'm really interested in continuing to learn. Is my new-born career a dead end
Programming isn't a dead end. You can move into management, or if you're happy programming you can still program. If you can't find a job, you can freelance. It's not the type of skill that you need a lot of fancy equipment for (i.e.- you aren't flying planes).
, or do I have a chance of becoming good at programming?"
Being good is subjective. If you want to be good at programming simply reading the right websites, books and learning new things will put you ahead of 50% of the programmers out there. If your idea of good is "Employable as a web developer" you should be fine. If your idea of good is John Carmack, then you're probably not going to end up being "good" by that definition.
Also to most employers, especially ones who don't delver software as their main business function the idea of a good programmer is someone who can deliver on deadlines, adapt to changes in specs, and get along with their coworkers. If you're going to work for a company that makes software as their main business practice, their standards will be higher. Their idea of a good programer is probably someone who has read TAOCP, knows design patters, knows whatever framework is currently trendy and can read the mind of their interviewer and know what books/blogs they like/respect.
Good luck. My dad was a programmer, just as I am. He was laid off when he was in his late 50s, and the only thing that kept getting him jobs were his contacts he built up over his long career. Another piece of advice: Make "friends" who appreciate your skills.
10 PRINT "Get"
20 PRINT "Off"
30 PRINT "My"
40 PRINT "Lawn!"
50 GOTO HOSPITAL
Table-ized A.I.
Your epilepsy is a 1% neurological condition (99% of people don't have it)
Your ability to learn and apply new (to you) concepts after age 40 is similarly rare.
The old saw about "anyone can learn anything if they just apply themselves" is not true for some people, and as people age it becomes not true for more and more of them.
"I've read many times, here at Slashdot and elsewhere, that programming, especially learning how to program professionally, is a matter for young people. That programmers after 35 or so begin to decline and even lose their jobs..."
That's just a myth perpetuated by naive 20 somethings who equate "good programmers" with those who are willing to and capable of working 90 hours a week. They haven't figured out quality vs quanity yet or that spending time with a member of the opposite sex (or same sex if that's your thing) can be as rewarding attaining 100% test coverage.
Being a good programmer is a matter of being a good fit for the role you're performing. If you have expertise in other areas and can use programming to apply that knowledge in a way that the computer can do the work that people do now, you'll never run out of automation work. Look around you at things people do by passing around spreadsheets or pieces of paper. Can you write tools to make that data flow easier?
I'm don't like telemarketing, spam, junk mail, etc. However, several years ago I got a job where I helped develop a team to implement a data warehouse for direct mail marketing. Knowing some of the traits of these scum up front helped me understand the business needs of the marketing people. I also learned a few things on how to get suppressed from such marketing as well as ways to poison data collected for such a purpose. The people I was working for saw the business value in not marketing to people who don't want the product - a viewpoint I could completely agree with. Just because you don't like something, doesn't mean you can't help someone do that thing in a more responsible and less annoying manner.
When I interview programmers, how they analyze and solve problems is far more likely to get them hired than what tools they have experience in. If they can solve a problem in their favorite language easily, I don't mind if they don't have as much experience as I'd like in the language we're using for a particular project.
I've been surrounded my whole life by people who said you can't do this, you can't do that, you won't succeed... Guess what? I'm much further ahead than any of those people. I started programming at the age 15 and there's a huge advantage in ANYTHING if you start at a younger age because you brain is a sponge BUT, efforts can allow one to compensate for the slower brain absorption rate.
If you work hard enough, you will outperform some programmers who started younger because they take their skillset for granted and stop progressing.
Reading your post I understand you've been doing this for over a year and have learned a few languages. Keep in mind that languages don't make the programmer, it's the ability to structure programs that tells how experienced a programmer really. I'm sure the structure of you programs will continue to improve as you continue to learn.
There are lots of programmers working and making very good livings well after age 35. I'm 43 and just two years ago was hired by Google, with a significant pay increase. I work with lots of other guys who are in their 40s, 50s and even 60s and they're bright, very capable and -- obviously -- highly experienced.
Of course I'm talking about people who started when they were younger, but I see no reason why it shouldn't be possible to pick it up later in life.
If you enjoy it, and are successfully making a living at it, go for it. Ignore the naysayers.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
I'm 23 myself and learning so I can't really relate but we have 2 guys at our college going for a comp science degree and they are above 80, I believe one of them is 86. I have no idea why they are doing it but they have fun and it is interesting to see projects they come up with and learning from the problems they face. At one point the xcode debugger was just too complicated and it was interesting to listen to why and see what his reasoning was. I don't think it's ever too late, but it takes time to learn code and that is something you need to consider when learning, do you have time? why are you doing it?
http://Anveto.com - Web Design, SEO, Marketing, Analytics & Security
Like there was any fundamental difference between hardware and software engineering. Once you can truly automate one, same is possible for the other.
CLI paste? paste.pr0.tips!
Agism in the IT industry has a lot more to do with companies not wanting to pay for experience than it does with any genuine lack of skills on the part of the older population. I know many people who transformed their careers from "low level" tech roles to full scale programmers.
One of the best programmers/Oracle admins I know didn't start working with computers until he was 43, and was then given the opportunity to learn on the job -- and learn he did! Keith knows more about Oracle and it's guts than anyone else I've ever met. He even has a handful of machines set up at home that he used to learn RAC configuration before going ahead with doing so for the business systems he was administering. (All old/used boxes, but it was the configuration experience he wanted, not a high performance home cluster.)
I do not fail; I succeed at finding out what does not work.
So you can certainly learn to code, and probably just as well as someone right out of school (that whole "learning is easier when you're young" thing is a crock of shit). The problem is that you will be *perceived* as "over the hill", "set in your ways", "too expensive", or just plain "too old" when interviewing for jobs. Ageism is rampant in the software development world -- I got a taste or two of it before I had even turned 30. That said, you might as well go for it, as it doesn't sound like you have better options, and with enough effort you *can* succeed, despite the ageism you'll face.
/thread
(I am a web developer with over ten years of professional experience. Your attitude is great and it sounds like you're learning fast. Don't listen to the know-it-alls who think they're hot shit. They're not, they're just loud.)
It's better to vote for what you want and not get it than to vote for what you don't want and get it.
- E. Debs
Like there was any fundamental difference between hardware and software engineering.
Indeed. I do both hardware and software.
When I do software, I sit at my computer and type C.
When I do hardware, I sit at my computer and type verilog.
The main difference is that C code is executed in sequence, but with verilog it is all executed at the same time.
I expect to be replaced by a robot sometime around 2030.
There are thankfully many places that still respect maturity and experience. I think the "no old programmers" meme is a result of the start-up mentality. Luckily, start-ups don't make up the entirety of the market. More established companies (like a Fortune 50 company) value the stability and continuity a more established, mature workforce can provide. Older workers aren't just looking for the next shiny thing to come along, an advantage the youngsters don't always recognize (I'm in my late 30s, pretty much transitioned out of the whippersnapper phase). A good work environment should have a mix of ages. The older workers provide perspective and can train the younger ones. The younger ones bring energy and fresh perspectives. I'd be wary of a company that's wary of older programmers.
I am 36 and love what I do. I'm a little different though as I got my first job programming when I was 16, so I've been doing Software Development for 20+ years. I've programmed in so many languages that it's almost a blur now. I've had jobs writing x86 ASM, Pascal, C/C++, Java, Python, and more. I've been a CTO, but, I loved the coding too much so I'm happy as a Software Architect for a major internet company. Who says you can't code at 36 or 40?
I don't think it really matters when you start, it's how well you do it. I've hired people of all ages, genders, ethnicities because they can code, not because of who they are. You will likely have some issues with your resume as you start out as people will say "Oh, he was just a NOC guy for the last 10 years..." type of thing and pass. But, prove them wrong and show results. Give example websites and have specific examples of the work that you did.
A lot of companies now days hire people who don't know what TCP/IP or a port is, yet, they claim to be web developers. If you have one thing, it's experience with the software domain and you are going to be able to look at problems differently than somebody out of college. Use this to your advantage.
Best of luck and welcome to the joy and pain that is programming!
And speaking as a hiring manager, draw on how your IT experience will allow you to develop solutions that will work seamlessly with the whole IT ecosystem at your organization.
I know I've seen over the years many situations where a development team will say "OK the code is ready!". When I ask them what firewall rules they will require, they just look at me blankly and turn towards IT, because that's "infrastructure stuff".
Typically we have a name for Development staff who doesn't do that... Senior developers :).
Min
On the whole, I find that I prefer Slashdot posts to twitter ones because I don't get limited to 140 chars before
Seriously. In an interview with older guys, the people doing the interviewing want to know:
You won't be constantly challenging their authority.
You will be open to new ways of doing things.
You want to learn.
You can learn (show evidence).
You can take orders and carry them out and execute well.
Won't be cynical and infect others with cynicism.
You can integrate well with the team (you're not a douche).
Don't badmouth previous employers. Don't come off like a know-it-all. Be eager and positive, both in the position and cultivate those qualities personally.
It sounds like you can learn, and you've got a positive attitude. Getting that first break might take some effort, but get that initial experience and you're golden.
Yes, the guy should totally judge his employability by a theoretical programming robot that doesn't currently exist.
It's better to vote for what you want and not get it than to vote for what you don't want and get it.
- E. Debs
If you're interested in programming, learn it and do it. Don't worry about whether you'll make money at it or whether your employers will think you're too old. Do it for yourself because it's fun and interesting. If the money or the job aspect comes later, icing on the cake.
^^^ That was a joke.
Good luck with your career change. Contrary to what you might have heard, programming is not just for young people. There are qualities you gain with age. While you might not want to go up racing against kids for who can stay up longer coding, you've solved many more problems in life than they have. A large part of programming is problem solving. So you have an edge there.
There are many other things that get better with age, but I'm not going to change the subject.
I say go for it. I'm 39 and have just changed FROM programming into something different, but my father was an Air Force pilot for 20 years, programmer for 10 years after leaving the military, was out of programming for 10 years in another industry, and has recently (as in, four weeks ago) gone back to programming at the age of 62. He was hired because he has proven over and over again that he is adaptable and capable of learning. In an economy that saw my negative-minded, high-school-only 56-year-old mother-in-law look for work for over 40 weeks, my father found his new job inside of a month, without knowing anyone within the company who hired him.
I'm not saying it's easy-peasy, but if you have skills and desire, you're likely to do well. Best wishes!
For conscience is the wound, and there's naught to staunch it
I highly recommend joining the Association for Computing Machinery, which is the preeminent computing society for software engineers (hardware engineers can play too). It's $200/year and worth every penny. You get access to a large online course library, a huge subset of O'Reilly's Safari Online books, and the entire history of all ACM computing journals, which often have landmark articles available nowhere else.
It's also worth seeing if a local ACM chapter is near you. You can connect at one of their meetings to any number of subject matter experts, who may well be willing to mentor you.
Where I work we've transitioned network staff to programming in their 40s and cobol programmers to C# in their 50s, and not once have we had any of them fail. Age related issues can hinder learning, but that doesn't mean everyone who is over 35 is doomed to fail in IT. The capability to learn new languages and programming techniques is different from person to person, and age by itself is not going to stop anyone.
This is slashdot. If you want sound debate, go to Fox News or the Huffington Post
I've found that technical skills come in last place over people skills and your ability to learn the functional side of the problem. Where I work, I was given a hint on how to advance my career. My managers told me that they can go out and hire programmers and people with technical skills all day any day. But, they can't go out and hire people who know our business. Therefore, solving business problems and helping end users be more productive is really a factor of your business knowledge more so than your programming knowledge. Knowing the business and solving business problems are what makes you valuable and respected where I work. So, if you can learn enough technical skills to solve business problems, then I think you should be fine. BTW, I'm 49. I finished my BS in CS when I was 41. I've been working for my current employer ever since.
You don't have a clue...
The difference between the 20 yr and 40 yr old programmer is that the former will push untested code into production and all that entails.
We get these discussions semi-weekly it seems that you at least have been unable to comprehend that it takes a mix of experience to make a coding team.
The hardware engineers can gloat when they learn or hire someone to write their user manuals :)
...and does my Android tablet dream of electric sheep?
#naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
The ones that fail would've failed in any industry that has a technology refresh every so often: science, medical, even manufacturing in some cases.
I did want to nail home one point here though: The mutual consensuses is that C# is a LOT easier to write in than Cobol, a ton of stuff is already created for you by MS, it's stomaching the technology overhead that typically proves to be the most challenging.
The legit question is: will I be able to continue to learn faster than a programming robot will advance and eventually replace me? The truth is that the programming robot will learn at an exponential rate, so there will likely be little difference between having 2 years of experience or 20 by the time the robot surpasses your ability. Perhaps the 20-year-programmer will have an extra day or two to try and hack into the robot, and likely that extra experience will help with that goal. But all programmers will eventually be replaced by the robot. Then, at long last, the hardware engineers can again gloat.
Management has been trying to get hold of those hypothetical programming robots for decades, and they never manage to do so. That's why they have to settle for things like under-30s and Third World code monkeys.
Someday, someone probably will manage to make computer systems that can program themselves intelligently. But a lot of predecessor functions need to be automatable first, and so far, little luck on those either. I'm fairly confident that anyone 40 or over isn't in any danger.
Exactly. Everything seems to be going great, so why not keep on truckin'.
Ok, so I didn't start as late as you did (early 30's) but I turn 50 this year, and my career has advanced steadily during my life as a software engineer. If you like it and you're pretty good at it, I don't see any reason why you should worry. You may run into a company or two that could have a problem with your age, but my current employer placed a premium on experience. I *DID* work at an internet start up that seemed to buy into the idea that younger programmers were a better bet, but a friend from a previous job vouched for me, and I was hired as the oldest engineer there. The younger programmers scoffed at the idea that experience counted for anything, but soon the managers realized the the older workers were the most productive workers -- fewer false starts, grandiose solutions, bugs etc. YMMV but when the Internet bubble burst, I wasn't one of the ones that got laid off.
I expect to be replaced by a robot sometime around 2030.
10:30PM tonight: [knock knock] Are you Sarah Conner?
Then, at long last, the hardware engineers can again gloat.
No. Because the programming robot will deliberately leave the gloat() function as an empty stub in the hardware design robot's firmware.
No, there is more to the "bad old programmer", than uwillingness to work long hours, often for free.
As people age, many become "set in their ways". And, in an industry, where half of what you know becomes useless every three years (I used to claim five years), getting "set in one's ways" is suicide. I once encountered a Cobol programmer who was writting business applications for IBM PCs in the language because he didn't want to learn anything new. Well, Cobol on PCs always was kind of creaky. He didn't last long (and his applications were bears to debug and modify).
If you're not willing to learn for the rest of your working software career, you might as well quit now.
I speak with some of the wisdom of age. I've been doing this professionally since September 1974: 38 years ago.
I started with BASIC, moved on to Fortran, CDC 6600 assembly, Cobol and Pascal (remember that language), 8080, 6809, 80x86, 680x0 assemblers, C, C++, with a stint doing Java (in JNI hell), and the odd bits of Lisp, Forth along the way. HTML was no worse than the proprieatry formatting language I used to typeset my Master's thesis (in 1984). Perl, Python, and others, I tend to forget, and relearn every six months when they happen to be the right tool for the job: C/C++ does seem to have some staying power and what I use daily.
I've built X.25 PADs and switches, digital radio modems, voice recognition systems, POTS test equipment, internet security appliances, and most recently web application acceleration devices. I've even built stuff to control industrial smoke houses. Oh yyeah, there was that CICS/IDMS stint for the railroad for their in-house modified DISOSS email app in 1984/5. Think I hacked some IBM 360 assembler there. I was grateful to move to cross-assembling Z80 assembler code and burning EAPROMS after that.
I'dve been "DONE" years ago if I didn't keep learning.
To make it in this business you neeed a logical mind and a keen desire to keep learning (programming languages, processor architectures, and operating systems being admitedly a bit more interesting than the "application or graphics framework of the day").
If you can do that, age is no barrier.
In Liberty, Rene
True, I'd been scripting automated testing systems in C++ for 3 years prior to that, but at 40, was forced to learn vb.net and vbscript. Vbscript begat powershell. Vb.net begat C#. And these days, at 55, I just work through whatever syntactic abomination is thrown my way, no matter how fundamentally unnecessary and pointless (I'm lookin' at you, WPF).
Please do not read this sig. Thank you.
That programmers after 35 or so begin to decline and even lose their jobs, or at least part of their wages
This is FUD spread by people who are covering because they are not (and probably never were) very good at their jobs... or by people who are young and can't really say for sure... or who knows who else. I personally know several guys in their 40s/50s who have been making better strides then myself (20s/30s) ... it comes down to experience, personality and capability.
Employees and careers are not square pegs to be fit only in square holes. Everything is fluid and flexible. Are the IDEAL candidate if you are starting a career in development at age 40? No... but then again, are you literally out there, at age 40, seeking a new college hire position? I'd argue you'd be considered less than ideal for ANY career if that is how you are approaching it.
There is no reason you cannot build your personal portfolio by volunteering, writing your own free/pay apps, working open source, etc...
You're not in the worst situation you could be in.
Our industry and the career options of our field change so fast, you have to learn new stuff each year, no matter how old you are. If your company keeps you around and basically pays you a salary for you to learn programming, what's you problem? Obviously they trust you and your valuable enough as a progger to them.
Most productive code is of low to mediocre quality anyway and no one cares, as long as it's finished before the deadline, so don't sweat it.
Good luck and enjoy your new career.
We suffer more in our imagination than in reality. - Seneca
Echoing many previous comments. Age does not matter. Like most endeavors you will get out of it what you put into it. It appears that you have put a good amount of effort into learning, and it appears that you have learned what you have set out to learn well. It is possible that the fact that you are older than the average person who is learning programming may work to your advantage. You have life experiences and other accumulated "wisdom" that may make up for some of the non-programming years that you spent your previous career.
Best wishes on your new career.
Also as you get older you get a bit jaded, not quite so excited with this years super-duper new programming language or API.
That's probably because if you've been programming for four decades, you've already seen 95% of the stuff that's presented as "new" *decades* ago.
Ezekiel 23:20
depends on the angle
rewriting history since 2109
I realize I'm about the 20th commenter to say this, but the popular negativity means naught. And here's my "look at me" data point: I went professional when I was 15. Nobody wanted to hire me because I was unschooled, and a smelly longhair to boot, but I made my own way. I'm 35 now, haven't changed careers (working in private practice now), have encountered absolutely zero age-related discrimination, and don't see any on the horizon.
Do you like it? Good. Do it. See you on github, and welcome to the party.
I know plenty of people that start martial arts with 35, 40 or 50 or much older.
With 3 - 4 trainings a week they make their first black belt after 4 - 5 years, sometimes faster, sometimes a bit slower.
The second black belt they make 3 to 4 years later. If they do continue and don't stop they make the fourth after 20 years of practice. In case of the 40 year old, that is obviously about the age of 60.
If you start martial arts with 60 you perhpas have no 20 years left of fitness ...
How does that relate to programming? Not at all :)
The claim that people in their best ages are unabe too learn anything is wrong, always was and always will be.
If you can become a good programmer depends only on you, your environment (stress or opertunity to evolve) your coworkers, your projects and most of all the pressure around you and the challenges of the project. From boring projects you wont learn much. From super stressing projects neither.
I wish you good luck and interesting smooth projects :)
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
People tend to generalize however from what you said you should have no problems with your career. The over 40 issue in my experience is that programmers either get burnt out on doing the same thing for a long time, or refuse to keep up with current trends. You will get people that say they have been writing shell scripts on unix for the last 30+ years, well thats great, but what else can you do since not every thing is a unix shell. The fact that your actually looking to improve your knowledge makes you even more marketable and desirable as an employee. people that just want to do the same thing over and over again till they die will not make it in todays IT world.
That's interesting. Someone who doubts his own abilities raises your doubts about his abilities. I'd have to say I have the opposite reaction. People who are overly confident in their own abilities always raise my suspicions that they may be incapable of introspection and self-correction.
No.
The ads used to say "'system administrator", "desktop support", "server", "application", etc.
And then the nice to have skills: "html", "java", "CMS", "web".
Why did I not get hired? Even though I can wrangle a CMS, and figure out a lot of stuff hosed up on a site, I cannot re-write the offending jsp and get things running again unless it is a glaring syntax error. So though I know my way around the Microsoft office systems environment, can bring servers up reliably, and keep the joint running, what they wanted was 60% sysadmin and 40% web developer, with the emphasis on the web development despite the alleged share of time.
And they want to pay cheap sysadmin pay while they suck the web developer's time at the expense of really nailing down the network.
Of course employers want more for less. The lie is that you can't find people that can do it all, because you've grown accustomed to average sysadmin skills (and possibly average web dev skills also) but think you will get a bargain with two average skills sets in one salary.
Yeah, and the idea of my tax preparer moonlighting from their day job pretending to be a plumber is funny too. Not impossible, just improbable, and they weren't that good a plumber to start.
There isn't any fundamental difference between hardware and software engineering. It was never engineering, my friend.
And the robots will need what? Oh yeah. Software. Commodity hardware will make robots both affordable and worth the software for widespread use. Just like the personal computer made computing useful for widespread use.
deleting the extra space after periods so i can stay relevant, yeah.
I picked up programming in my mid-20s and, after a couple corporate jobs, have been freelancing for the last 11 years or so. I get contacted by recruiters on a weekly and sometimes daily basis, I have a nice network of SMBs that I occasionally work with, there has been no shortage of work. My rates are between 85 and 150/hr, and because I have an LLC, all profits are directly paid to the LLC. I pay less than 10% in taxes at the end of the year after expenses and deductions and what not.
If you're a good programmer, have decent social skills, and know how to sell yourself, you can easily make 100k+ a year while making your own schedule. Fuck corporate.
sysadmins and parents of newborns get the same amount of sleep.
I've personally never worked with truly excellent developers that didn't start at least hacking in their early teens (or earlier). Doesn't mean it isn't possible, but there's a difference between being able to write code, understanding libraries, and truly start running code in your head while actually thinking in terms of the language. And the over 35 thing is garbage, IMO. You move on from programming to design (architecture) or lead roles, but IMO diminishing skills would be due to atrophy, not age.
The difference between a 20 year old coder and a 40 year old coder is usually 20 years of coding experience. That usually entails not doing silly things like pushing untested junk to production. Instead, it is pushing well-tested junk to production.
However, if this guy is just starting at 40, he may have more things in common with the 20 year old than the other 40 year old coders.
They have been saying this since the 60s, yet people still seem to be writing code. What seems to happen is, byt the time a computer catches up with a major development pattern, developers are already off to the next pattern of development.
I mean, an operating system basically does what we would have called programming 40 years ago, writing instructions to the processor, calculations, etc. The nature of programming has changed since then, as it will over the next 40 years. I could see there being an application that models relevant data, builds interfaces, and maybe even makes them look nice. But I doubt that will be the way we interact with computers by the time they can do it.
http://www.amazon.com/What-Computers-Still-Cant-Artificial/dp/0262540673
This book is one of the first, best discussions about the major challenges that AIs face. The articles about ambiguity tolerance really tell you all you need to know to understand this point. While AIs are pretty awesome at this point, they really do rely on clustering algorithms and normative pattern analysis to construct the facts they operate on. It's useful as a means of understanding the world, but it's not really the same as what most people would call 'judgement' and it's certainly not the way people work in the world.
I have a theory about why AI will never replace coders. Once a machine gets to the point where it can handle the tasks of a coder, it becomes commonplace. People strive for more, technology is necessarily an innovation market. Eventually something new comes along, it takes decades to come to grips with it. During that time, people are the ones working out what's useful and interesting.
In other words, it's all a cycle, and machines are constantly catching up by automating what we did before. They never lead, which is why we have coders.
I made the transition at about age 40, 25 years ago, and it was an excellent career move. But I also spent some time taking CSci courses as a part-time student. There are important issues you should understand that are not in any programming-language handbook or website. These include the problems of concurrency (race conditions, deadlocks), complexity of algorithms, and the basic data structures. Good luck to you!
I'm a professional programmer of 20 years now and not in my 30's any more. I've worked with some very good younger programmers that can run circles around me in terms of putting in 16 hour days when I'm basically toast after 8. What you probably have over the younger programmers is a maturity that employers appreciate. For example, younger programmers (imho) tend to be a bit more emotional, naive, insecure/defensive, not ask for help, obfuscate things trying to be 'clever', get a personal attachment to a project, etc. Older programmers tend to have checked their ego at the door a long time ago and have a healthy separation between personal/home life and work.
That said, sadly, there are many employers who won't hire an older programmer. They may see you as somebody trying to position yourself in an unwanted management role. They may also think they are getting two for the price of 1/2 if they hire that single kid just out of school who's willing to slave away for 16+ hours a day for peanuts.
Find a real world problem you can solve. Program an arduino to wipe your ass or something. Just find that problem and then write your own software to fix it. You'll have to keep your current job for a while while you start but if you can write a piece of software that is well received you can start selling licenses for it. Write an app for android phones and price it at 99 cents. Keep writing apps and build up that passive income. It's an uphill battle but at your age why not move towards working for yourself on your own terms? Your retirement time isn't far off.
The Blade Itself
Having been a programmer for over 25 years, I'm seeing more and more older people starting new careers in programming today. It's not uncommon for one of our new developers to be 40+ and be on to their second (or even third) careers. Stability in older employees being a large mitigating factor over youth (or so it was explained to me). I think you have a good future ahead of you if the nature of the work keeps you interested and you understand that this is an ongoing learning experience. If you're looking to transition into a Senior Architect or Lead Developer role you may be in for an uphill battle but not an insurmountable one (depending on interest, skills and dedication to the craft).
If you can learn all that, and retain it, your good. Keep doing what your doing and you'll have a bright career regardless of age. The reason why so many "older" folk are removed/forced/quit from IT is because they reach a point where they stop learning. Either through their own mind-set (I can grep so why use XYZ to do what I've been doing for 20 years, example) or from their lack of learning ability. I say, if you can learn to be competitive and have fun doing it and enjoy doing it then by all means your totally employable. I've hired older programmers simply because they kept up with the times and actually love what they do. It's the ones who continue to use java struts or EJB that I kick to the curb.
I think it was Goethe who once said "Tell me what a man spends his time doing, and I shall tell you his occupation". We have plenty of "actors" and "artists" who are just waiting tables until they get their big break. If you spend your time designing and implementing software, you are a programmer. It is once again growing extremely rare to find someone who spends their time programming who is not well-paid for it, (if they choose to be). If you find yourself between jobs, contribute to some open-source projects. Keep programming, and get your name out there. The robots will notice you.
The difference between a 20 year old coder and a 40 year old coder is usually 20 years of coding experience. That usually entails not doing silly things like pushing untested junk to production. Instead, it is pushing well-tested junk to production.
However, if this guy is just starting at 40, he may have more things in common with the 20 year old than the other 40 year old coders.
There is an element of life experience to it as well I think. It is often not until we get older that the value of stability and safety is fully realized.
... though not without exception. I would select interview candidates based on their apparent skill and intelligence, and would select the *older* candidate as a tie breaker.
At the end of the day somebody has to tell the computer exactly what we want it to do, and that somebody will always be a programmer.
If you have an interest in learning anything computer related, you can find a book/guide/man page/example out there. If you study, you'll get good at it. If you relentlessly seek to better yourself, you'll continually improve. You'll also look back at what you wrote last year/month/week and shudder. That means you're developing.
Are you trying to say it is not required that you pay to be surrounded by drunken teenagers, to learn things?
Would you rather entrust maintenance of a production system with 200 million users to an average 20 year old or an average 40 year old? If you have already been in IT for a long time and understand other aspects of computing well, I only see advantages in your resume.
I'm turning 50 this year, and I spent most of the day coding today, at a job that pays me a lot better than I could have imagined when I started oh so long ago. I've been doing basically a very similar job since 1987, albeit with a lot of managerial responsibility. The exact nature has changed phenomally as I've been working on Wall Street in a number of areas, but I've thrived. Pretty much because I really enjoy the work and have always worked hard to do what I thought my boss wanted. Over the years I've managed 13 people on two continents, then to just myself and now back to a half dozen or more. I have white hair and work almost exclusively with younger folks but they're great to work with. I've never been happier in my career. The technology constantly changes, but as long as you love what you're doing it'll work out great. If you see it as a stepping stone to other things it might be, but you have to put in a bit more effort. Best of luck to you.
Or, they use things like the number of spelling and grammar mistakes in the resumes to help screen, and yours never seem to pass that mark.
Oh yeah, let's talk about ad hominem attacks, shall we? You see, the parent here is a moron. Why?
Well, you see, I can deal with spelling and grammatical mistakes, but Curunir_wolf is illogical. He is too stupid to work for me.
There are important issues you should understand that are not in any programming-language handbook or website. These include the problems of concurrency (race conditions, deadlocks), complexity of algorithms, and the basic data structures.
You've been reading some pretty poor handbooks and websites.
Gloat? The hardware engineers would have to battle with the influx of software engineers battling for their jobs. Pay goes down due to supply and everyone loses.
Once the software engineers are in, there will be so many bugs that the robots won't have an advantage any more, so it will be back to status quo.
No career is a 'dead end career'...
I design cul-du-sacs, you insensitive clod!
When our name is on the back of your car, we're behind you all the way!
Yes, the guy should totally judge his employability by a theoretical programming robot that doesn't currently exist.
Why not? The corporate yesmen and the bean counters have. And the botton line is that the older you are the less bullshit you will believe and accept without question. The younger you are, the less you will work for, the longer you will work and you will accept any and every thing you are told just to please your overlords. You didn't learn shit about how people were treated at the turn of the twentieth century and your overlords want to keep it that way.
Talent doesn't belong only to the young, it can come from anyone at anytime.
The mind conceives, the body achieves, the spirit manifests.
I have a theory about why AI will never replace coders.
I have a theory that AI will just bootstrap themselves to nature and their intelligence will take on a form of its own. Essentially, it will change and evolve so radically that its complexity will be far beyond our understanding and comprehension.
A few things will happen at this point.
1. We just dictate our desires for the machines to work for us mere meat bags.
2. The machines will dictate to us how to live and we reciprocate by treating them like demigods under a new nation of Dumbfuckistan. Why think hard when you don't have too?
3. They exterminate us for being just annoying.
Life is not for the lazy.
No, it dosen't!
Tomorrow is another day...
The whole "40 years old" thing was never about the 40. That's just people labeling quickly. The reall issue is the "forty years old" thing. See the difference?
You're motivated to learn programming, you're motivated to program. So are 20-somethings. The issue with "forty" isn't the "40", it's the house, the family, the mortgage, the problems, the settling, the vacations, the health, the long hours, the weird hours, the focus.
You've already said that you were motivated, that your entire life was changing. Everyone's got some illness, but yours pushed you into programming, not out of it. I'm not saying that you were a charity case, but clearly someone saw that you used to be a very dedicated and hard worker, and simply needed a new focus for health reasons. So your illness actually worked in your favour.
If you play your hand correctly, you'll promote the fact that you're a responsible, mature, and dependable adult, and you'll easily beat out the younger competition.
The only reason that older programmers have trouble is simply because it's a industry with an easy burn-out. If you learned to program professionally when you were 20, and you became proficient at 25, and you settled into your preferred languages/toolsets/environments at 30, then by 35 you aren't interested in new languages and new techniques, none of which are better than the old ones but they are more popular.
For example, I fit that bill. I'm nearly 35, and I refuse to switch to new languages. I haven't even heard of half of the languages that you listed. So I'll continue with what I enjoy, the way that I enjoy it. In my case, it's my business, so no one's going to fire me. But over time, I'll lose more and more opportunities simply because my language of choice isn't being taught in schools.
At the same time, I'll eventually get bored with my same-old-perfect-techniques after, what, 20 years of doing them? That seems reasonable. And I really won't be interested in starting from scratch learning new ways of doing old things and being at the bottom of the learning curve again.
So that's when I'll likely choose to throw out absolutely everything and pick a different career. In my case, having already paid off the house and the car and such, I'll probably jump around through really weird jobs, because "I always wanted to do ..."
But in your case, it's all new, it's all fun, and you're right on the edge of the fore-front of the industry. That's your asset. That's where you can easily beat me too.
Around 2030, the poster will be retiring...
If you love doing it, Your'e in for a fun ride and i wish you the best. Just continue! My story: I had never coded a single row until i was at about 28. Now I'm 40, and it's still getting more and more fun to code. Learning new stuff, reshaping your old stuff etc. Java, C, Assembler, Frontendcoding with JQuery. One note though. It takes time, practice, time and experience to become really good. But eventually, you will.
I spent the second half of my 30s teaching myself lots of coding - Perl, R, Javascript, a bit of PHP, Ruby, Python, Linux admin stuff. I did bits and pieces of contract work during that time, but nothing too serious. Age 39 one of my open source buddies asked me to help him on a contracting project, so I've been ongoing subcontracting for him for the last three years on what's become quite a successful product.
Yes your career IS at a dead end except with your current employer - pretty well no other company will look at you if you're over 30 - the only thing that would make it worse would be being a woman.
People change careers mid-life all the time and make the leap to something new. There's nothing magical about programming or coding that means people can't learn it; but at any age, if you don't have a familiarity/comfort with computers, and if you don't "get" them, it will be an uphill climb. There are people who will discriminate against you, but the reality is that almost everyone gets judged unfairly for something at one point in their lives or another. And, while there's a lot of ignorant comments to your post, most of those people aren't hiring managers.
> It was never engineering, my friend.
Oh yeah it was, and is, my friend. Just not in your consumer-grade-piece-of-shit environment called x86/wintel.
CLI paste? paste.pr0.tips!
Ok, I'll give you that, I can directly think of an example of a coder that started later in life and still didn't completely grasp the QA / Layered release processes of good software development.
I still think, it can go either way though, the 40 year old can have relevant process experience that is almost directly applied to IT (R&D is a good example).
Its always a good idea to have the slot machines make a lot of noise when they pay off.
Seastead this.
As opposed to my consumer-grade-piece-of-shit environment called x86/linux, a lot like what powers /.
Right. Someone else built that.
deleting the extra space after periods so i can stay relevant, yeah.
"Is my new-born career a dead end"? Absolutely not. If you want to do programming well into your 60s, then do it. Don't pay any attention to anyone who says you can't because they don't know what they're talking about. They may try to denigrate the "old farts", but those "old farts" know a lot of stuff that can't be taught in computer science class. And they write better code, too.
The legit question is: will I be able to continue to learn faster than a programming robot will advance and eventually replace me? The truth is that the programming robot will learn at an exponential rate, so there will likely be little difference between having 2 years of experience or 20 by the time the robot surpasses your ability. Perhaps the 20-year-programmer will have an extra day or two to try and hack into the robot, and likely that extra experience will help with that goal. But all programmers will eventually be replaced by the robot. Then, at long last, the hardware engineers can again gloat.
The exact same statements were being made when I was programming in the 1970s - I think SQL was going to be one of the tools that meant we didn't need programmers anymore and end users could just produce what they wanted.
I am now in my 60s and have about 2 years ago returned to paid employment as a programmer instead of retiring (after having a career that eventually took me out of programming and into management) because I had continued as a hobby when I got too senior to do it at work, and it seemed like a good idea to earn some money doing what I regard as fun.
Some of the time I've had to learn new stuff (for instance .NET, C#, EntityFramework) and other times remember stuff I'd done before (Microsoft Access) but also much of the newer versions of techniques I had started deploying as a technical manager in the 1980s (version control, data modelling ) and stuff I picked up whilst persuing programming as a hobby (test driven development, Javascript).
I am continuing to be paid, and it doesn't seem like that will end anytime soon.
There no Dead End if one is progressing, building useful knowledge, producing meaningful results and show added value to his team. HTH/T
Changing from Nothing to One!
Is my new-born career a dead end, or do I have a chance of becoming good at programming?
Show us your code and we'll let you know for certain.
For a while, every new push was intended to replace programmers. Assembly language was once considered automatic programming, since it handled all the messy memory address stuff. COBOL was pushed, early on, as a way to get rid of those pesky programmers. In the 1970s, "fourth-generation languages" were supposed to allow anybody to program. People pushed declarative languages as a way to get away from programming.
And, in truth, this worked to some extent. Non-programmers can do more than ever before, whether it be setting up a complicated spreadsheet, entering report criteria, or writing Lua scripts in an on-line game. However, programmers have taken the new tools, every time they caught on, and used them to do more and more neat things.
Whenever we take real-world needs, we have to translate them into something precise and formal to be able to computerize them. Unless and until we have real AI, capable of understanding human thought, this will have to be done by humans, and that's the essence of programming.
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
Unlike in Capitalism, Globalization demands you to be an "Highly Skilled Wage Slave" to get/retain a job
Casteism
I don't have to speculate: I started my programming career at 41. This was back in 1986, so it was a different landscape back then. I had working doing PC tech support for a very large insurance company for 3 years, prior to which I had almost no computer experience. I did show a strong ability to grok the technology right off the bat and I was passionate about it and pretty much poured myself into all aspects of it. It was also a very exciting time - there was a lot of inspiration in the PC world.
I started programming as a natural extension to developing support systems using dBase and then Paradox on DOS, so my first steps were in 4GL. But after a couple of years,I decided that I wanted to learn Windows Programming. That meant diving into hard core C programming and wrestling with the with Win32 API. I did rather well all things considered. At that same insurance company, I was one of the lead programmers for in house desktop OS apps and I was also personally responsible for getting Windows established as the standard desktop OS and gleefully managed to piss off IBM in the process. Then I watched MS turn into total douche bags when they attacked me and my department for getting Borland products widely used in my company.
I finally got sick of the corporate scene and joined a small consulting firm where I focused on 4GL development with Pardox For Windows and then Cold Fusion when the web became dominant. After 15 years, I burned out on coding. Now I'm a full time DJ, part-time support and networking tech - poorer but happy.
So, I say go for it: coding is still one of those things that either you can do it or you can't and if you're good, you''ll find work.
I wish I could!
Absolutely true! I've had to lern the basics to "survive". But I do not consider myself as a SQL expert by any means. Regards.
Obviously, I meant 24x7. Shifts and nights, you know...
Yes, or so I've been told. It seems that web programming is "not" the easiest way for new programmers. I've a colleague, Visual C# programmer, who says that "web programming is hell". Well, but I only had that chance and tried to do my best of it. Regards.
Being a good programmer is actually all about discipline. Something that is likely much easier for you than the youngsters. No one likes a programmer with tons of bravado and not enough sense. Code needs to use good design patterns and be well tested, not thrown together as a rapid prototype then squirted into production. The best way to program is to continually educate yourself and adopt new best practices. Continually challenge yourself to work on new technology that would be useful if you were to need to change jobs.
A lot of older programmers I've known fell into the trap of maintaining one component, working with one technology. They probably felt secure that it would be too difficult to replace them, especially if their code was unintelligible. But this, invariably, did not work out. And then they are left without current and marketable skills. I don't know if the passion for acquiring new skills weakens later as I'm still in my 30s but if you no linger have a built in drive, you must cultivate one to stay relevant. But, some programming skills remain relevant regardless of language or platform.
please, please read "Design Patterns" by the gang of four and "Clean Code" by uncle bob. They should be required reading in every CS curriculum. Sadly they are not. Those books? Recommended to me by an awesome white haired software architect.