Slashdot Mirror


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?"

75 of 360 comments (clear)

  1. Coldfusion by Anonymous Coward · · Score: 5, Insightful

    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.

    1. Re:Coldfusion by thejuggler · · Score: 4, Interesting

      I do very well ($$$) programming web based application with ColdFusion. Using other technologies like Javascript (JQuery) for the front end. With the launch of CF 10 this year the language is fully scriptable for those that like script and tags for that that feel better working with tags. While it does not force OO style of programming it does allow OO programming. Because the CF server is built on Java and runs in a JVM you have direct access to Java. CF is designed to be a very strong and robust RAD platform. And it is robust. ColdFusion server is free for developers but it is a commercial product and it has a price tag. Companies are willing to pay for a reliable server platform. They do it all the time. Additionally there are a couple open source ColdFusion engines that are free. Like the OP I too started out programming a long time ago. I started in the 80's and did many languages prior to ColdFusion including assembler, CNC, BASIC, FORTRAN, ASP, PHP, C/C++, SQL, Perl etc.

      ColdFusion is a viable language and there is room for more developers.

    2. Re:Coldfusion by lsllll · · Score: 4, Informative

      If only server-side CF licensing wasn't so expensive, it'd be more popular!

      Although many people who use CF pay for licensing to Adobe, Open Blue Dragon is an open-source implementation of the Coldfusion language and has evolved very nicely in the past few years. At a major site I write CF for, they have 11 production servers running CF (4 Enterprise). Besides those they have about 10-12 servers running OpenBD (all Linux), some outside facing, and some of those have been running for a few years without any hickups. So, licensing, IMO, is a moot point.

      There are also a couple of other open-source or free implementations of the language (Railo, Smith, etc), but I've been extremely happy with OpenBD, specially some of the additional functionality it has that Adobe's version doesn't have, such as the Render() function.

      --
      Is that a roll of dimes in your pocket or are you happy to see me?
    3. Re:Coldfusion by Jane+Q.+Public · · Score: 2

      When I first learned of ColdFusion (about 12 years ago, give or take), I thought it was a wonderful product. Imagine: direct, simple database access and data manipulation from a web page! I was enthralled.

      Sadly, while ColdFusion has matured somewhat, it hasn't kept up, and it still costs too much. Other free technologies have surpassed it: Ruby + Rails, Drupal, MySQL, PostgreSQL... the list goes on.

      Over time, I have found that nearly every Adobe (or formerly Macromedia) product I used to use has now been superseded by something that doesn't cost money, and often does the job much better.

      I use Adobe only as a last resort, when somebody sends me graphics in formats that only Adobe products can read properly. And hell, they don't even do that well! The most recent version of Adobe CS doesn't even export .PNG files properly on OS X! They use a long-outdated file format that needs to be post-processed before it is readable by anything else. (Fortunately, I figured out how... otherwise I would have had to tell my Adobe-dependent clients to go stuff it and get modern.)

      It's almost as though -- dare I say it? -- Adobe just didn't give a sh*t about getting it right on the Apple platform. Which may be fine for them, but it also means I am that much more determined to phase out their products and replace them with other things that do get stuff right.

    4. Re:Coldfusion by roman_mir · · Score: 5, Funny

      Cold fusion?

      Well, if I am reading the story headline correctly, you may be onto something:

      Best Approach To Reenergize an Old Programmer?

      I was thinking about suggesting a USB port, it carries 5 volts up to 100mA (standard), but I think your idea is better.

    5. Re:Coldfusion by Anonymous Coward · · Score: 4, Insightful

      This suggestion and his own are entirely wrong for his skillset.

      He should be investigating industrial control systems and PLC development.
      It's a high-salary job that has little competition, especially with experience.

    6. Re:Coldfusion by HaZardman27 · · Score: 2

      MySQL, PostgreSQL

      Erm... CF isn't a dbms, or am I missing something here?

      --
      Apparently wizard is not a legitimate career path, so I chose programmer instead.
  2. I'm 30 and I already want out. by Anonymous Coward · · Score: 5, Insightful

    I wonder what it'll feel like when I'm 50, or 60.

    1. Re:I'm 30 and I already want out. by Garridan · · Score: 5, Insightful

      Then get out. You're still young, you can learn an entirely new trade and expect to succeed. There'll be some pain and difficulty along the way... but it won't be as bad as hating your life for the next 40 years. (yes, 40 -- you don't think the retirement age is going to go down, do you?)

    2. Re:I'm 30 and I already want out. by Sussurros · · Score: 5, Insightful

      By the time you get into your fifties you have more answers, less problems, some entrenched bad habits that are nearly impossible to break, a whole lot of dreams that you know you'll never achieve, someone who looks like your parent looking back at you in the mirror, and the search for sex is no longer an overarching need - but inside you'll still feel young.

      At thirty you probably feel as old as you'll ever feel. You always feel young inside but at thirty the world stops looking new. That soon passes though once you realise that you haven't been paying close enough attention. The world will always be new and that you'll always feel young even if you live to be a hundred.

      --
      I said - don't look Ethel!..., but it was too late..., she'd already looked.
    3. Re:I'm 30 and I already want out. by Anonymous Coward · · Score: 5, Insightful

      I think the expectation is that you'll transition to something up the ladder. What I actually see is people stuck in the same job forever while 25yo grads with mba's cycle in. They cut their teeth as project managers, move up, bring in a new grad. Programmers stay at the bottom, hoping that one day they'll make some awesome project that'll be their escape. Never happens.

    4. Re:I'm 30 and I already want out. by TechyImmigrant · · Score: 4, Insightful

      Switch to hardware. Do chip design. Then you can complete the process of turning your hair grey. But it pays better than software.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    5. Re:I'm 30 and I already want out. by Anonymous Coward · · Score: 2, Insightful

      I just want to say thank you for this response -- I'm 39 and your perspective is both comforting and much appreciated.

    6. Re:I'm 30 and I already want out. by Chrisq · · Score: 2

      And the teenagers hanging out in the mall will always still look hawt.

      AC

      Hey is that you Jimmy Savile?

    7. Re:I'm 30 and I already want out. by osu-neko · · Score: 5, Insightful

      I suspect a lot of programmers don't want to "move up" to project management and beyond. Coding is fun. Management sucks...

      --
      "Convictions are more dangerous enemies of truth than lies."
    8. Re:I'm 30 and I already want out. by BrokenHalo · · Score: 5, Interesting

      Switch to hardware. Do chip design.

      Sounds like a plan. A change of discipline is as good as a rest...

      What I did in 1990 after 20 years in programming (Fortran, assembly, COBOL and C on assorted "big iron" mainframes) was a complete change. Management was not an option, since that's a job for someone who doesn't have the skills for anything more worthwhile. So I went back to school and did a double degree in biochemistry and biotechnology, which for a tired old fart like me was fucking hard work, but it's way out there enough on the geek scale to be interesting, even if the pay isn't always quite as good as in IT.

      If I were doing it all over again, I would possibly choose analytical chemistry or mathematics, but no regrets...

    9. Re:I'm 30 and I already want out. by TapeCutter · · Score: 2

      I wonder what it'll feel like when I'm 50, or 60.

      It's like being 30 and surrounded by 18yo's doing dumb shit you have already tried, somewhere between now and 40 you will, most likely for the first time in your life, want to start winding the clock backwards. You will want your 21yo body back, but not if you have to give up your 40yo mind. Once you get to 50 you have accepted the muscle and bone aches are here to stay, you no longer trust a fart. Around that time grand-kids start popping up all over the place and if your lucky you might find a new level of calm from watching your own kids getting the same grief from their kids as they gave you. ;)

      As for TFQ, I decided to learn python in earnest a couple of years back (around the time I turned 50:), I just decided one day to start using it for automated builds. and there is still good money to be had gluing existing things together. Once you stop grumbling about the indents and the two version streams it's a real pleasure to work with, even better if you can think in lisp, most of it will run happily on windows or nix (especially if you develop on nix).

      The PyGame module is fun to play with if your doing it in on your own time. My dad started teaching himself python with PyGame late last year after a decade or so of fiddling with Delphi. I think he was the last paying Delphi customer on the planet, and at 79 certainly the oldest. :)

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    10. Re:I'm 30 and I already want out. by PRMan · · Score: 3, Insightful

      And we get paid more than them, so I hardly call programming "the bottom". Why get the headache without the pay?

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    11. Re:I'm 30 and I already want out. by haemish · · Score: 2

      I'm an inch away from 60. Happy as can be slinging code (mostly Java). I've had periods in my career where I've been up the management chain, but I never really felt alive. There's something about the magic of getting something really complex to run. Coding pays at least as well as management, especially if you're working somewhere that has Hard Problems (as opposed to just cranking out yet another form). The added bonus as you get older is that you need less sleep.

    12. Re:I'm 30 and I already want out. by rhombic · · Score: 2

      Overall I totally agree, but management (in good companies) isn't a job for those who can't do anything else. I was a bench physical biochemist for 10 years, and I'm still the 2nd best analyst in my 50 person department (and occasionally drop back into the lab to prove it). Since I can also plan projects, handle a multi $MM budget, communicate efficiently with the business types, and recruit and retain good people, I get to run the department. Not to say there aren't giant tools in management everywhere, but technical management requires both tech skills and business skills, and (for me at least) is a hell of a lot of fun.

      One thing people should think of in the biotech/chemistry area is that the pay sucks if you have a BS. The Ph.D.'s run the show, and breaking into the Scientist ranks (where the pay is pretty good) without one is very difficult.

      --
      1984 was supposed to be a warning, not an instruction manual.
    13. Re:I'm 30 and I already want out. by mattack2 · · Score: 2

      Where do programmers make more than managers? Heck, doesn't *your* manager likely make more than you?

  3. If you were comfortable with Smalltalk by stox · · Score: 5, Insightful

    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. "
    1. Re:If you were comfortable with Smalltalk by Jane+Q.+Public · · Score: 4, Informative

      Second. The Ruby market is going strong. Yes, there are more jobs in Java and Python, but those are "established" code bases that need maintenance... there is less new stuff being done.

      If you know Perl and some Smalltalk, you should have little difficulty with Ruby. Also, there is a bonus: check out Rhomobile. iOS and Android and Blackberry development... all in Ruby.

    2. Re:If you were comfortable with Smalltalk by lyuden · · Score: 3, Interesting

      Is Ruby *actually* used for anything outside of math/academia?

      Is there something on a scale of SciPy for Ruby ? I am not even begin talking about something like BLAS or LAPACK. I see some python jobs for academia, ruby jobs almost all belong to rails jobs in "new social media startup" space. Yes there is some mysterious oriental island in the Pacific where ruby may be used in academia. Somewhere else? I don't think so. But I would like to be proved wrong, however.

    3. Re:If you were comfortable with Smalltalk by gl4ss · · Score: 2

      Is Ruby *actually* used for anything outside of math/academia?

      Ruby on rails is used for a lot. Twitter started with it for example.

      it's used a lot on smaller web projects in smaller firms. however it's debatable if it's a good choice, since it stops being a god choice once the project gets huge, though most projects don't get that huge(twitter has dropped it in favor of java).

      as to the op - he could go with just java - the most frustrating things he will face on the client end html/javascript anyhow.

      --
      world was created 5 seconds before this post as it is.
  4. Pick something you personally find interesting by AuMatar · · Score: 5, Insightful

    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?
    1. Re:Pick something you personally find interesting by wvmarle · · Score: 2

      So true. I'm just a hobby programmer, my weapon of choice being Python, coming from a lineage of Basic and TurboPascal.

      Then I decided I needed to get something done on my Android phone. I needed an app that didn't exist. It had to talk to some web site, so well I just looked up how to do this, downloaded the SDK, downloaded Eclipse, and started working.

      I'm trying to get something done. In this case to get my phone to do something. That it's got to be done in Java - a language I had never touched before - I considered quite irrelevant to the quest. OK then I'll just have to learn Java and the Android platform, how hard can it be? As expected, that was the easy part.

      And now I know pretty much how Java works. And Android. And how to talk to web sites using JSON objects. It was a bit a slow start but classes or online courses? No thanks. Well except for a Java starter tutorial or two, just to figure out the basic structures and how objects and functions are called in that language and more of that stuff.

      The only language (or should I say: type of language) that I don't really get is SQL. That's so different from functional languages, I can make simple queries and get my data in and out of the database but anything advanced, not really.

  5. Old standbys by elysiuan · · Score: 5, Insightful

    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.

    1. Re:Old standbys by drolli · · Score: 4, Insightful

      This.

      The total environment (financially, technically) for mobile apps is not the most steady market. A little rule change on the side of Apple, and only big shops survive.

      Phyton is nice and used sometimes.

      But what will keep your bread buttered is Java/.NET+DB+"one application area of your choice" knowledge. Most big project are started in Java/.NET, most contain DBs.

      And never focus on a language which can be only used for a single platform (Objective C - Apple), They may be the hype today. They may be the hype next year. The iphone now is 6 years old. That is significantly less than the time over whcih Siemens mobiles or Nokia mobile seemed invincible and ubiqueus in Europe. And significantly less than the first phase of success for Apple. in the 80s and 90s. (yes, also Apple can bring you products, which really suck).

    2. Re:Old standbys by YttriumOxide · · Score: 3, Interesting

      And no, Mono is not .NET the same way Wine is not Windows.

      I hear this kind of statement a lot; but I'm still waiting for someone to explain to me a real world programming task they've done in C# where mono couldn't be used.

      C# is my day job (mostly - there's a little C++, Java, and Python from time to time) and I've never run across any problems using mono with production code (primarily Linux server environments (not web stuff either))

      --
      My book about LSD and Self-Discovery
      Also on facebook as: DroppingAcidDaleBewan
  6. Depends on your skillset, but... by pieterh · · Score: 3, Insightful

    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.

  7. the sad truth. by rickb928 · · Score: 4, Insightful

    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.
    1. Re:the sad truth. by timeOday · · Score: 2

      I'm a little surprised iOS is getting some love here. I guess without knowing it I had assumed it's just used for the saturated "app" market where everything sells for $2 or less? Are there any Real Jobs in iOS?

  8. Re:Truth. by Anonymous Coward · · Score: 5, Funny

    Why, you lonely?

  9. Modern Stack by watanabe · · Score: 5, Interesting

    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:

    • Python -- tornado -- mysql / nosql (mongo or redis experience)
    • Ruby -- Rails -- mysql / nosql
    • Haskell/Erlang/Functional Insanity -- I have no idea how these people deal with data
    • Javascript/ Nodejs -- mongo probably
    • IOS Development

    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.

    1. Re:Modern Stack by hackula · · Score: 2

      If you are doing heavy branching, working with huge teams, and working with large code bases Git does very well. It is much faster than many of the old systems, and very easy to use. All that you get whether or not you are using it in a decentralized way. I personally use git for some things and mercurial for others, which is pretty nice as well. I like them both because they have awesome CLI interfaces and awesome automerging support. TFS, VSS, SVN all gave me nothing but headaches with their merging in the past.

  10. Listen up newbie... by fahrbot-bot · · Score: 5, Insightful

    ...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. . . .
    1. Re:Listen up newbie... by hughbar · · Score: 4, Interesting

      Yes, agree, I'm 61 in the UK and make good money from Perl. I'm freelance and I keep up with it [Catalyst, Mojolicious, Class:DBIx etc]. It's a great niche to be in. Besides I really -like- Perl. Yes there's plenty of C# and Java but they usually ask for experience, thus you're in the trap of 'no experience without job' and 'no job without experience'.

      Incidentally at 61 I don't think anyone would want me for a permanent job, but I prefer freelance and [frankly] permanent job security is pretty bad anyway.

      Good luck and may the force be with you!

      --
      On y va, qui mal y pense!
    2. Re:Listen up newbie... by sarabob · · Score: 2

      Of course :-)

      more webapp-focussed - http://blog.moonfruit.com/post/2012/08/08/Perl-Application-Developer

      or more systems focussed (scaling, soa etc ) - http://blog.moonfruit.com/post/2012/08/08/Perl-Platform-Developer

      Bizarrely no-one put contact details on those blog posts, but email jobs@moonfruit.com if you are interested. 61 would not be our oldest programmer :-)

  11. To Re-energize an old programmer by Anonymous Coward · · Score: 5, Interesting

    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!

  12. C/C++ by VirexEye · · Score: 4, Insightful

    C/C++ is very relevant today, and will be just as relevant tomorrow.

    1. Re:C/C++ by Viol8 · · Score: 3, Interesting

      ""C/C++" is frowned upon."

      Not where I come from it isn't. If someone puts it on their CV we test them on their C knowledge, not just C++.

      "And attempting to write in the common syntactical subset of C and C++ makes as much sense as doing it for C and Perl."

      Don't be a total fucking ass. Sometimes you need flexibility about where your code can be compiled and a common subset gives you that. Anyway , its a pretty damn large subset, virtually all of C.

      "But in any event modern C and C++ have diverged drastically"

      If by modern C you mean C99 and beyond ITYF almost no one uses it outside of academia and a few specialist areas. Almost invariable C90 or ANSI C is the global standard which plays nicely with C++.

      "When a resume crosses my desk with "C/C++" on it, I know exactly where to put it---in the dumpster."

      Then you're a moron who'll miss out on hiring a lot of good staff. However I must admit that if I ever came across your CV then it would probably head for the dumpster pretty quick.

    2. Re:C/C++ by phantomfive · · Score: 4, Funny

      I know highly seasoned C and C++ coders,

      OK, stop right there, I am a seasoned C and C++ coder. And if you're not, I don't care what you think.

      When a resume crosses my desk with "C/C++" on it, I know exactly where to put it---in the dumpster.

      Thanks for the tip, I'll put it on my resume. I'd hate to accidentally work with you.

      --
      "First they came for the slanderers and i said nothing."
  13. You have mixed goals by Weaselmancer · · Score: 4, Interesting

    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.
    1. Re:You have mixed goals by Netdoctor · · Score: 5, Insightful

      I'd second that.

      If you're hungry and worried about the rent, then make that your priority instead of worrying about being happy.

      It's called Maslow's Hierarchy, and I've seen techie people make that same mistake time after time.

      Take care of the tummy first. Don't lose your house. In your spare time, look for the happiness, either by training and/or job searching.

  14. ARM assembly by Miamicanes · · Score: 4, Interesting

    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. :-)

    1. Re:ARM assembly by WillAdams · · Score: 2

      Every time I see the wait cursor (or find myself waiting) on my 2.8 GHz Intel Core Duo iMac, I think back to how amazing the performance of my 25MHz NeXT Cube was (when compared to a Mac Quadra 900 and ThinkPad 755c w/ similar amounts of memory and the same bus speed), esp. when I was running WriteNow on the NeXT Cube.

      For those who don't recall it, early versions of WriteNow were written in M68K assembly ~100,000 lines of it.

      Could we please get away from the X Window attitude and write elegant, efficient code? I'd like for my machine to work as fast as I can and not have to spend so much time waiting for it.

      --
      Sphinx of black quartz, judge my vow.
    2. Re:ARM assembly by TapeCutter · · Score: 2

      Agree, drivers written in assembly is so 1980's. If there is any assembly at all it's normally just interrupts and buffers. Memory managers, interpreters, compilers, linkers, drivers, socket level comms, filesystems, there is no "black art" to these things in C. C is the undisputed king of systems programming for the obvious reason that virtually all system are written in C and have a native C API. To a seasoned C programmer a driver is just set of standardized C wrappers around a bunch of esoteric C system calls.

      Further, to a seasoned C programmer, C++ will always be seen as syntactic sugar on top of the data structures and encapsulation techniques found in the holy K&R examples. In fact I recall the first C++ compiler I used was from Watcom in the late 80's/early 90's, their entire C++ extension to the compiler was implemented with C style macros!!! In other words, conceptually it was the MFC of early C++ compilers, however they went one further than the infamous stdafx.h, they went all the way to cpp.h

      These days I read more C than I write. Most of my for money programming is tying other people stuff together with python (like C it's easily portable if you avoid having a gui, but if you must have a gui it has a standard API to hook your script to C libraries)

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  15. Why not use what you already know? by afgam28 · · Score: 5, Insightful

    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.

  16. Pff by Greyfox · · Score: 2
    Take a course on object oriented design and design patterns. If you have that much structural design, you can probably do structural design in your sleep. So bring it to the next level and get comfortable with OO design. This will make you a much more effective programmer with whatever OO language you decide to play with. There is still a lot of structural design and programming inside objects, so you'll still have a leg up on these young whippersnappers.

    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?

  17. Are there really Python jobs? by Animats · · Score: 2

    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.

    1. Re:Are there really Python jobs? by AlXtreme · · Score: 2

      Funny you mention this.

      A few weeks ago at our local PUN meeting (60-70 attendees) there were a number of people standing up between presentations, telling something about themselves and asking if anyone looking for a job to contact them.

      Then our meeting leader caught on and asked the audience who else was looking for Python programmers. About 50% raised their hands.

      Then he asked who in the audience was looking for a Python job. Nobody raised their hand.

      After an awkward silence laughter erupted.

      Go into Python and you'll have a job tomorrow.

      --
      This sig is intentionally left blank
  18. the good news... by Anonymous Coward · · Score: 3, Interesting

    (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:

    • Current hot topics: "Big Data", Map/Reduce, "Scalability", "Cloud", mobility, Web 2.0 (aka, the services-web [and to a lesser extent, "the internet of things"]) AmI, AOSE (agents, not aspects)... If you look at (least at the abstracts of) current research (e.g. through scholar.google.com), you can get a better understanding of the technical meaning of those terms as opposed to the more marketing-departmental meaning, one can usually find on blogs.
    • Check out the "Gartner Hype Cycle for (emerging) IT" featuring a pretty thorough list of upcoming topics.
    • Current practical hot topics include: node.js & REST API development + Message Queue + I/O [DBs, file/service access, etc.].
    • Since, iOS/Android/tablets ~> apps with a HTML5 based view are (more than) enough for many cases.
    • node fits nicely for this, because of JavaScript's (almost complete) isomorphism and lack of (native) I/O calls. It looks like this stack is replacing RoR!

    In any case, the (formerly future, now) present is still the web. Whereas the future is difficult to predict.

    Good luck!

  19. Believe by hcs_$reboot · · Score: 3, Insightful

    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...
  20. Python =~ Perl by divec · · Score: 2

    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"'

  21. But those are rough to enter when new to language by SuperKendall · · Score: 3, Insightful

    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
  22. You just need a good iPad book by gig · · Score: 2

    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.

  23. It's not your ability to program. by TechyImmigrant · · Score: 5, Insightful

    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.
  24. All I'm seeing here is a laundry list of languages by Kaz+Kylheku · · Score: 3, Insightful

    What have you actually made?

    That is the question.

    Software experience isn't a collection of language names matched with years.

  25. Another Geezer for IOS & Android/Java mobile d by RemiT · · Score: 4, Insightful

    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.

  26. Re:Flesh for Fantasy... by ozmanjusri · · Score: 5, Funny

    )

    Sigh...

    --
    "I've got more toys than Teruhisa Kitahara."
  27. Re:Re-energize and stimulate? It's easy! by Jesus_666 · · Score: 5, Funny

    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)
  28. Why? by Psychotria · · Score: 4, Interesting
    Why is everyone (or nearly everyone) assuming that the person in question is already a paid programmer? Most of the answers are along the lines of "you're a paid programmer, learning a new syntax is easy". But, that's not how I read the summary. This statement jumps out at me:

    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?

  29. Test Driven Development by grouchomarxist · · Score: 2

    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.

  30. Go Embedded by excelblue · · Score: 2

    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?

  31. So your a sad old fart and want to be attractive by SmallFurryCreature · · Score: 4, Funny

    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.

  32. There's much more to do than programming by Anonymous Coward · · Score: 5, Insightful

    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

  33. All You Developers May Hate Me for This... by lourd_baltimore · · Score: 3, Insightful
    Have you thought of Software Quality Assurance?

    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).

  34. Re:So your a sad old fart and want to be attractiv by Anonymous Coward · · Score: 2, Insightful

    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.

  35. Bull by Anonymous Coward · · Score: 5, Insightful

    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).

  36. Javascript Baby! by darkgumby · · Score: 2

    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.

  37. Re:But those are rough to enter when new to langua by hackula · · Score: 3, Interesting

    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.

  38. Consider moving? by gr8_phk · · Score: 4, Interesting

    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.

  39. Re:Truth. by menno_h · · Score: 4, Insightful

    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
  40. I use Perl everyday, too (Re:Listen up newbie...) by Laebshade · · Score: 2

    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.