Ask Slashdot: Best Approach To Reenergize an Old Programmer?
StonyCreekBare writes "I started out programming in Z80 assembler in the 1970s. Then I programmed in Pascal. Then x86 Assembler in the early '90s. Over time I did a smattering of C, Basic, Visual C++, Visual Basic, and even played at Smalltalk. Most recently I settled on Perl, and Perl/Tk as the favorite 'Swiss army Chainsaw' tool set, and modestly consider myself reasonably competent with that. But suddenly, in this tight financial environment I need to find a way to get paid for programming, and perl seems so 'yesterday.' The two hot areas I see are iOS programming and Python, perhaps to a lesser extent, Java. I need to modernize my skill-set and make myself attractive to employers. I recently started the CS193P Stanford course on iTunesU to learn iPad programming, but am finding it tough going. I think I can crack it, but it will take some time, and I need a paycheck sooner rather than later. What does the Slashdot crowd see as the best path to fame, wealth and full employment for gray-haired old coots who love to program?"
Seriously, stop laughing. It's a niche language, but is used in a lot of places you wouldn't expect, and there aren't tons of developers. Bad for the language, but good for the developers. And the best part? It's easy to learn.
I wonder what it'll feel like when I'm 50, or 60.
I would take a strong look at Ruby. There are a lot of Ruby jobs available these days.
"To those who are overly cautious, everything is impossible. "
You have tons of experience. If you're any good at all, you don't need a class, in fact a class will go far too slow. You need to get your hands dirty. Just pick something that you think would be fun, pick an existing app for it, and copy it. You learn more by doing than reading.
I still have more fans than freaks. WTF is wrong with you people?
...what they tried with the head in Prometheus.
I'd recommend putting on a raincoat first.
Sheesh, evil *and* a jerk. -- Jade
If the primary motivation is getting a job I'd probably stick to Java and C#/.NET. Not the sexiest technologies but ubiquitous. Neither is going to be replaced anytime soon and even if they are they'll turn into what COBOL was with people working on legacy systems well past the host languages shelf-life. Given what you've said I'd probably focus on Java since you already have experience there. Another plus with Java is that you can still focus on mobile development with the Android platform if that's what's exciting you.
Or you can take the badass Paul Graham approach and create the next big thing in Common Lisp and ride that wave to YCombinator-esque superstardom! This is the more exciting/perilous route.
Would go with Java and Python. Java will bring food to the table, JavaEE, Android and so on, and it's fun if you like Architecture, design patterns and stuff. Python just for fun:)
If you're better at smaller focused tasks, learn Android development, and team up with someone with good graphics skills.
If you're better at the big picture, learn 0MQ and sell yourself as an architect.
My blog
No one wants to tell you to take up JavaScript, or .NET, or drive through IOS, but the money is there.
SQL and VB will complement some of those skill sets.
deleting the extra space after periods so i can stay relevant, yeah.
Are you really looking for a job or are you just imagining what employers want? Go out there and put yourself available. If you really know all these languages, learning another one will be piece of cake. Just tell the employer you can do the work they need. Learn whatever they need in your spare time if you need to. I'm sure you can get a job in programming if you look for it. It might not be the highest paying job, maybe not the best. But it will be a job. It sounds like that's what you need.
OTOH, if you just want to learn something new and you have time in your hands, just create something that you think has a shot at working. For instance, make an iOS app which you think might be succesful. Even if there are others doing the same, just do it. You'll learn the skill you need and you'll have a product. Who knows? You might actually pull it. But you need to invest some time in that sort of thing.
Why, you lonely?
I think you just need to add a modern stack to your resume and put out an example project on github, you'll be ready to find work. The stacks that people are hiring for right now:
A solid web application based on bootstrap.js in any of the first four frameworks will get you an interview. A sample application for IOS should as well, at probably any one of your local agencies / design firms / app shops.
If I were in your shoes, I'd skip the big enterprise languages, like Java / C# -- if you like Perl, you're going to hate working in those languages, and much of the work in those languages sucks, to be honest.
My money-shot idea: learn kdb+ and q and go pull in $250k a year working for a hedge fund / investment bank. Also, it's fun and brain-bending.
...and perl seems so "yesterday".
Ya. It's not.
I'm a 49, with only a BS in CS, am fully-employed (though I often choose to work less than 40/week) and I use Perl every day for production projects. Yes, I also use about 9 other programming languages on both Unix/Linux and Windows (sigh), but when the shit is approaching the fan, Perl usually saves the day. Having a breadth of experience and knowledge is what makes one really useful. Knowing a little (sometimes more) about a lot of things, knowing what you don't know, and how to research what you don't know, is better than knowing a lot about a few things. It's also a damn-sight better than pretending to know thing you don't know.
I've been a systems programmer / administrator on just about every Unix platform there is and specialize in automating things. That experience also helps me on Windows (again, sigh). I'm the one that gets asked to do the "impossible" things because I figure out how to get them done.
As for fame and wealth... Be good and generous with people, especially the ones you love, pay off all your bills promptly and don't buy shit you don't really need. I'm debt-free and - actually - don't have to work ever again - though, I'd be bored (okay, more bored).
Oh, and don't be a dick, unless absolutely necessary. Then...
It must have been something you assimilated. . . .
They'll help get the juices flowing.
I find myself in a somewhat similar situation, except that I started with IBM 650 machine language, then the SOAP assembler, back in the later fifties, then for a while was a wiz in FORTRAN, so have been programming for 54 years now. I found that same natural evolutionary path through Perl a pleasant adventure. Forget the money. Forget the fame. Take that early retirement at 60 to collect the government pension, minimize the lifestyle if you have to, and just enjoy programming as a recreation. Then help others.
Always wanted to learn Python, but never really had the compelling need for it. Now amusing myself taking the Edx.org/MIT introductory course in Python. I'm at the stage of wondering if as a language, it starts out trying too hard to be easy, and ends up being just as complex and un-intuitive as brain teasers in C or Perl except a bit less possibility of really dense code. Even Cobol used to get that way. Anyway since the EDx course is graded, it gives one a nice challenge to test oneself against. 'Course it's easy for me to learn one more language, after the first 49, another one isn't hard. I feel for the kids trying it for their first introduction to programming. Some of them stumble so badly, and maybe forget that Google is their friend, so they find it even a bit scary. In the old days we never had Google. Ah for the days of McKracken, or Kernahan and Ritchie, when explanations were so crystal clear. Good luck!
C/C++ is very relevant today, and will be just as relevant tomorrow.
Not necessarily conflicting, but definitely mixed. I picture a 2 circle Venn diagram. One is "enjoy my job", and the other is "get paid". You'd like to be in the middle overlapping bit.
I have no idea how to tell you how to enjoy your job. Only you know what you like. As for the language? Completely irrelevant. Any decent coder can learn a new language. If you've gone from Z80 to Perl, then you already know this and you are most likely the right sort.
But only you can know what you would enjoy. What would energize you and make you happy. So here is a strategy for you to find jobs in that middle area.
Look at job postings like you are looking for a job. Check the job resources you like in the way that you normally would. Now print out and save the jobs you think you would enjoy. Look at their requirements. If you do this for a few months you'll see patterns emerging. I want to be a _____________, and every job posted for those kinds of positions has __________ as a requirement.
Keep notes. Eventually you'll see what you need to learn. Then go learn it.
Then if you can, hook up with a temp agency. Tell them you are looking for temporary work doing _________. Do that for a while and do it well. Be sure you impress at least one person at each assignment. Get their names and numbers. When you are done ask them if they would not mind being a reference for you.
Then when you are ready for your salaried position above, mark that time on your resume as consulting (because temp agencies on your resume aren't desirable). Then send out those resumes.
And from one greybeard to another, best of luck!
Weaselmancer
rediculous.
Why bother chasing the "new hotness"? You'll compete with a host of developers working in these "hot" tech areas, and while there may be a lot of work to be had there, what makes you stand out in that crowd? As a hiring manager myself, I give a lot of credit to experience. There may be fewer opportunities in the areas of your experience, but that can be a good thing, salary-wise. You should consider applying your experience to the exploding embedded systems space. If you're going to be learning something new, you might consider a system architecture, rather than a language. ;)
Of course it's a good dose of PCP... I mean PHP.
High voltage to the chest, works best when used with conductive gel. They have apparatuses for that called a defibrillator.
I was promised a flying car. Where is my flying car?
Seriously. Learn ARM assembly, practice hitting the bare metal in an Android phone, and get a job working for someone like Nvidia, Qualcomm, Broadcom, Samsung, HTC, or someone comparable. You have a skill almost nobody does anymore, and you know how much more fun assembly is. Screw Java and boring corporate productivity apps. You can have more fun with assembly writing drivers, and make more money while you're at it. :-)
C++ is still big, and the jobs that require it pay really well. C++ is an incredibly hard language to learn properly, and most of the Java/C# generation can't quite do it due to all the little gotchas of the language. If you've got the experience and skills then you should be able to earn big bucks doing C++. And if you decide you prefer Java, the step from C++ to Java is an easy one (much less so the other way around).
Also the embedded world still has strong demand for programmers, and pays well. It sounds like you've got experience with two different assembly languages and C, which is plenty.
iOS is cool and fun but IMO the market is saturated. If you get into it, not only will you have to start from scratch, but you'll be competing with low-paid graduate programmers. If you're finding it "tough going", then not only will you not be able to compete, but you'll be putting in a high amount of effort for relatively low pay.
I find that OO design tends to be a lot more dynamic, so you may end up pushing your object interfaces around a bit before you figure out where everything wants to live. But knowing the things you'll need is more important than knowing where they'll live. If you put it somewhere and it doesn't fit, you can always move it around later on.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Old programmer this old programmer that omg
This is a good book to get you re-energized in programing and gets into introduced to 7 languages. They are: Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell
PAY HIM FOR DOING A GOOD JOB and reward him/her for finishing things, on-time, meeting specs/requirements and for doing the job right from the beginning.
Do not reward people for being late all the time, then spending tons of OVERTIME to do the job they didn't do when they were supposed too.
I hate when management rewards people for fixing their own screw-up while ignoring the people who did the job right from the beginning.
It sounds to me like you've already got the tools you need. You're telling me that you A) need work " sooner rather than later" and B) already have a good amount of experience and know modern marketable technologies. To quote a Kevin Smith movie, this is not the path of least resistance. On your resume, just downplay the "undesireables" like Basic and VB (arguably the ancient Z80 stuff, but more because it was so long ago more than it's not respectable). Ageism does exist, and you want to look fresh, especially on paper. The C and the C++ are very marketable skills if you actually can program in those languages (no offense; I don't know you, I'm just adding the disclaimer).
Finally, and I cannot stress this enough, there's no shortage of work for a good C programmer (probably not even for a suspect one). All the better if you can build things on your own. The same goes for C++.
Don't look at languages, look where jobs are in the eCommerce world. There's a ton of money exchanging hands and it's still fairly untapped. Find an eCommerce niche and develop your skills around that.
Someone flopped a steamer in the gene pool.
Is anybody really hiring Python programmers? It's a fun language, and easy to use, but the library support is amateur hour. Google uses it, but they have an in-house support group.
(bah, rick, you beat me to it. ; ) )
For mentioning TK, Visual C++ & Visual Basic, the basic assumption is that you look for something related to GUI applications.
In this case, IMHO:
In any case, the (formerly future, now) present is still the web. Whereas the future is difficult to predict.
Good luck!
is the future.
"You'll get nothing, and you'll like it!"
You may wonder, and worry that you don't belong to the younger generation of programmers - usually preferred by employers. Don't. You belong to the pioneering team of programmers which knowledge didn't come from a school, it came from passion and challenge because, at the time, we had to learn by ourselves and to make efficient programs one had to master assembly - voluntarily (nowadays, assembly is a mandatory (and feared) subject taught in computer science schools to force students to get a clue about what usually does a cpu, and how a system works internally). This is an invaluable plus. So you may want to try web sites development - like 80% of programmers and "programmers" - in PHP or Java, or iOS for the fun, but you may also want to give another try to the C / robotics / devices programming etc... areas, where you could fit surprisingly well.
Slashdot, fix the reply notifications... You won't get away with it...
You'll find Python very easy to learn if you're already experienced in Perl. By experienced, I mean you understand the kind of Perlish programming patterns involving lists, hashes and complex data structures, and you understand object orientation in Perl, and you have a good feel about when to code something yourself versus when to start looking for a third-party module. All these things are very similar in the two languages, and different from other popular non-scripting languages such as Java. Indeed, if you understand that a Perl object is really just a hashref "bless"-ed with a class name, then you'll have a deeper understanding than most Python programmers of Python objects (which are essentially the same thing underneath, but with more "classy" syntax when you're defining them).
One major difference is reference types: Whereas Perl has both @a = (1, 2, 3) and $a = [1, 2, 3], Python effectively only has the latter. Similarly, Python does not have something like %a = (one => 'un', two => 'deux'), only $a = {one => 'un', two => 'deux'} . Also, strings and numbers don't magically behave like each other: you need to do str(123) or int("456") or float("7.89"). Since you appear to be in the USA, differences in Unicode handling probably won't matter too much.
Don't worry about the syntactical superficialities regarding semicolons, dollar sigils, whitespace etc; if you can already program productively in some language then it won't take you long to adjust. Get a good book on Python and spend a few days working through it solidly from cover to cover, or at least until you feel you don't need to continue. That way you'll crack all those minor surface-level differences in one maximally productive chunk of time.
Finally, don't waste time worrying about whether Python or Perl (or any other language) is "better" or "worse" overall -- too many lifetimes have been wasted that way :-)
perl -e 'fork||print for split//,"hahahaha"'
Most recently I settled on Perl, and Perl/Tk as the favorite "Swiss army Chainsaw" tool set
Was this the late 90s? If so what did you do in the last 10+ years and if that was later I have to ask what were you thinking.
I have been programming for 10 years now(professionally for 4) and I'm well versed with C(++ and objective), Python, PHP, Lua, Assembly, Java, Prolog and I have a working knowledge of some more. I know this will get modded down as flamebait but programming languages are easy(heck I'm writing one atm while working full time). It took me 1 month to reverse engineer an application and code it using PyQt(which I had no experience with, or writing apps with a UI i.e. a non command line UI) google pyliveresponse for more info.
My point is stop wasting time thinking and just get into coding something new. If you can't then stick to what you know C/C++ is my bet.
If the primary motivation is getting a job I'd probably stick to Java and C#/.NET
I would agree with you, for someone looking to leave college in a year or two...
But for someone looking to make money sooner I'd say it would be difficult to land a Java/C# job without some practical on the job experience in those languages.
As unfair as that may be with his diverse background, it's simply the case that most companies are going to have a number of candidates to look at with a few years of Java or C# and it's going to be hard for him to get a job going that path. Longer term it may still be good to study though.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
One thing I'm not quite sure of reading your question, is what you really have experience in recently. Is it server side stuff, is that where the Perl came into play?
It seems like the most immediate path to a job for you would be to play to that base of work, server or client side. So instead of focusing on iOS for the moment, it might be better to learn Ruby if you are more of a server side guy - because lots of iOS apps want server work done and for whatever reason it seems like a lot of the work is being done in Ruby.
Basically iOS is something that may be good to know long term but probably longer term than you are looking for at the moment.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
The book is fun to read and exposes the material quite well. I really recommend it for any programmer with a few years of experience.
It won't, however, teach you those languages beyond the basics. But it'll show you that not every language is procedural and some problems might be better solved with another paradigm. If you don't have formal CS training you might not know these, and then this book is a real eye-opener.
Really, read this book if you're interested in programming in general.
I tried quite a few approaches to go from Web skills to iOS skills, and this book really got me there, because it starts basically from scratch and focuses on iPad, and it uses newer Xcode features like StoryBoard that will save you a lot of time versus learning the older techniques.
Learning iPad Programming
The book is available in iBookstore.
I don't really see why you would do anything other than iOS, because it is the only next-generation PC platform as yet, and it has the excitement of a young platform yet the maturity from Mac OS X that gives you all these frameworks to access to easily get a lot of functionality. So even though you are catching up, there are many iOS programmers who are also new to the platform, you can mix right in with them and share knowledge. And the platform is growing, so by the time you have caught up, there will still be work to be done.
Stack Overflow is also great when you get stuck on iOS programming. There were about 10 times I got stuck and the answer was on Stack Overflow, solved the problem right away.
I think there's a big difference between believing you have prepared yourself to do a type of job and convincing someone to give you a chance to prove it. People want demonstrated success in exactly the niche they are trying to fill, they're not interested in potential. So I suggest trying to enhance your appeal in some area you've already done, preferably recently, which overlaps with some direction you'd like to go. Otherwise its hard to even get an interview. Such has been my experience anyway.
Another option is adjunct teaching, if you have a BS degree. The pay is terrible, but its something.
If you come up with a good website idea, then it'll probably let you do backend (java/c/python/sql/etc) stuff as well as UI/website stuff (obj-c, etc).
As for quick money...well...come up with some dumb or simple $1 iphone app that everyone will love.
PS: I don't reply to ACs.
I think your question is sort of short sighted. First of all what are you targeting for your "industry of choice"? Lots of industries still use what you are describing as outdated, non wage inducing technologies(social security administration and energy companies are still using VMS outdated, but many are also moving away for a better solution). The goal should be to get into a place that is still using what you are great with, that is moving to a newer technology/language,leverage what you know and get the practical experience you need to grow your skill set. settling on one language/skill is not always the way to move forward
no matter how good it is, it is human nature always wants to make things better
It's not your ability to program. Lots of people can program and to a first approximation, most programmers are expected to be able to adapt to a new language or environment.
What makes you distinct is the contextual skills you bring. E.G. 802 or LTE protocols, HIPPA rules, industrial process control, DECT, pig farming automation, Point of Sale. There are thousands of different skill areas that a random programmer off the street won't know, but somebody needs.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
Sounds like embedded systems would be a great fit for you. I would strongly recommend trying that path before something like iPad programming. Try checking out http://sfbay.craigslist.org/search/jjj?query=embedded+software&srchType=A before making a final decision.
StonyCreekBare, you said you're local to the bay area, right? If so why not check out the hacker dojo in Mountain VIew, happy hour is every Friday @ 7p http://events.hackerdojo.com/event/1837001-hacker-dojo-happy-hour farther north in SF is noisebridge https://www.noisebridge.net , meetup.com still has some decent events.
What have you actually made?
That is the question.
Software experience isn't a collection of language names matched with years.
There is a huge demand for good JavaScript programmers. JavaScript is growing fast due to server side JavaScript using node.js. Also JavaScript is easy to learn. I suggest you download nodejs from
http://nodejs.org
And here are some free books on JavaScript.
http://jsbooks.revolunet.com/
Since you wrote, you are used to Perl, the gap between Perl and Python is somewhat smaller than between Perl and Objective C.
And Python fun part is the indentation what makes your code automagically more readable and you have less curly braces.
I would even look for specific Python offerings related to the astonishing Plone (http://plone.org/) which is based on Zope and that is based on Python. In the EU, for example, we are struggling to find Python/Plone developers.
The iOS stuff binds you to one Platform (i.e. Apple's) and makes you vulnerable if that goes down the drain.
If you stick to an open language and settle for an "ordinary" job, you can always find someone else to pay you.
Good luck,
Holger
Not because it's uninteresting or unmarketable, but because it's got a language and a toolset that are fairly unique to it. Same with doing Android dev. On Android, Java is the easy part, learning the framework take a fair amount of time. This is from my experience, I don't like writing GUI's generally. Take with salt.
Java has a massive market. The Company I Work For, hires nearly anyone that claims java due to our size and semi-standardization on the language. For a quick $ fix, I suggest Java. You experience with older stuff can be used in porting older stuff to java. Fun for all!
Being who I am, I would also suggest you think about taking matters into your own hands long term. Find something that excites you, make it better or innovate something else off of it. Think tiny, supplemental income. Don't attempt to solve world hunger with your little dream thing. If it goes off well, think about how to expand it or do something else more risky. Of course, don't put all your eggs in that basket but hell, having a pipedream is fun if you keep grounded enough!
Note:
Just being pragmatic, I have nothing against making apps for iOS : )
Cheers and best wishes,
me
If you have used these, then you Perl background is enough to learn also Python or Ruby.
What I do not understand in your question is this. You have programmed for about 35 years, and yet your question seems to indicate that you have not found out yet that all programming languages are in essence the same. Someone experienced like you should have the basics of Perl and Ruby under the knee in less than a week, and then invest yet another week to know what the possibilities by working through the documentation to see what libraries are standard available.
My title is development manager. I am located in a different part of the world than you are, so there may be cultural differences.
I would prefer someone who knows my industry and the toolset we are using. Seems you are going for only the last bit of the equation.
If you can catch my interest at a user group meeting, a conference or some other place where I regularily build my candidate list, chances are that I will have a talk with you. If you know a bit about my company I will be very happy. If you are able to sit down, pair program (and yes, I know a number of languages, perl being one) and perhaps teach me something I didn't know, I will be ecstatic.
In greybeards (and yes, I have a 50+ team member) I look for someone who keeps himself updated - all the time - and who seems like an interesting person who won't go postal on me. Far too many old'uns have let go and are trying to coast until retirement. A lot of them come back into the market when their dreams of being a manager without delivery responsibilities didn't happen, and they are _angry_.
You have an upside compared with young developers. You are more likely to stick around for longer. That is valuable to me.
I won't use a recruiter, except when they call me with a potential candidate I can see is good right off the bat. They are incompetent when it comes to the most important bit - judging your potential to deliver quality code fast.
YMMV. This is what works for me.
C++ is still big, and the jobs that require it pay really well. C++ is an incredibly hard language to learn properly
Not sure how far along he is in it, but he included C++ in "smattering"... I did C++ for a few years but it was long enough ago I'm dubious I could land a modern day C++ job based on what I knew and what I remember.
If he knew it well enough some refresher work may do it I suppose, but people looking for C++ work are probably looking for really solid C++ programmers.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
As a graying 60 plus who also started with Z80 assembler then progressed through Forth, Fortran, Lisp and 7 other languages, I have considerable feel for your situation. However, having endured lots of online discussion about today's 'real programming jobs' being for younger folk, I regret to suggest that full employment is an unlikely outcome (if a nice dream) in the tight financial environment we have all been living through. But I have found personal renewal and significant career and financial payoff in iOS app development for publication, then cross-development for Android, although the iOS payoff has been nearly 10x greater than for a similar Android product. And as one of my renowned neuroscience mentors taught, learning difficult new skills is the best way to keep an aging brain healthy... Fortunately, programming isn't my main career, but my downsized programmer brother (over 10 years my junior) has also had significant recent success learning to program mobile apps (Android) bringing in new income and job prospects. We both started out trying to tap the still hot market for mobile devices, and it would seem a shame to ignore higher-level independent mobile developer prospects if you couldn't land a rare ARM assembly coding job with a commercial firm. But with about 90% of the current coding on my day job being for multi-device web applications (in a world where 20- and 30- something web designers are 'a dime a dozen'), staying flexible and diversified, finding a niche and evolving new applications for new technology seem to have been the most important strategies for long term survival as a programmer.
Everything you name is a bit yesterday.
Python was the amazing anti-Perl of 2002 that was going to make all programs beautiful and easy to maintain. It's really just another dynamic language with some really nice features and others that suck--just like Perl. Ruby is pretty much the same thing, except that it got hawt during the web 2.0 nonsense. Which of these languages you use should really depend on who's paying you or what you like more (depending on your project).
Java, oh, well that's the point and click language where the IDE writes all your code for you. It's a good bet if you are mediocre or want to be a big fish in a stagnant pond. The good news is that oracle is busy shitting where Java community eats. This state of affairs is a shame, because Java had some neat ideas and a lot of promise. The JVM started out as a terrible dog, but became a powerful platform with a lot capability. Question is, will One Rich Asshole Called Larry Ellison destroy it all? He's done a helluva job on MySQL.
iOS, is newish of the yesterday techs you mentioned. becoming a phone dev is maybe a good idea. However, Zynga and Big Fish and those Facebook-y free app game type folks seem to be struggling. Signs point to advertisers realizing that the ads they put in mobile apps are fucking worthless--nobody ever clicks through, except by accident. So, unless you have a compelling app that will pay you based on actual sales, good luck in the mid to long term.
The new HAWTNESS these days is Scala (eek a JVM) and NodeJS.
Can't say much about scala, because I haven't played yet. From what I see so far, it's a bunch of frustrated functional programming nerds hoping that the world will FINALLY UNDERSTAND why currying functions is cool.
NodeJS is an interesting, vibrant community full of young programmers who are exploring the capabilities of the most ubiquitous programming environment on two legs: Javascript. JS is a fuckwit language with all kinds of stupid built in. But it is also pretty neat. You can do cool shit, mostly because it has closures. If you jump on this bandwagon soon enough, nobody will notice that you don't know shit. If you learn to stop stubbing your dick on things quickly enough, you could become Node famous. Start with the tutorials, read Javascript the Good Parts and memorize which horrible features of JS to avoid.
If you take up JS or Ruby, remember - monkey patching global objects is a DUMB FUCKING IDEA, don't do that.
If your focus is purely mercenary, just count the adverts in your area. TIOBE-light.
If your focus is career satisfaction, learn some cool shit that sounds interesting. Get good at it and be thoughtful about what you learn.
Of course you are choking on a 100 level programming course...
Ever thought of working in sales?
)
Sigh...
"I've got more toys than Teruhisa Kitahara."
What do you mean nobody uses Cobol 60 any more?
WTF?
I knew I shouldn't have taken a nap at the keyboard -- a quick zzz and you wake up with outdated skills!
Yeah, I'm a grey-beard too (started hand-coding 2650 assembler into hex-digits for keypad entry back in the 1970s) and was hardcore programming right up until about 1995 when I got into "content" creation for the WWW.
I still do some coding these days but it's mainly microcontroller stuff (because I also have a strong hardware background). I use C and some assembler for that. I like microcontroller programming -- usually there are fewer human inputs to stuff you up.
I wouldn't go back to coding as a job (I'm 58) because I find that my mind just isn't agile enough to work the way it did 30 years ago when I could keep so much contextual information in my memory at once that it was *easy*. These days, I live in a sea of paper and post-it notes.
No... find something more enjoyable than programming -- there are *lots* of alternatives.
CS193P is really just MVC programming with Objective-C messaging syntax (unusual as it is) thrown in. As Paul Hegarty says many times throughout the lectures, CS193P is only covering the basics and you'll need to dive into the SDKs and reference library to make any real progress, so if you're having trouble just following the basic course then iOS development possibly isn't for you.
If you're shit-hot at C++ perhaps you should consider Android? The basic application framework is Java-centric, but using the NDK you can write the bulk of your software in C++ and just have shims written in Java for Android.
Learn Go. It's clean, beautiful, and feels to me today like Python felt ten years ago. It's a very young language, and doesn't have the rich set of libraries you'll get with a more mature language. But community support is great, and more importantly, programming in Go is fun. If you're writing web stuff, host it on Heroku and stop worrying about system administration. Make your app 12-Factor compliant, and worry somewhat less about scaling. Play with Neo4j or other graph databases, and start to see the graphs all around you. (But note, there is no working, complete Go library for Neo4j - life can be rough at the edge.)
Most importantly, write what you find fun to write. :)
The best way to reenergize and old programmer is a Korean massage with a "Happy Ending".
You asked.
* Carthago Delenda Est *
Python is hip, but there is still a lot of work in the (in my eyes more stable) languages of olden days. I have worked for the first half of 2012 year on a Fortran project, for example, that is still expanding. For job security, strangely enough, COBOL is the language of choice. If you do not mind all its quirks, you can work at a bank for the rest of your life. Banks have huge database mainframes that run on COBOL and for them it is cheaper to keep them up and running than to replace them by more contemporary server hardware, because they are smart enough to see that replacing such hardware has more consequences than just having the server room in a mess for two days. These COBOL mainframes are likely to stick around for several more decades. Moreover, because COBOL programmers are a rarity, the pay is not too bad either.
Perl is NOT yesterday. The CPAN is excellent, continues to grow and solves real problems fast.
You may think it's yesterday just because you don't see cgi-bin/foo.pl in URLs any more, but at the back end there's a lot of Perl glue doing important jobs.
Oolite: Elite-like game. For Mac, Linux and Windows
The best motivation is creating your own solution to something you find a real PITA. Hasn't really changed from when you were a young programmer.
I'd say it would be difficult to land a Java/C# job without some practical on the job experience in those languages.
My current, well-paying job is my first Java job. I had had 20+ years with C++ and C. Java was no issue in the interview exam.
Hint: Google the "happens-before" relation. You need to understand it well before you can code anything in Java. Scary thing is, 99% of Java coders haven't heard about it.
Try with Scala (or Clojure, or Groovy)!
it will pull you through a set of more modern skills and get you as someone who knows what he is doing settled with python in 2 to 3 Weeks.
Oh, come on. Comparing PHP to PCP is a bit harsh. I mean, one is dangerous and can lead to violent behavior and suicide and the other doesn't have a function called mysqli_real_escape_string().
USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
I am sure there is still need for realtime embedded coders. Automotive or even small appliance. I spent a good 6 years doing realtime for the domestic security and CCTV field.
Have a look at getting into I2C, low level USB, CAN, pretty sure you would be able to find something.
'What does the Slashdot crowd see as the best path to fame, wealth and full employment for gray-haired old coots who love to program?"'
...
There isn't one, either get into management or get into teaching
AccountKiller
But suddenly, in this tight financial environment I need to find a way to get paid for programming, and perl seems so "yesterday".
To me this suggests that the poster has NOT been working as a programmer for the last 50 years, but has been working doing something else. Does this change or influence what helpful answers might be?
Since you need a paycheck now, one thing to look for are gigs using Perl on the web, or as a web API. Which means a Perl CGI sitting on a web server, pulling information from a database (MySQL) usually, and sending that out as HTML (web) or XML/JSON (API). Just go to Craigslist and you'll see what people are asking for - Perl and this, Perl and that. You mention Python, some want Perl and Python. Know how to pull info from MySQL with Perl, manipulate it, then send it out as HTML (or XML, or JSON) to a web page. Once you have that covered, maybe learn some Python and learn to do the same thing in Python.
Start with your strengths. Forget about iOS now. Do the web backend for iOS apps. Lots of companies are developing iOS apps, but they need people to connect to their web API backend, which uses Perl (or PHP, or Python, or whatever) to access their database. If you're doing the backend, you don't need to worry about Android (or Windows 8, or whatever) killing off iOS jobs because the web API is platform-neutral. Go with your strengths. Do Perl scripts sending info to web pages. If you're interested in Python, learn to do the same thing in Python. Once you've mastered doing the backend for apps, and have have been doing that, then learn native iOS and Android development.
I have a side business where I put out an Android app, which has been downloaded by over one million people so far. For the past weeks I have done very little native Android work, and a lot of work on the Perl scripts it accesses on the web. I also use Perl to pull information from the data source and generate static web pages for the site as well. I know others are doing this as well. So get your foot in the door with Perl, then learn Python (and/or PHP, and/or JavaScript, and/or Java/Tomcat etc.) so you can pull from the database and send the info to the web with those languages as well. I would get steady with knowing that discipline before going into iOS or Android development. You *are* doing iOS/Android development - you're just doing the backend instead of the frontend. You'll be platform neutral too, so you'll be OK no matter who wins the platform wars.
I've found that test driven development, refactoring, automation, continuous integration and related practices such as those endorsed by Object Mentor http://www.objectmentor.com/ and Pragmatic Programmers http://www.pragmaticprogrammer.com/ have helped reenergize me to some extent. If you've been programming for a long time and don't feel energized, it is possible that you've become entrenched in bad habits that detract from your productivity and the quality of the code you produce.
Knowing Perl is good. It is a good tool for automation, but you might want to move to a language like Ruby which is more modern. Ruby is greatly influenced by Perl so some aspects will seem familiar.
I worry that you say you need a paycheck soon. It generally isn't good to make important decisions about your career under such conditions, you are bound to do something you'll regret.
It's a lost art. While most programmers are exposed to the high-level world of mobile and web apps, they're often clueless about what happens below a couple layers of abstraction.
Learn some ARM assembly and a bit about modern devices. Get a Raspberry Pi and see how far you can push its performance.
This low-level stuff is in your comfort zone, and you possess a skillset that few people have. Why not leverage that?
Lets face it, your old, fat and ugly and if you sit in the interview chair, you overflow and make the property value shed 10% of its value.
So, what can you do to make yourself attractive to the lead developer who is probably younger then you and convinced that anyone older is senile?
Well, how about this:
I know how to debug and love solving problems in an application, I really get a kick out of digging out obscure errors from customer tickets and fix them.
---
Suddenly, your salary and other requirements will seem insignificant if the person interviewing you has spent ANY time in development. There are plenty of hotshot kiddies around who want and can program the next big thing but try to get them to fix an issue that is having the customer treatening to leave and they can't/won't want to do it.
Sure debugging sucks and it ensures the remainder of your life is a joyless misery stretched out for... well lets face it, at your age, next week when you will die of a heart attack on the toilet and the paramedics will make fun of your penis.
Reality check is in order, age discrimination exists in IT so make it work in your favor. Old farts are not hip with the on thing dog (see how hip I am?) but young whipper snappers don't know about quality or getting things done or security or stability... so sell yourself on your perceived strengths. Make that young dynamic team think you are going to help them be more professional and NOT hitting the 20th something boss with your cane telling him to speak up.
I would stay away from stuff like iOS, you can't sell the benefit of your experience and the patience of old age to an industry that thinks long term planning is thinking what to do for lunch at 11:00am. None of the languages you have used have gone out of use but focusing on language is the wrong thing, there is always a kid with a longer list. He can't do shit in it but the list is there. Instead, focus on core experience, on understanding of the industry on acquired wisdom...
That is... if you acquired any.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
It depends on what you want to do. You could either program in (larger) teams and write specialized software for companies and organizations, then you should learn Java and maybe C#, as larger systems are written in these languages today. If you want to work for smaller web-shops, advertisement companies etc. learn ruby on rails or python and HTML5 technology stuff like (SVG, JavaScript etc.) or Flash. With your knowledge in Assembler you might be good for a job in embedded software. I mean real embedded software not that iOS or Android stuff. Embedded systems is a growing market, as in cars, trains, planes and all sort of other machinery more and more computer like systems do the control job.
If you want to work alone, then you in trouble.
The bonus of writing test automation versus actual project code is that can let your creativity go wild. You write code for yourself instead of a customer, and most often you can pick the tools you want and build the framework from ground up.
With 30 years of experience you've probably seen every type of bug imaginable and every testing method applied, so you won't have much trouble getting ISTQB certified.
things you'd want on your CV:
- ISTQB
- python:
or any other language which you've sucessfully used to automate a windows application and a browser
- SoapUI
most middleware is moving or has moved onto webservices model, even if you only test the front end it'll still be handy to determine if a particular bug is caused by front end or middleware
- SQL
combined this with soapui this lets you pinpoint whether a bug is caused in DB or middleware
it's also handy for grabbing data for the automated tests which should run on large datasets
Quickest to bootstrap on will be python as you already have perl; probably more and better paid jobs in iOS, so might be worth switching once your bootstrapped.
Amazing! I have never heard of the "happens-before" relation, and I have been successfully writing Java programs for almost 10 years now!
I must be -SPECIAL- or something!
Connect programmer to variable transformer, or use an incandescent lamp in series with it. Then slowly increase voltage.
I'm seeing lots of jobs around for "Modern" Perl - interviewing for them myself. Perl is by no means "yesterday".
If you have not already done so start using DBIx::Class, Moose, Catalyst.
If you really need a pay check then maybe bite the bullet and do some PHP work. There is a LOT of that about.
I have never heard of the "happens-before" relation
Better late than never.
With all of your assembly programming experience, embedded programming is something you should look at. Not that much embedded software is written in assembly these days, but understanding it is necessary when you're counting cycles and thinking about registers.
Then learn about hardware. Horowitz and Hill's "The Art of Electronics" is dated, but still amazingly usefull and the best book for practical electronics. Consider it a metaphor for yourself at this stage in life.
Then learn some math. Practice it, live it, breathe it. Carry a pad of paper with you and practice your math in every spare moment. Embrace your inner geek.
Good embedded programmers are always in demand and the best of those known hardware and math. They're never bored and they earn good money, unlike shallow code monkeys who write into Slashdot asking what language they should learn next in order to feel relevant.
IOS/Android apps for stock traders.
With your skill set, you should have a look at NS Basic/App Studio for doing iOS stuff. It has a lot of the look and feel of VB, but creates apps for iPhones, iPads and Android devices. It's a lot easier to get going with than XCode.
Say you've worked for 5-10 years already. You've got WORK experience. You've got OFFICE experience. Why not do something new?
So brush up your CV and try to convey what is your experience, what is your positive personal traits.
Get a job as consultant through a consultant company. You'll get your toes into many more opportunities and meet more people.
Consider other roles. There are TONS and TONS of different roles in the jobmarket. Investigate and apply for them!
Take every opportunity to sell yourself, honestly.
With a bit of a confidence you may find there are more opportunities out there than the box you've let yourself get stuck in.
Don't let ANYBODY ELSE define YOUR LIFE. Break out of it once in a while. We're all breaking out sooner or later anyways. Nothing is worth to be miserable for, not even a comfortable salary.
Catcha: certify
Either find an artist on the Internet, or teach yourself how to draw. Then make aps for iPad and Android. It doesn't matter what you make, as long as you make something of decent quality. The platform I am making aps with is Flash Builder 4.6. Coding in AS3/Flash is really nice for the programmer, and you also get more done with less code.
God spoke to me
I work in a team of 7. We're a mixed bag of software, hardware, and systems engineering types, but we all have to do some programming as our primary function. When a team member leaves, the replacement gets all the lovely FNG assignments as their secondary role. That is, documentation, testing, and/or QA.
I got shoved into software QA when I arrived on the team. I joke about how I hate it and how my teammates hate me in that role, but I secretly relish it and my team mates know it has to be done.
Ask yourself these questions:
- Do you love processes?
- Do you find code reviews interesting?
- Do you like tearing into others' designs and implementation?
- Does it really jack your nads when the documentation doesn't jive with the implementation?
- Do you like audits?
- Do you like meetings?
- Do you like ISO 9001?
- Don't you just hate having to reverse-engineer a product because someone was lazy with the documentation?
- Do you like making/maintaining support tools?
Then Software QA is the move for you!
It is also a skill you can shop around regardless of the development environment (although some environments lend themselves to QA better than others).
Settling on Perl and staying there seems like the mistake that you made. Not because it was Perl -- because to settled somewhere.
Some tech skills are tech independent and somewhat constant -- being a good writer and communicator is always a plus for example. Having good skills translating business into tech and vice-versa.
One of those skills is continually learning. The tech skills themselves -- languages, platforms, etc -- are ephemeral.
You waited until you NEEDED to know new skills to learn new skills. Learning them as part of your day-to-day habits would have prevented the situation that you're in right now. I think that's a fundamental skill for anyone in tech. Now you're paying the price. You can pay it bit-by-bit learning as you go or one big investment. I'd recommend the bit-by-bit.
Ironically, I know someone who really needs a Perl programmer :)
Making maps is fun,
Nothing more attractive than watching some recent teen copy code from the internet and tell the boss how well it works.
Ask one of them about hardware and the room clears. Ask one about integration and / or driver debug using actual electronic test equipment and the million techniques 40 years of experience bring to identifying WHERE a problem lives, as opposed to IF a problem exists and a sea of dull looks peeks out from under the metrosexual horn rims.
Debug some hardware written on a 20 year old platform for an obsolete micro with development kits that haven't seen the light of day for decades but that cost a million bux to do originally and must be fixed in place without resorting to the latest single-chip solution and scripty language with 'stories'.
Modern graduates are one step removed from Arduino hobbyists who have discovered how to light an LED. If you want skill, you find someone with experience. If you can tolerate crap born of a few semesters of studying one or two of a thousand languages and none of the underlying specifics, by all means, choose pimples and a pizza-based diet and hammer away with 10 of them, or get one competent 50 year old to help them find their way.
Asking overpaid amateurs for their opinion on stuff like this presumes there is a reason they are overpaid other than the bosses are in a hurry, in trouble, and more incompetent. Just find better clients and leave this crew of hacks to their cute little puzzles.
Those who never held a real specialist job when they got into management are simply incapable to make technology decisions. All they can do is to apply their el-stupido methods which openly ridicule expertise in anything. They can talk nicely and make pretty powerpoints. But that is it.
Look at HP Co. - they thought that MBAers were the future. Fiveteen years later they are firmly in the crapper, while companies such as Google thrive on deep technology expertise. Google explicitly requires deep tech expertise when they hire people and they give $hit about your "soft skills". They hire quite old people with more than two decades of software engineering under their belt.
If someone does not like the grunt work of software engineering, he or she has to make a change - no doubt. But that does not mean you cannot have a great career until 65 (or 70) in software engineering. Just don't think software engineering is all about a specific technology; it is about a solid understanding of concepts, complexity analysis, lots of experience in making systems, being able to write white papers for other technologists and of course the mastery of at least one development environment and things like business process analysis (and transformation into technology solutions to aid these processes).
The person in HR has NOT spent any time in development.
Go for assembly or perl. Add some buzzwords like ruby/rails that HR has been told to look for. Don't accept jobs where you won't survive at least a year (resume). Be nice but professional.
If you don't know how to program, go .NET.
Defining Statistics and Social Research
What ever you do, learn using state of the art IDEs well (autocompletion/intellisense, immediate reference popups, refactoring tools), as well as google and stackoverflow.com. In the olden days, you could learn APIs, and you were expected to learn as you go. These days you are expected to be more efficient, all the while APIs have gotten huge, and there are thousands of proven patterns for doing different things right. Also learn to use various coding style checkers (like checkstyle for Java), static analysis tools (ctc) and running program analyzers (valgrind), they will help you create quality code even with languages you don't know very well (as long as you are good coder to begin with). Also, most wheels have been invented countless time, take advantage!
Put yourself in suspended animation. Ask them to wake you up in about 7987 years.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Why not leverage your C knowledge and program on iOS? You only need to bridge a few functions from Objective C to C, and you're set.
Which BASIC are you talking about though, this one
http://en.wikipedia.org/wiki/BASIC_Programming
OK, so that is probably NOT what you meant, but seriously, there is some really good coin to be made in BASIC programming and I'm not talking just for the Trash80, C64 and Timex Sinclair.
Try this company to start, http://www.osas.com/
They have great accounting products based on Business BASIC, http://www.basis.com/
Programming in the accounting field "was" very lucrative for me.
WAS, because it was not my dream life to sit in a chair and stare at alpha numeric characters spilling down my screen like the Matrix all day long. Now I'm retired on a sailboat, living the life of a pirate, pun intended.
Oh, and just to be pedantic, BASIC is an acronym, Beginner's All-Purpose Symbolic Instruction Code, as you surely know.
Putting "Basic" on your resume may create some "semantic noise" for the reviewer.
And one last thing, you might consider moving on up the ladder,
With your grey hair and overall experience, you are sure to land a job as a "Consultant" and still get to program.
Differences between programmer and consultant explained here http://namingexception.wordpress.com/2011/03/29/dont-be-a-programmer-be-a-consultant/
I always check out craigslist.org (zoom to your area) and look under gigs-computer. There's a lot that's posted; see if any are suited to your skill set. Some of them are in need of quick fixes, so timing and luck could be tricky. You could earn some in the meantime. Just sayin
WARNING: Smartphones have side effects--most of them undocumented.
Maybe Red Bull?
Flappinbooger isn't my real name
I'd suggest looking for a job that utilizes your current skill-set. You have a lot of experience with several useful languages and that makes you employable right now.
You might not get a sexy job at a startup that's just looking for young caffeine-powered code monkeys, but is that what you want anyway?
Look outside the tech industry. There are plenty of good non-tech companies that need coders to maintain their legacy systems. If you can get in there, they might even let you help them move to a newer system. Believe it or not, sometimes the "old" tech guy/gal get's some respect for his/her experience. In my experience this is moreso outside the "traditional" tech industry.
I speak from experience. I'm nearly 40, doing various programming and IT-related jobs at a large non-tech company. Because I'm "old", I am better able to maintain one 20 year old system which is written in C and runs on DOS (yes, "Disk Operating System"). I've also picked up PowerShell and am doing some .Net for some of their newer systems. I also work with a lot of people my own age and and older, so I don't feel like the "old" programmer guy anymore. Getting paid better and working less than in my old job at a "tech" company. I'd never go back to that.
So bottom line: Look where you can be useful now, maybe outside where you would normally look. Then get paid while improving your skills and helping some non-techies move to the future.
I was just giving this matter some thought last night. I learn faster today, than I did at 20. I suspect that's because my experience gives me a much higher baseline to start learning. I can learn a new language in a couple of weeks (for example, XSLT, which is a bit of a mind-bender for most procedural programmers). That's the easy part. The difficult part is learning and mastering the APIs and function libraries. That can take years, and a lot of hands-on experience; especially as most of them are moving targets. iOS is certainly like that (my current learning experience). I manage a C++ shop. I did C++ for a couple of decades. I don't do C++ any more. I don't get paid to code. I get paid to make sure that others code, and make sure nothing gets in their way.
And take the heat if they don't code. Management has its own ups and downs.
However, I absolutely love to code, so I do it as a hobby.
My current passion is writing client/server systems between PHP (server), and JS/JSON or iOS (client). That keeps me plenty busy, and gives me lots to learn.
I'm also learning about usability and UX. The iOS work gives me a great outlet for that.
"For every complex problem there is an answer that is clear, simple, and wrong."
-H. L. Mencken
... down you pants. Works every time.
Sorry, had to be said.
Curious how you managed to avoid COBOL, did you believe all the "COBOL is dead" propaganda? There are still plenty of well-paid COBOL contracts out there, your Assembler experience may be relevant.
need a free COBOL editor for Windows?
advice for people asking questions about their "career".
God, you people fucking depress me. You're being "realistic" for sure, but... wow. I must stop opening these items which are a question about life.
Or any other energy drink.
As is often the case, we need more information. Several here have suggested acquiring facility with IDEs, and I agree wholeheartedly with that. Being an Eclipse wizard will improve your productivity immensely. There are a variety of tutorials that will help you with that, but it may not get you a paycheck tomorrow. You need to do it, though, if you don't want to end up right back here.
One problem you may be facing is that you are unaware of many of the new trends (where "new" may be 30 years or so) in programming languages. Computer Science students are typically required to program in a language like Scheme, Miranda, or Haskell not because anyone expects them to encounter them in a production environment, but because it allows them to design code for optimization and parallelization and other useful, modern features of computing. If you don't come up to speed with these kind of techniques, you will find yourself relegated to an ever shrinking niche of the industry, and a poorly paid one at that. This may be part of why you are having some trouble with your online course. I'm not recommending that you run out and learn those three languages, but maybe try to find a course of study that is a little more basic, even if some of it is old hat.
Also, there is no such thing as needing a paycheck from programming. You may need a paycheck, but as long it is ethicl and legal, it doesn't matter if it comes from programming or not. There are all kinds of oddball things you can do for a paycheck - I retired in 2007, and have been bouncing around among them. Probably the oddest was as Pace Instructor, teaching math on board navy ships. Not much money, and not for everyone, but I had a blast and it's just an example of what's out there.
Seriously. There's a strong need for security experts with the skill set to code rootkits and similar anti-forensic software. A book like this will help you get started with the basics.
cpghost at Cordula's Web.
I spend my days working on things related to the linux kernel, device drivers, system libraries, and the like. C, shell scripts, etc. And I enjoy every minute of it.
Z80/Pascal/Basic etc.
IMHO the tech landscape is too volatile for a grey-hair (like ourselves). You might have to get something more stable. I'm government-employed and it's ok, moneywise.
You may then pursue programming on a more personal basis -- e.g. contributing to some project like KDE or Libreoffice, or Gnome, if you want to oppress people 8-P
Before anyone make any association between Free software and profits, know that proprietary has nothing to do with profits de per se -- and profit-seeking alone makes productive people get fired (see Nokia for plenty of examples).
In five years, Objective-C will be the only language you need to program in. So start learning it now or kiss your career goodbye.
This is teh best advice I have seen on Slashdot in a long time. And the funniest. :) This guy needs to write a survival guide for old IT farts!
Coding is the new blue collar and better for your back (if you use a standing desk).
I am a bit shy of 50 and still love to code. I have done a lot of different things over the years. Mostly back end stuff, a lot of PHP.
A couple of years ago I jumped on the Javascript/AJAX wave. LOVE IT, LOVE IT, LOVE IT. Not because Javascript is the perfect language, but because the environment around it is evolving at a rapid pace and there is always something new and exciting to play with. It's hot and marketable now will be for years to come.
I dropped out of the job market about 4 years ago to try some solo gigs. That's when I had the time to really get into Javascript. I did a couple of gigs with Javascript and PHP. The last gig was pure Javascript. I was able to ignore the backend completely and just got to deal with webservices and JSON. The paradigm shifts has been very stimulating/energiziing.
I've been job searching for the past 2 months. Not crazy about the prospects of competing with the young new hotshots. Turned out not to be of problem. I just got hired to do PHP and Javascript and will be paid well to do it. The work will be challenging and exciting, and the company is a great place to work.
You could probably do the same thing. Learn something new and hot and combine it with your deep experience base and use the combination as a force multiplier.
Team him/her up with an attractive young programmer appropriate to his/her taste ;)
Read a .Net Unleashed book and you are already more qualified than 70% of the crap C#ers out there. Companies will be fighting over you if you can solve a few Fizzbuzz problems in C# at the interview, which should be trivial for you with that sort of experience. No, it will not be sexy, but that is what allows you to get your foot in the door. .Net is pretty nice too. The downsides to C# and .Net have all to do with the mostly lackluster community and almost nothing to do with the tech. I got out of .Net for that reason (working in node.js now), but C# still is actually my favorite language I have ever worked with. Linq alone is one of the best language features out there. Seriously though, most .Net developers just write CRUD apps hooking up forms with SQL and Crystal Reports, so the barrier to entry is extremely low.
Yo Mr. White, that's wack!
If you come to Detroit (don't knock it 'till you've been here - and Michigan is beautiful) you can use your existing C and Perl skills in-or-near the auto industry. Having used a micro controller or two is a big plus (makes a job almost a sure thing). You will probably need to do some contract work for a year because you lack the "automotive background". Once you understand how the CAN bus and associated tools are used in cars, you can get work for the rest of your life. C, Perl, CAN - you're in. Experience debugging vehicle level issues - your an expert.
Another way in with PC programming skills is to work for the tool vendors (CAN tools, or micros) which have a path to lower level stuff if you want to go there..
At least do the job search and see what's available. Unfortunately job postings have become buzzword mania and companies will "require" everything from driver development to CEO. Obviously a given position doesn't require all that. C and Perl together will likely get you a job somewhere here - there are several people with that pair of skills down the aisle from me who are gaining other experience on the job.
As a "middle aged" I've recently been going over my skillset and making sure it's up to snuff as my job has recently become intolerable.
Here are the things I recommend.
1. Check out http://pluralsight.com/training
2. The following Books: C# 5 in a nutshell (C#/Java very similar), The Pragmatic Programmer, Agile Principles Patterns and Practices (I'm being quizzed on Agile).
3. Podcasts! Software Engineering Radio, Yet Another Podcast, Herding Code, This Developers Life
Hope this helps!
I think whats missing here is learning how C and ASM power these I-devices your interested in and much of it can be accessed with IDL . I suggest building WebKit from source and you will see the connection instead of just popping open XCode and expecting it all to fall into place. The portability of C/C++ has never quite been replicated- I also suggest looking into Qt4 and 5. As per the webkit IDL docs explain: "The Web IDL is a language that defines how WebCore interfaces are bound to external languages such as JavaScriptCore, V8, ObjC, GObject and CPP" so there you go basic recipes that translate well towards your goal of understand "why".
If you are in an area with financial companies you could lean an array languages like K or Q (for KDB.) At Morgan Stanley they use A+. Others probably use APL. J is another one. They are used for program trading. I think those jobs pay really well, but they are not easy to land.
I wouldn't say that. I've seen replacement programmers get pretty violent when they are assigned to fix someone crappy PHP code! PHP can be pretty dangerous too, One slip up and half-a-million credit card numbers are exposed. At best a single PCP user can only cause damage to nearby surroundings. While the PHP Programmer can unleash chaos globally.
Two great tutorials for two great languages: Learn You a Haskell for Great Good!: http://learnyouahaskell.com/chapters or Learn You some Erlang: http://learnyousomeerlang.com/ These languages are different from the herd yet particle (Erlang more so). Erlang is used in hundreds of products and systems and it's paradigm matches our real world.
Too late. If you ain't got it already, just hope you aren't living under a bridge with a shopping cart in 2020.
More so when I can work on new projects I initiate rather than fix some legacy code.
As computer become ever more powerful, it remains fun.
I started when memories were measured in kilobytes and speeds kiloflops. We are on the tera-threshhold now.
As a hobby both in grad school and the working world. Thats where the real enthusiasm is. I was at the introduction of the Apple-1 at the Stanford Linear Accelerator auditorium in 1976. Mac, Amiga, NeXT, SIGGRAPH, java, mobile user groups too.
Right now the java and mobile user groups are swarming with recruiters buying us pizza and beer. There are about 20 job openings for everyone looking for a position. However, the interest is in younger people.
Seriously. Your brains need stuff that's abundant in greasy cold water fish like salmon. Buy one fillet, if it is too big for your pan then cut suitable bit with scissors, put it in the pan with its skin downwards, put salt on it, cook with low heat until its top turns whiter, add lemon juice on top of it and eat it.
Eat such a dish at least once every other day and you'll feel more energetic mentally.
The skill set to let a postcard doodle "Happy Birthday" at a price of 10 is not available everywhere. You know how to make CPU cycles actually count.
Web programming, in contrast, is focused about wasting resources senselessly. It is not likely you'll find yourself at home there.
drink a redbull and fuck off?
mandatory xkcd: http://xkcd.com/297/
I'm part of that new generation, so don't you dare dis LISP or I'll mod you down!
Oh, wait I posted. I can't do that anymore.
AccountKiller
Most programming jobs are in .NET , if you want options & pay (some .NET shops don't differentiate VB from VB.NET or even Python sometimes due to intelligence / poor management). You may not land the most glorious of jobs to begin with, but there's so many, it never hurts to keep looking till you find something / somewhere you enjoy. It's also super easy, & visual studio beats most development tools by miles and miles.
Good god man, you claim knowledge of Visual C++. That alone should get you something worthwhile. My company has interviewed a few fresh from school candidates and the results have not been promising. One could not name a simple datatype, one couldn't explain how to create a function or even define what a pointer is. How the hell is anyone getting out of college these days with a CS degree and can't give a simple definition of what a pointer is? It's like a math major that can't explain scientific notation.
Anyways, my point is that with a good understanding of C++ you should be able to land a job with minimal problems. If that's your primary concern.
By the way, your headline of "Reenergize an old programmer" and content of "in this tight financial environment I need to find a way to get paid for programming" are totally at odds with one another. You can do both, but I really take your post to be focused on the latter. I believe your best way to get paid is to do something you have experience with, and not necessarily learning something shiny and new to play with.
Let me clarify ... become a *nix sysadmin. These days, preferrably Linux.
You'll get to write all kinds of code. And the cool part is that it will be all to help YOURSELF with your job vs. some idiot committee's misguided notion of what they 'need'.
I use shell, perl, and package my own RPMs for use in my own YUM repositories all the time. You also get to play with systems monitoring solutions, like Nagios, and write your own plugins for the same. You can automate builds, configuration management, etc. If you like, you can even track your stuff in a SQL back end, and then write your own front end to it if you still have that LAMP itch. If you have junior staff, you can then write web front ends for them to use. You get to see your tools grow and evolve with your infrastructure. A lot better than developing for the PHBs, IMNSHO.
I write code all the time, and I do not have 'programmer' or 'developer' in my title, nor do I want it.
There are loads of jobs available doing C++ and Java. Put your existing skills into a resume on DICE. If you want to learn new stuff, great! You should never stop learning, but I think you're probably employable now.
I a 56 year old software developer (my title is actually Senior Consultant, but most time is spent writing code). I have been around long enough to claim development experience on Xerox Sigma 9, IBM 360/370, DOS/VSE, MVS (mainframe), CP/M, DOS, AppleDOS, OS/2, Windows, Linux,Netware 286 & 386, IBM 4690 (PC), Unix (AIX, HP/Ux, Solaris, Cromix, SCO - midrange).
I have written code in Fortran, Cobol, several variants of Basic (from CBasic to VB.Net), assembler, Java, C++, C#, Perl, Python, Ruby, Javascript and plenty more (like dBase). I do HTML/XHTML/CSS (which I don't consider languages per se).
I have worked with tons of devices (point of sales, handheld PDT's, etc).
My current bread and butter is Point Of Sales - IBM 4690, General Sales Application written in CBasic (register code), CBasic, C and C++ on the controller components. This stuff is close to 30 years old, and there are not a lot of us left who know how to do it, but a lot of stores still use it (Best Buy, for example) so the work is available, and pays fairly well.
My advice - exploit your experience. There is a lot of stuff they simply don't teach in schools. and as companies are finding out the hard way, there is a lot of old stuff that is still in use.
Personally, and this is just my opinion...I'd be hesitant to invest a lot of time and effort into making mobile apps development your new career choice. Yes, there are tons of open positions out there for IOS and Android developers and many software engineers seem to be flocking to these openings. However, at any time, I think this mobile apps bubble could burst. A year ago, I was fresh out of school and interviewing for a few mobile apps jobs. What I found was that many of the companies were start-ups with no existing product. To me, this echoes the precursors of the dotcom bust. I ended up taking a job doing back-end server app development, which I'm very happy with. I now do Android app development as a hobby, which I could make some money from, if and when I submit apps to the Play Store...but its not my career.
Follow this recipe: Grandma's Good old grandpa vivificator.
* A cup of boiling water
* Two soupspoons of dark-black colombian Cofee
* one leaf of Phanax Ginseng
* One leaf of Gincko-Biloba
* A small piece of cinnamon
* Three drops of lemon juice
* One spoon of Honey
Add all the ingredients in the boiling water except the lemon drops and the honey, wait 3 minutes an then strain the mix, add the lemon drops and honey and drink while is warm(not so hot)
First of all, it's "happened-before". Not "Happens".
Secondly, you can program Java perfectly fine without understanding a ton of low level CS language concepts like this. Not knowing about happened-before does not mean you do not intuitively expect a write into a variable to be done by the time the next line is executed.
If I were going to think of the key concept to understand that many programmers apparently do not well grasp, it would be understanding why and when to use an array vs. a hashtable...
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Life Clocks Are a Lie! Carousel Is a Lie! THERE IS NO RENEWAL! ...but seriously, I would not make the jump to mobile apps at your age with your background. You can make a good living doing legacy development/maintenance and there's a lot less competition.
At a certain company I once worked for we had to integrate a Java front end into a COBOL/IBM back end. The floor with the COBOL developers looked like extras from the movie 'Cocoon'. They're sure to have some fresh 'openings' by now
If not, there are always alternatives. Fish, and plankton. And sea greens, and protein from the sea. It's all here, ready. Fresh as harvest day. Fish and sea greens, plankton and protein from the sea. And then it stopped coming. And they came instead. So I store them here. I'm ready. And you're ready.
If you are able to work in financial markets or any old school systems, Perl will keep you in piles of money. I get offers everyday from large companies who need Perl programmers.
If you need to work remotely then try any coders for hire web services. you can quickly get paid for a weeks work. and move on or take more jobs. Usually spend a few months per project.
If you have old-school skills from the 70s and 80s there are probably tons of well-paid things to do with them, like embedded device programming, that pay more than your average "modern" language. Small devices are often programmed today in a similar way to big computers in the old days (ie. C and assembler). Loads of VB programs still running out there that need maintainers, which decreasing numbers of people know about or want to start learning. Lots of them in finance which will pay nicely, especially if you know about the older legacy versions and even more so if you know how to port them to newer versions to update them. Perl is still used everywhere too. If you insist on modernising, I suppose it's all about Python now, though we do lots of very Perl-like things using python regexes, and most of what you know about Perl will carry over there if you spend an afternoon looking at the syntax.
Start by reading the other posts like this and then read the good and bad ideas on this post. Best way to reenergize imho is to just do what you find to be fun and rewarding.
Is that what you are asking?
Because if it is, then just go with whatever your country's major voltage standard is. That way you won't have to buy any adapters.
If you asking "3 phase or not" then ask yourself this: Do you want to program from your home or office, or from a factory floor or other place that has 3 phase readily available.
Of course, there's always the option of DC, but then you'll probably need an adapter, unless you plan on running off of battery or some other DC source.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
I'm 60 and have been a Java developer for 15 years with another 15 years of C/C++ prior to that. I was laid off a few months ago (project went to India) and financially I could almost, but not quite, retire now. I would like to get one more Java job but all off the job requirements coming across my desk are expecting me to be up to speed on a bunch of new technologies. I enjoy programming but at this point I'd gladly trade some income for a less demanding job. I'm not sure how to phrase this to my head hunters. (I suppose I could just be blunt about it, but I'm not so sure how that would go over.)
Right. CPAN actually hosts Perl packages, and has some Q/A functions. PyPi is just a collection of links.
I agree about "easy_install" and "eggs". That has assumptions built into it about where things go, and if everything isn't where it wants it, it fails. "python setup.py install", by comparison, finds out where the installation of Python being used is storing libraries, and usually manages to do the right things.
I've been a programmer for 15 or 20 years and excited by a few new languages recently. Ruby is beautiful to me and just seems to *work*...Python is elegant and functional. Javascript has more lines of code out there than anyone wants to think about. C is an old standby and always will be. But I think the language that's really up and coming is Groovy. It has the perfect storm of familiarity, elegance and utility.
... If you're any good at all, you don't need a class, in fact a class will go far too slow. You need to get your hands dirty. ... You learn more by doing than reading.
AuMatar, I have to respectfully disagree. A course can be very helpful, especially when tackling something that different to what you are used to. Like StonyCreekBare, I am also a long time programmer and, while I had years of C++ and UI programming experience, there are things in the iOS/Objective-C/X-Code world that were unlike anything else I had seen, so taking a course can be helpful in situations like that.
I do certainly agree with the "getting your hands dirty" part, in that you just can't read about a new language, etc.. You have to actually write some code.
But, for StonyCreekBare, wealth and fame in programming is hard to obtain. Fame sill be hard, but wealth is possible if you take the advice of some of the other responders and direct your efforts towards some of the lesser known, yet upcoming technologies. Also, I would look at what new technologies are being used in whichever industry you spent your time in (e.g. if you used to write CRM software, research the new technologies in that area so you get the advantage of your previous experience to help offset your lack of experience in the new language)
I'm 29, and I use Perl everyday as a sysadmin. With sysadmin work slow (I guess I'm too good at my job?), to expand my skills/experience in Perl, I volunteered to work with the developers on some Perl-applicable work (working on it right now). I love Perl, and I don't think I'd have it any other way.
Perl isn't old, it's established, stable, and useful.
It's too bad you didn't mention Cobol. This is an old language that nobody wants to learn and nobody wants to program in. But, plenty of organizations have TONS of legacy code in Cobol that is central to their organization, and Cobol programmers are in demand for maintenance and sometimes reengineering.
Don't try too hard to break into the world of trendy hi-tech companies. There's a lot of agism around. You should try to find a job where people will see you age as a sign of wisdom and not a sign of senility.
I sometimes ask revealing, often ignorant-seeming questions. Maybe they're harder to answer than you think.
Well I'm oldish and I'm a coder. Here's what I'm doing.
I researched the question "How to find out what you want to be when you grow up?". I expected to find an answer, but whoa is me, only more questions.
So I just took that question, which is 'What do you like to do?' and made a big list. Go off somewhere no one will bother you, to do this. Just make a list of what you like or think you'd like to do.
Then pick one and do it. Do it long enough to find out if you like it or not.
For example, some people think, "I'd like to write a novel." - so start writing one. After a few weeks or even longer of diligent effort, again sit down and ask. Did I like that? Good. Continue writing. If not, then pick something else off that list. Repeat Until Liked.
I'm testing my idea to host a web based application for managers who have to create schedules for staff. So I'm writing an app for that and plan to launch it over the web. It's got me pumped about learning. Yes it's been done, but I think I'd like to do this, so I'm trying it out.
If that doesn't work, then next on the list is "Total World Domination", yeah...I think I'd like that....
*click**beep**beep* Scotty, One to Mod up!
Old Willem EPROM programmers had parallel interfaces. At least that's what I heard on forums.nesdev.com.
Why don't you take a look at that recruitment website that now owns slashdot? uh.. did I just spoil the surprise?
There are many hot areas for programming nowadays.
I believe internet and mobile is where the money is. If you go mobile, you should focus on either webapps or native apps.
Webapps are based on html5 and are (more) cross browser than native apps, which must be developed for each different OS (android, ios, blackberry, etc).
If you go the webapp route, you MUST be proficient with javascript, since the trend is that all business logic is moved to the client from the server to create more responsive user interfaces. In this regard, Coffeescript is very hot as well, since it is a improved syntactic layer over javascript.
On the server side, node.js is all the rage now, since it's based on javascript. With node you can use the same language everywhere (client and server) avoiding thus the classic mismatch impedance. Other popular options are Ruby on Rails or Django (for python programmers).
I come from a background of programming fortran, various assembly languages, C, C++, perl, python
and bash scripting, starting in around 1974 in pretty well that order.
I've been working (and playing) a lot lately with java, ruby and javascript, not necessarily in that order.
Java in eclipse is a very nice environment.
Shame that it;s still such a pain to get java programs to run. Also a shame that the java guis are so
buttfsckugly.
Next project is to look into programming for android.
That is what they make nudey bars for. Of course, you have to put up with the shoe salesmen, as well.
Get a ShiVa 3D Basic license ($200) and start multi-platform game programming. It's more fun than visual programming in C++/C# and the scripts that you write in Lua are automatically converted to C++ during export. The amazing part is that you develop once and then can export your game for iOS, Android, BlackBerry Tablet OS, Windows, Max OS X, Flash, Wii -- you name it. On the flip side the learning curve is a bit steep because documentation is rather sparse. However, Stonetrip also provide a few very good samples/demos and tutorials.
Do something else. You've been programming long enough. These days people just try to squeeze blood from a turnip. They hire the young bucks straight out of college they can work in the ground and then when the young buck gets burned out who cares the company got what they wanted. We've been there man. I know you're probably chasing the $$, but just cut back on stuff and live a dainty lifestyle. It's worth it trust me. This programming non-sense is for the birds. Management doesn't know what it takes to turn quality product and everyone just wants it yesterday. So you wind up cutting and pasting everything into a rushed functioning prototype and boom it's in production and hardly tested. Become a guidance counselor...to burned out programmers. That's what I'm going to do. Have a good one man.
DSPs, FPGAs, embedded controllers, robotics, avionics, sensors, medical systems..hell, why not Mars rovers or superconducting super colliders! Small, high performance computers are needed everywhere these days. Not to mention that DSP and real time system stuff can require skills like programming, mathematics, analog and digital circuit design and soldering BGA packages.
I made the move to hardware 8 years ago and never looked back!
I can relate as a fellow old programmer that had to fight to get back into the industry. Age immediately takes you out of consideration in a large majority of positions. After 6 years out of the industry (to work as a musician) I chose PHP because it is free and popular. Played on my own for 6 months before landing a contract, and then another year of searching to find a full time position. I actually got hired in QA, but was able to move back into programming pretty quickly because coworkers were able to see my potential. Experience more than a few years old means nothing today. Employers want to fill an immediate, specific need, whatever it is. Pick a language you can build and demo applications with. If you can show an employer a polished application in a relevant technology you have a good chance of being noticed. Cudos to you for working on iOS/Objective-C. I work in that environment now and highly recommend it as a starting point. Not only is it very marketable, but you also have the option of independent development. Although it's a crap shoot, Apple/iOS is really the only environment where independent developers can really make money. You don't need a company to back you up, the marketing and payment infrastructure and customer base are there for you to use, only costs $99 a year to buy in. Keep at it, build apps for yourself, your kids, put something in the store, and show the best work to potential employers. If you want, focus on apps that use webservices (social services, mapping, data..), as that lets you build lots of value fast, and webservices are a key technology most developers need to be proficient in.
>What does the Slashdot crowd see as the best path to fame, wealth and full employment for gray-haired old coots who love to program?"
Those are orthogonal goals.
Fame: Free software. Wealth is not likely to follow. You can probably make a career out of it though.
Wealth: Startup with exponential growth. $1000 of monthly revenue is $25M/month after four years at a 5% weekly growth rate. In some one else's venture funded company just 0.5% of a 1B market cap is $5M in long term capital gains. 25% left of your own company which is not trying for VC sized returns with a $20M liquidity event is the same.
Full employment with a good salary (mid-career you can break $200K if you're willing to work for large companies): do something hard well which leverages your decades of experience that let you compete against youngsters even though you cost more. My thing is systems software for business critical applications with an emphasis on distributed systems and high availability. I've done cellular base station infrastructure, digital video for the broadcast market, block storage on a clusters of x86 PCs, light weight key-value storage on spinning disks and flash, and am now doing enterprise grade cloud backup. Although I confess to having worked on one C# project and a couple in Java the rest has been evenly split between C and C++. Language and libraries are not the hard part and I've worked in groups where nearly everyone is over 40.
A paycheck now: Join a contracting/consulting shop which takes a third off the top.
While learning new technologies is fun and neat, with anything trendy where the meat is in the mechanics of how you do things not what you're doing you will be competing with young guys who can get the job done well enough and are more enthusiastic, compliant, and willing to work for less money.
StonyCreekBare, I'm your age and made the transition to iOS programming 3 years ago. I was coming from a staff technology strategy position. Hence, my path back to coding was probably harder than yours. First, don't do this alone. I hosted a group of other beginners at my house weekly where we talked code and read the various books together. This made a huge difference. Second, write an app. Put it on the store in under six weeks. Why? It gives you a goal you can achieve. Mobile apps need to do a few things well -- not everything you might imagine it should do. Building a portfolio matters. Do it starting right now. Third, join a local developer group. iOS and Mac OS X people are friendly and helpful. They helped me and will help you. You can make the transition. Come on in the water's fine. Andrew
Titty bars in Washington State do not allow alcohol consumption. Yes, I know, ridiculous. In Oregon, booze is fine at titty palaces. In fact, in Oregon, many titty bars have laundromats and licensed day care facilities.
If you want news from today, you have to come back tomorrow.
...and it being the sexiest language out there, you are saying you couldn't adopt to C, Java, Python?
All your times digging perl doc and modules aren't wasted - it makes you a better spec reader. Now I think all you need is to get your hand dirties - just get write something interesting!
Yes, we find this really hard to understand. Why should any human be financially ruined for the 'crime' of being ill? That said, we're now moving into the epoch where people really do need to take more responsibility for 'lifestyle' problems. I gave up smoking, I still run and I prepare most of my food, grill and steam, no packet meals, I'm 'selfish' enough to want some quality of life as I get older.
On y va, qui mal y pense!
Apple - was - the last line of defences against those toxic "scripted - brain-washed-pseudo-programmers- programming languages"
And now there is an old-geiser-diaper's-changer who wants to corrupt the apple env with those toxins !!!!.
So Apple -WAS- the last line of defences. C/C++ Obj-C/C++ are the ONLY programming env that provides real secure apps , and it must comes with skills! So It is guaranteed that a real competent programmer will have success in C/C++/Objc-C/C++ in IOS, Mac OS X. !!
DOT. ...Yes I am dying!!!!!!!!
I'm 42 today, and feeling old.
I have a history not unlike yours. Programming assembly on a Sinclair in the 80's. Trying to build an 8 bit SMP system from Z80's (before I knew what SMP was). Programming in C on my Amiga... but never got a job doing these. Then I worked for a bit as an engineering "intern" at Mcdonnel Douglas / Boeing while going to college. Decided I didn't want to do that for a living. I got lucky and along came the WWW and suddenly I could get jobs doing web sites and then programming. Coldfusion, PHP, Javascript, HTML, CSS, etc. I just learned Java to do Android apps. I had no problem getting jobs, and now with just a little Android experience I am literally getting flooded with job offers.
I think any kind of mobile dev is a win, whether its Javascript and jQuery mobile, Java or Objective-C (iPhone).
Don't be afraid to try some side projects either. You cant get success without trying. But not everyone gets to be a rockstar, either. I've got my side projects that I hope might hit the jackpot one day, in addition to my "day job".
I've also got backup plans. I have been leaning towards the idea of being a teacher of some sort. Maybe going back to college to get a better degree. Possibly volunteering to help at my daughter's high school where they are starting a new engineering program (EPIC) that looks super awesome (arduinos and micro arial vehicles and robots and oh my..). I realize there's not a ton of money in teaching, though.
Another option is cooking (I made a lovely beef marsalla stroganoff last night).
I find there are two kinds of "nerds" out there. The single minded machines who focus on one thing, and the well balanced people who know such a broad range of things that they can pick up almost any talent quickly and run with it. If you are one of the later, then you have nothing to worry about, as long as you embrace change and risk. If you are the former, well, I don't think programming is going away any time soon. Just go where the action is.
-- Senior Software Engineer, Attorney appearance services, locallawyerapp.com.
Actually, I suggest the debugging move and learn IOS. It never hurts to lean a new language. My experience is that you can make yourself more marketable selling the old skills and then when a new skills task appears you can say - Oh - IOS? Sure I do that.
In the current market there are jobs for classic VB programmers (Access or Excel VBA), COBOL (there, I said it!) as well as low level. Someone above mentioned hardware. I wonder how many traffic controllers are still based on Z80 or 80186? An assember dev can make a living there and learn the new stuff in spare time.
One thing I would suggest is that when you learn the new languages, don't lose your develpment experience. The new languages are shiny and easy to develop with, but don't always provide the best program performance. The older devs know that and quickly figure out which parts of a new language work and which are just fluff. Knowing that will keep you employed as a "fixer" when the whiz kids can't get it done.
why are programmers such pansies? Even if you are experienced programmers or beginners in your 40's, 50's, 60's, you should not have any problems learning new technologies it's not like your doing hard labor work or anything that causes extreme body aches, you are just sitting in front of a monitor typing. Retirement age now is 67 and probably still going up so people still have a long way to go. If you don't exercise your brain by learning new things you will lose it later in life and probably end up with Alzheimer's, keeping creating new neural pathways in your brain by learning. I know doctors in their 60's who still have to keep up with new technology, new medicine, lingo in the medical field. And companies that discriminate against programmers 35-60+ are a bunch of dumb fucking idiots. I was actually more tired when I was in my 20's than now in my 30's.
You are able to purchase this online, so that your repayment as well as shipping is going to be safe sufficient One of the ways these NFL clubs choose to do is selling sports goodies like jerseys, caps, pants, shoes, etc into the market No wonder, customized nfl jerseys cheap the Steelers NFL merchandise were one of the best sellers Some stores also offer cards nfl jerseys cheap in different sizes These NFL connected possessions would freely put on view how a good deal you really authentic nike nfl jerseys carry your teamTo purchase any of these NFL football jerseys, you can head down to your neighborhood sporting goods store This is my nervous about the navy: that will negatively modify the crew's true colors Purchase is made all the more simple with a few emails and a payment with paypal So you're an NFL fan and you love jerseys This translates into a bigger football jerseys cheap and wider audience with more NFL-related products and apparels being marketed annually Secret Group normally SWAT team members, in addition to a few special position, the general is an attack and defense group custom nfl jerseys on the benchMBT shoes, no matter what kind of body, they will improve your rear muscle activity, activities, and the calf muscle Now women NFL jerseys are available Maybe you will chronicle these bargain jerseys with disability and weakness
Today's wholesale nfl football jerseys trent richardson orange elite jersey off-internet' advertising has become so intertwined with the events or programs that in many cases the sponsor literally becomes the star and the cheap nfl nike jerseys aspect of the event cheap mlb jerseys authentic nike nfl jerseys that is customized nfl jerseys cheap remembered, which is exactly what they wantThere is a huge array of cheap football kits available for the discerning buyerIf you don't want to take chance and if you want to know the name of nfl logo tee images one such online store that can offer the best quality original Nike shoes that too in very good prices, then www When you are looking for customized NFL jerseys you need to go to the stadium at the Saturday night, where you will need to find the best manufacturers that could give you Amongst NFL JERSEYS the most perceptible and overtly alluring symbols of modern capitalism, fashion responds to demand for which the growth of the designer clothing industry to unforeseen heights in the recent past offers a fitting testimony" He added "Don't get me wrong, to this day we still get at least
The price is more than one could wish for and new products are being added on a regular basis nfl logo tee images cheap nike nfl jerseys wholesale They even track how popular NFL Players are by the number of jerseys sales they have during the year As most of them have the abundant collections of nfl jerseys, it is easy to find the best nfl jerseys One of the best websites cheap ncaa jerseys perhaps when it comes to looking for cheap stuff is eBay This is still a very nice jersey for the money With the popularity of dog clothes also comes more clothing marshawn lynch jersey options, including options for sports fansFuture-cat A Michel Jordan jersey of Washington Bullets design is a perfect example of replication throwback jerseys custom nfl jerseys cheap Just like adults, infants need to be quality apparel that suits their age If you fail to find the replica, check the official logo of NFL The jerseys are available in innumerable colors ranging from red to blue and white Timberland shoes is well suit for your adventure, when you wear the timberland shoes, you don't need to cheap nike nfl jerseys worry about the long distance travel, and what you do is enjoy the comfortable sense of the shoes and enjoy the beauty of the nature But it is undoubted that almost all importers of handbags are hunting in the wholesale contracts from the relevant Chinese people One of the main reason cheap nike nfl jerseys is as a marketing effort to capture more audience and fans So in theory fans haven't lost anything
in Midtown, NYC will have the Manhattan colorway available as wellCollectible gift sports are one of the ideal things that one can gift their friends or family provided they are sports loverscom This is a very nice jersey cheap custom Nike NFL Jerseys for the price msn:Johnkeynes It is a way to show some support for some of your older favorite pro football players and knowledge about the history of the gamefevernflcom The item involves 34 competitors having a couple management meetings AFC in addition to NFC The price range of Reebok cap is from $17 to $21 If you see this size, you can say for sure cheap custom Nike NFL Jerseys cheap trent richardson orange elite jersey nike nfl jerseys that this jersey is a fake! ! On the NFL jerseys of the same reason Attendance at actual NFL games has risen and more games are shown on TVNight cheap MLB jerseys time falls as Goten, Trunks and Videl fall asleep so they can continue their quest the next day to bring Shenron out Many hot-sell objects usually are available with your web page having reduced price in addition to premium quality You can find any type of clothing on line 0 points and 2 Kobe Dennis Rodman Jersey Bryant is an example of an athlete who was able to rebrand himself after accusations of sexual assault i
Some people have commented you should try getting closer to the metal, meaning computer hardware. But take it to the extreme. Buy a small lathe, learn to use it and the jargon. Have some fun turning it into a CNC machine if you like. Spend time on the metal working forums. Then start talking to some small to midsize manufacturing companies about helping them compete by utilizing your programming skills. You'll get to pick the tools you use. But first you need a little bit of "real world" fabrication experience so you can at least carry on a conversation. Getting your hands literally dirty, lets the people who need you relate to you. Rub shoulders with some blue collar guys, listen to their ideas for making their company more competitive. The opportunity for software guys to be heros and rewarded, is out there, but frankly most of us are on another planet and separated from where we need to be to make it happen.
BTW. Yes, I'm taking my own advice, and having a blast. I can now do in an hour what a decent machinist can do in 15 minutes. :-)