How Can an Old-School Coder Regain His Chops? 565
DonLab writes "I was a proficient software engineer in the 1980s, writing hundreds of thousands of lines of ALGOL, FORTRAN, COBOL, and Pascal programs, as well as working in 370 and 8080 assembly language & pre-relational DBMS systems. My hands-on programming career ended when I became a freelance analyst and designer, ultimately retiring young in the early '90s. Now I'd like to reenter the field, but I'm finding that I know nothing about today's post-C languages, programming tools, and computing environments. I wouldn't know where to start learning C++, PHP, Java, HTML5, or PERL, much less how to choose one over the other for a particular application. Can I be the only pre-GUI software designer or hobbyist searching for a way to update his skills for Windows, iOS, or Android?"
Work backward (Score:5, Insightful)
Mailing lists (Score:5, Insightful)
Here's a few tips that I try and use when learning new languages:
1) This one may seem obvious, but just start using it. Write "Hello World!" programs, and then an address program, stupid stuff until you get used to syntax. Eventually you'll start to pick up on the strengths of the particular language and come up with ideas on how to write stuff to further enhance your knowledge and proficiency.
2) What worked for me usually was to subscribe to a mailing list. Not necessarily even the 'official' *-users mailing list, but just one that talks about problems. By reading through other people's common problems, not-so-common problems, and more importantly, the community's solutions will help get a perspective of the language and how other people are using it.
3) Start looking at well written code in that language. Go on GitHub, Bitbucket, sourceforge, or whatever, and start looking through the code.
Old person syndrome (Score:5, Insightful)
First, start by giving up on that "I don't know where to start" attitude. Just dive in. That's how you learned code "back in the day" and very little has changed. You just need to start absorbing information and trusting that after awhile, it'll turn into useful knowledge.
Stay Retired. (Score:5, Insightful)
I really hope you have other options, it's ugly out there these days.
Don't (Score:5, Insightful)
Language is language (Score:3, Insightful)
If already know those programming languages, you should be able to pick-up the newer ones easily. Maybe look at some Open Source code to familiarize yourself with the new words and structure, but that's all your really need.
The biggest challenge will not be learning these new languages, but convincing the HR dopes (i.e. liberal arts majors), that just because you've never programmed in C++ or C#, doesn't mean you don't know to do it. That's been the biggest challenge for me: "But we need someone who knows System Verilog, and you only know Verilog. You're not qualified."
Idiots.
Also you may find yourself working against ageism, even if you did have the required skillset. Slashdot just recently ran an article about how hiring managers in tech firms assume anyone over 40 is not suitable for working on new technologies. They want young blood, preferably those with no family, no life, willing to work lots of hours and/or fresh out of school.
learn python (Score:3, Insightful)
http://python.org/ [python.org]
Re:Don't (Score:5, Insightful)
Re:Stay Retired. (Score:5, Insightful)
>>>clueless asshole boss
My goal is to earn a BS in Business and become one of them. Or one of the HR people. That's where the real power lies. And money.
Re:Don't (Score:5, Insightful)
This. Very much this. There are any number of bank and government softwares that still use these languages and are losing people able to deal with them to retirement. They may not be overjoyed that you are coming out of retirement to do it, but they may not have much choice.
Hundreds of thousands? Are you SURE? (Score:1, Insightful)
You're a coder who's written hundreds of thousands of lines of code, but you don't know how to start learning a new programming language?
I suspect there's someone out there, tasked with supporting some of these "hundreds of thousands of lines," who is cursing your name and your sorry-ass programming skills, right now.
I'm 41, an "old" programmer, and consider this question so stupid it's embarrassing.
Don't (Score:5, Insightful)
Stick with what you know. You're trying to enter an overpopulated market with no experience in the new languages.
"Hi I'm here for the French teaching job. "
"Experience?"
"I'm fluent in latin, amazing at it in fact"
"You're here for the wrong job"
Re:Don't (Score:3, Insightful)
Java and C# (Score:1, Insightful)
Java and C# is where you'll find the old style coding you've been brought up. Those languages give themselves some new-fangled and modern look, but in reality the mess they create is just as bad as 150k lines of Cobol. If you were able to debug accounting applications 20 years ago, you still can do it today - they're just as bad, nothing really was learned.
I second that (Score:5, Insightful)
Pick a language and dive right in. If you are proficient in as many languages as you state, then learning "modern" languages will be no problem. Especially if you are familiar with Pascal, which structurally is very similar to the languages you want to learn.
C++, PHP, Java, C# and Javascript are all related structured programming languages, and primarily differ in minor syntax, class definition, data types and strictness.
For example, the C code:
if (++i > 10) {
j+=5;
i=0;
}
will execute as-is in all 5 of the languages I mentioned (PHP would have $ signs in front of variable names). So if you are familiar with C, or even Pascal, then you already understand a good portion of modern languages.
"HTML5" - HTML, CSS and Javascript (and throw in PHP for server-side), would represent the largest departure from what you have done in the past, due to the tremendous amount of segregation between what runs on the server versus what happens in the browser. To some extent the entire thing will seem like a big hack, and to a large extent that's what it is.
Still, my point is that if you were able to become proficient over such a wide variety of languages in the past, then you will not have any problem today, especially since many of the modern languages are quite similar.
Re:Stay Retired. (Score:2, Insightful)
Consider an Alternative Career Path... (Score:2, Insightful)
There are build managers, release managers, configuration managers, QA managers, etc. All who need high technical skills, but no need to do heavy duty programming skills. What they need is a technological eye and the ability to solve problems on the fly.
These positions get paid as much as developers, and are quite technical. And, they tend to be the place where older individuals can really make their mark. You can't out code 20 to 30 year old developers. They grew up in college with this stuff and know it forwards and backwards. However, most of them are pretty lost when it comes to the overall design of a software development life cycle.
As for programming, my recommendation is to forget about compiled languages.
Learn Linux and BASH shell scripting. Should take you a couple of weeks to get the hang of it. Then, try Python, and after that JavaScript/AJAX. These are the languages that glue everything together and can be used in either Windows or non-Windows environments.
Your main concern is getting a hang of object oriented programming. That was the most difficult thing for me to get my mind around.
Comment removed (Score:2, Insightful)
Re:don't bother (Score:3, Insightful)
Java isn't that tough. If he were to find a local college willing to let him audit or, if necessary, pay for just a Java class then it would probably be a worthwhile investment. If he has experience with procedural languages and programming then a good Java course would let him catch up with OOP design.
I think Java still makes a good poster child for OOP design and is more portable and accessible than C# or any other .NET language.
Get hired for what you know, then widen your scope (Score:5, Insightful)
Get hired for the skills you currently have, in a company that's small enough that it doesn't have a huge number of software engineers, and one that's a good company to work for and therefore doesn't have too much turnover.
Do good work and collaborate well with your colleagues. Be constantly on the lookout for any vaguely software-related task that turns up that's sort of a nuisance for them, that nobody has specific expertise in, but is too small to justify a full-time hire.. Don't worry if it's a marketable skill as long as it's a _new_ skill. Companies prefer the devil they know to the devil they don't know, and once they have confidence that you can do the tasks you say you can do, when you say "let me take care of it for you," they'll let you take care of it for them. If you keep acquiring new skills, sooner or later some of those new skills will be marketable skills.
When you're trying to get a job, it's very hard to get away with saying "Well, I don't know C++ but I'm sure I can pick it up because I know Smalltalk, which is another object-oriented language." When you're inside the company and they trust you, it is much easier to get assignments for which you can make the case that you may not be a perfect fit, but you're close enough.
Re:C-sharp (Score:3, Insightful)
A commercial software developer would have to be nuts to put their company entirely into Microsoft's basket by committing to C#. C, C++, or Java would be better choices for a Windows application because it remains portable, it's easier to go from version to version of Windows, and it's harder for Microsoft to just squish you if they want to.
I speak from experience on the Microsoft squishing you part.
Pick a project (Score:5, Insightful)
The problem with books is that most people learn by doing, and toy problems don't teach you what a real application is like.
I'd suggest picking an open-source project and doing something with it. Depending upon the type of programming you want to do, add something to Linux, OpenOffice, or any of the number of Java-based things. (I'm currently working with the Sakai course management system. There are plenty of things that need doing there.)
The languages aren't any worse than what you're used to. The problem is that real programming these days tends to involve lots of complex libraries and frameworks. Those are hard to learn in the abstract, which is the reason for my advice.
Whether it make sense for someone to (re)enter programming as a job I can't say. That's a decision for you. There are a lot of problems with the profession. But there's also lots of important things that need to be done, and a lot of the people who think they're programmers aren't up to it. Programming approaches are changing often enough that skills go out of date in a few years. That's both good news and bad news for people like you. Since people have to learn new techniques all the time anyway, it's not like you have to relive the whole last 30 years.
The language depends upon what you want to do. Systems software and desktop applications typically use C-based stuff (C++ is probably the best place to start, although Objective C and other things have advantages.) Web applications use Java or .NET. I'd probably start with Java. You can find real and interesting applications in just about any language, so you can argue for Python, Ruby, and all sorts of other stuff. But C++ and Java are probably the place to start. I keep hoping that there will be some major new programming technology to use multiple processors / cores well. But there are lots of nice demos, but so far I haven't seen an approach that looks like it's going to really take off. That's really pretty discouraging. I wish things were more different from when you were programming. C++ and Java are only slight improvements on what you're used to. It's really the libraries and frameworks that are new.
If you're thinking of web-based work, I strongly suggest learning Javascript and at least one major Javascript programming environment (e.g. jquery or one of its competitors). UIs are increasingly moving into Javascript.
Re:don't bother (Score:3, Insightful)
Java gets a lot of criticism for its sandbox attitude, but that lets it enter the realm of idealism more than other languages. In my opinion, that's exactly what's needed for a programmer new to OOP. As I said above as an AC (damned checkbox), learn how to use and think with objects first, then apply the old knowledge of algorithms to get the most out of your abilities.
Re:C-sharp (Score:5, Insightful)
If he needs to look into modern COBOL, he should just give up now.
Almost nothing has changed between 1980 and 2010. Modern PCs and phones look a lot like mainframes from the 1980s. Sure, speeds are higher, programmers are more expensive, and communication is much cheaper. But, algorithms and design are virtually unaffected. A good 1980s hacker can be up to speed in a month, tops.
Pick up python, ruby, or whatever, and write code. GUIs aren't magic - they are just bits visible to the user: read and play and you realize they are trivial.
Re:Java and C# (Score:5, Insightful)
I don't mean to insult the author of this comment, but I think he is very wrong.
If by "old style coding", he means procedural programming, with a column of hundreds of lines of code then that isn't Java. Java is Object Orientated language. Every hear of encapsulation with that? Everything is separated into modules.
I have seen old school programmers put hundreds of lines, procedural style, into a JSP or one monolithic function, but that just means they are ignorant of OO and using the language wrong.
Sheeesh.
Re:Stay Retired. (Score:3, Insightful)
I never found problems in finding developer jobs. The problem is so many good developers are just bad employees. Who think their IT skills are the only factor in employment. Durring the dot com boom in the 90's companies tolerated many of our quarks and sometimes celebrated then as skill of the "new economy". However after the pop the survivors were people who can handle the business and technical side of things. The ones who treat sales and marketing as key and an intelligent component to the business. And use their insight as inspiration to male a netter product. Verses just taking there ideas as a mindless rant. We as software developers are not actually any smarter on the average as anyone else in the organization with a Bacharach degree. We just have different skill sets
Concepts (Score:0, Insightful)
crank start (Score:5, Insightful)
There's something a little odd about this question. Mentions the volume of code output from his past life, but not the application domain. Seems to have weak Google skills. Not sure how he managed to post this query to an electronic discussion board. Did he dictate to his grand-nephew?
Having expertise in an application domain would be a good place to start. Then figure out what languages have remained relevant. But I get the feeling his former application domain is in the same state of decline as his programming skills.
With that list of former languages, the guy *ought* to have a fairly strong skillset for maintaining write-only Perl scripts (write-only code was a major industry back in the day), and I figure there's some demand for that. It would be a good transition language: old school mindset, old school syntax (uglier than most), but with a post-Algol dynamic execution environment.
If he can get over the hurdle of the moderately complex program that use to run in 50k now requiring 50M, he'll do OK. If not, he should try his hand at embedded. I've never written a line of code for an AVR that I couldn't have written (conceptually) with a C compiler from 1983. Those early microcomputer C compilers were riddled with trivial bugs. I recall a fairly simple C static variable initialization (more than one nesting level) the compile mis-generated. That wasn't uncommon. It's been a long time since I've had to report a major code generation error in a C compiler. It's the same skill, minus much of the grief.
The other thing that changed is that I no longer schedule lunch around a global recompile. Certain of the old-school time management skills have gone by the wayside. These days, it's your computer that goes to lunch. Between keystrokes.
Hey there old guy, while you were cranking out 100,000 lines of code, did you acquire any documentation skills? Those older code bases he's equipped to maintain often go along with old school formal management processes.
The biggest change from then to now is that you simply don't know what you're doing in most modern development environments, not the way one used to. Competence is a bubble of lantern light you carry on your person as you trudge into dark places, with one screen tethered to the internet. It's humanly impossible to learn PHP without constant recourse to a memory aid, if your memory is filtered on sanity. New kids won't even know what "filtered on sanity" means. It's been way out of style since Microsoft introduced us to the glories of central planning. In the 1980s, I knew *every function* of my favorite program editor. Often I knew every command line switch on the compiler I was using. And every function in the API I was programming against. These days, I don't even know every line in the context menu that comes up on a simple right click in Eclipse.
The other sea change one has to master is letting your tools do more of the work, whether it's unit testing, make scripts, or an IDE.
A fairly debilitating liability at the outset is not having a good sense of what is supposed to be painful, and what isn't. The rules on how productivity is gated have changed substantially. Long ago it was possible to put in a super productive week banging out a top notch utility library suited to the compiler and application domain. You'd be hung in the modern workplace for losing a week on an HIH detour.
If he's a bit more adventuresome, despite not mentioning Forth on his list of skills, he could do a lot worse than buying himself a Lego Mindstorms NXT and a copy of WoW and investing some quality time into Lua. The C side of Lua is anchored in the old-school skills he seems to have in abundance. He won't have a job at the end of play time, but he'd manage to bridge about half his generation gap in the process, and he mig
Re:C-sharp (Score:5, Insightful)
Re:stupid idea but.. (Score:2, Insightful)
While you are trying to figure out how to wipe your but, I will give you a heads up on why your post is sort of irrelevant.
You see, he isn't looking for an intro to programing, he already knows how to program. He is looking for ways to use his knowledge of the past to make learning a new language easier today. Now 10 years ago, there might have been all sorts of resources on how to transfer your knowledge of assembly or cobal into something more relevant today. In fact, 10 years ago with the Y2K BS, there was probably a sleuth of resources on transferring your present day knowledge to yesterday's coding languages.
However, this point of reference has diminished to the point that he needs to ask present day coders, perhaps people who went through the transition years ago, what they found, what worked, and what was a waste of time. This will let him compile a book list and seek out the probably out of print books and other resources (even if using the way back machine which doesn't have a search like Google) that you recommend without mentioning the name or title of.
This isn't a typicle example of how do I do something everyone else is doing, it's an example of how do I do something that hasn't needed to be done in 15-20 years. And yes, if you look at something that hasn't been done for 20 years, you will find that the resources available simple arne't- at least not like they were 20 years ago or are for today's challenges.
Re:I second that (Score:4, Insightful)
From what the poster says of his background, I think the biggest, most difficult challenge he has to face is learning about object-oriented programming languages and methodologies. I know when I was trying to get past Fortran, Algol, and such that was my biggest hurdle, and teaching myself was a real challenge. But once understood, the programming world becomes a brighter place. Good luck!
Re:Never touched C# (Score:4, Insightful)
As I mentioned earlier, C# is just a knock off of Java.
It's extremely similar if you're familiar with both, 98% of a port can be done with search and replace... s/using/import/g, etc.
Somebody else who needs to update their knowledge, evidently.
Re:C-sharp (Score:1, Insightful)
Actually, learning the newer languages isn't the real challenge. Anyone who spent all their time coding in procedural languages and doing non-GUI stuff probably never got into Object-Oriented Programming.
OOP only began to join the standard toolkit about the mid-80's. To become proficient in Java or C#, OOP skills are key. Especially Java, where the idea of a class-free component isn't even part of the language definition.
Design Patterns also only became a formal discipline after that time.
Every language has a mindset, and the mindset of the OOP languages is quite different from that of the procedural languages, just like Functional Programming has its own unique ways to warp your brain.
As far as what languages are important to know, that tends to be shaped by the target platform desired. C is still popular for OS-level work, Java is pretty much essential for industrial-grade webapps and certain other niches such as Android. If you're a Microsoft fan, .Net languages are critical. For Linux, Python, Perl and shell scripting. Quick-and-dirty webapps? Use PHP, RoR, Django or something similar. In short, pick a target first. What type of app, what type of OS? The language options become more manageable once you have a specific goal. When in doubt, check the local want ads to see what's in demand.
And this bile was marked insightful? (Score:5, Insightful)
Really, did the crash hit you that hard or are you bored? I don't know if you understand the employment situation for programmers these days.
Depends on the programmer. Seriously. Not to make up shit, but I'm getting an average of 2 calls every week from headhunters I know for well-paid positions, calling me if I'm interested or if I know people that might fit the bill. I'm happily employed, and the only people I'd trust enough to recommend are employed. People I know that I wouldn't even trust to code a "hello world", those are the ones that are continuously having a hard time getting a job. Maybe for other people, who are truly qualified, they have a harder reality, but from where I'm sitting, if you have the chops, you get the job.
And I'm not even in a place that is known for its plethora of IT/software jobs. And yet, 1) I know people who are continuously getting the gigs, and 2) I know that a lot of positions are being unfilled.
And it's not as if companies aren't willing to pay. It's just that there isn't enough qualified software engineers. There is a shitload of cookie cutter programmers out there, you know, the type who never gets the basics, like why he needs to close a database connection or avoid Java string concatenation. For them, obviously, there aren't enough jobs. But there are jobs out there, companies are willing to pay good for filling them... and they have a hard time filling them in with qualified people.
That there is a problem with the economy is one thing. That there aren't enough jobs for the cookie-cutter programming masses, that's another. You have the skills and you have been intelligent enough to cultivate your professional network, you get the job. Period.
You're going to be old in an industry noted for it's ageism
Cliche. I work with developers who have been working with software for 25 years if not more, people well into their late 50's. I'm not making that up.
behind the curve technologically,
This you might have a point, and the person in question might have to start in an entry level position, but that's his call. But consider this.
Most people that are working with software NOW are already behind the curve. You see people out there that have been doing, say, Java for 10 years and still don't understand why fine-granularity web services are a bad idea. Since the dot-com (and thanks to it) our software industry is inundated with people who can't program for shit, and who expect to get paid $70K out of school just because they know how to code a JSP/ASP page.
I'd rather have a veteran programmer starting up with Java and C# in a junior position over the junior developers we have know. And I know for a fact of employers who think that way as well.
and depending on where you do find a job, you're likely to be paid terribly for long hours and work under a clueless asshole boss.
Isn't that how it for most us anyways? This is how it was 30 years ago, it is what it is now, and that's how it is going to be? The people who work 9-5 are those who work on an assembly line connecting piece A with piece B non-stop. You want to work with software, with finance, with medicine, with law, expect to work long hours.
As for having an asshole boss, you'll get one now matter where you work or what you do. It's life. It's a 50/50.
I mean, fucking seriously, are we really to believe that it likely to get an asshole boss, with likely meaning the majority of times? Are we really that cliche and gullible? One thing I know is that the more people focus (and believe) that this is the case, the more that it is simply a matter of projection, of projecting their own assholery.
Yes, sometimes we get an asshole boss. But other times it is not. It's called LIFE!!! And when you repeatedly hear someone always complaining about asshole bosses, they are actually saying "I'm an arrogant, pr
Robotics maybe? (Score:3, Insightful)
Timothy, Hopefully you read Slashdot from the bottom up like I do. A lot better signal to noise ratio that way!
Consider getting hands on with hardware and robotics and do the programming as well. The robotics field is only going to continue grow. Simple single-purpose robots are common. Think in terms of 3-D printers, Automated labs in a box, Beer brewing machines, CAM robots, etc. All of these are can be controlled by microcontrollers. A microcontroller (mcu) is a true computer on a chip. Even the memory is contained on the single chip CPU. What would be neat about going into this industry is the programming will start out pretty simply--pretty much where you left off in the 80's. This is because the mcu's are still pretty simple (cheap too--you can buy 5 Arduino mcu kits for $50). You can start by building simple robots and go to more complex ones and relearn/transition into the trade as you go. Also as far as programming languages go, you can use BASIC for PIC, C for Arduino and Java is available for some mcu's as well.
BTM
I'm a non-gui programmer in this day and age (Score:3, Insightful)
I write system software mainly, basically unixy bits for network appliances, enterprise servers and consumer electronics. I tend to read assembly a few times a month. and my idea of graphical programming is how to access the memory mapped registers to program the graphics controller. I also use zero C++, because Linux and the other OSes I work on are very C heavy. For an old school developer I think C is probably going to feel very familiar to things like Pascal and the various system programming languages of the 70s and 80s.
Picking up Objective-C and writing some iOS apps is pretty straight forward really, and not that hard to pick up. You have to have some talent and artistic flare to be good at it, but it's not that hard to throw up some widgets or draw some OpenGL ES graphics.
Re:C-sharp (Score:5, Insightful)
Why is the natural opposite to windows development necessarily linux development. In my job we target AIX, Solaris, HP-UX, Linux and Windows. Solaris is our biggest market at present, IIRC.
Granted, this is not desktop software.
Re:C-sharp (Score:5, Insightful)
A commercial software developer developing for MS Windows has already put their company into Microsoft's basket.
It depends on the development platform. If it's something that abstracts away the OS reasonably well (e.g. C++ with Qt or wxWidgets, or Java with Swing or SWT), then it is quite possible to develop for Windows, but maintain an easy migration math to other OS in case it is needed.
Of course, there's also Wine...
Re:C-sharp (Score:4, Insightful)
A commercial software developer developing for MS Windows has already put their company into Microsoft's basket. How many companies are turning a profit on Windows development, compared to Linux development (note: development, not support)?
With java you have independence. You're not tied to Windows or Linux.
Re:C-sharp (Score:3, Insightful)
Pretty much. Where we do have GUI components the codebase on windows and the UNIX platforms is usually pretty separate. Otherwise it's all C.
So cross platform code, not cross platform binaries.
leverage your old school skils (Score:3, Insightful)
Leverage your old school skills, and learn mainframe assembler, too.
Many of the people who knew how to do this are retiring, but the systems and software they built is still running, and requires maintenance. There is going to be a huge skill gap when the rest retire.
Re:C-sharp (Score:2, Insightful)
Yes because it's just commercial insanity to back the fastest rising programming language produced by the market leader who has by far the biggest market share... Seems to have worked out OK for the vast majority of companies that have done it though. I'll stick with C# thank you (despite being trained in C++ and Java) - because that's where all the jobs are at the moment, which is kind of relevant when considering a career.
Except that Linux is being requested more and more, with no sign of stopping.
Except that Microsoft's grip on the PC Desktop market is slowly but surely slipping away.
Except that, outside the PC Desktop and XBox, Microsoft has at most 20-25% of the market.
Except that C# is a ticking time bomb that will either go free or collapse with Microsoft's empire.
Learn it if you wish. I know I'd rather put my money on something that is easy to port.
Re:C-sharp (Score:3, Insightful)
I would not do any of those. Desktop programming sucks. Embedded systems programming allows you to work with cool stuff, interface level, and you dont have to throw your designs in the trash because some moron in marketing wants you to rip out all your privacy crap so they can make more money on ad's.
Plus embedded programmers get a whole lot more money than a desktop app jockey. And the glorified IT guy that can code in VB for the company get's even less.
Embedded programming is where the fun and excitement is at.
Re:C-sharp (Score:3, Insightful)
Seeing how ARM processors support Jazelle, I'm convinced people have taken Java serious enough to even bother with improving its virtual machine performance. So Java doesn't even just give you freedom but also a well developed ecosystem.
Re:Language is language (Score:1, Insightful)
Programmer Liberal Arts Major, here.
For the sake of a bit of perspective, I suggest you undertake a few years work to get on top of several (4+) natural languages for methodological and substantive use, study up on the literature, philosophy, historiography, religion, material culture, etc, etc of a given people/place over, say, 500-1000 years, and then attempt to make some innovative or, at least non-obvious, contribution to the field. All without being a simple-minded, condescending ass, if possible.
To their credit -- and little can be said here -- most liberal arts people I was around as an undergraduate and graduate student did not go on about how the people in engineering, natural sciences, and math were a bunch of dismissive, reductionist tools. Believe it or not, most of my liberal arts classmates were studying their chosen subjects out of deep interest and/or curiosity, possibly not unlike their Klingon-speaking bretheren over on the other quad.
Most HR dopes I have known studied management, finance, or business. If you want to abuse someone for being a dipshit, please direct your menacing intellect toward those circle jerks.
P.S. -- please reconsider before using HR terminology like 'skillset' in future posts.
Re:C-sharp (Score:3, Insightful)
Pick up python, ruby, or whatever, and write code. GUIs aren't magic - they are just bits visible to the user: read and play and you realize they are trivial.
I'm guessing all the GUIs you produce are godawful.
I highly doubt that modern COBOL programming tools give you what you need to create a stellar GUI compared with C#-- hell, even Java doesn't, IMHO. I could be wrong.
PMP (Score:2, Insightful)
I took a 1 week class (actually 4 days M-T) followed by the PMI Cert Test on the Friday. If you have spent decades developing, you will have a good shot at passing the first time around. You may find it interesting and close enough to your experience for it to be useful. Being PMP coupled with experience and an interview suit should land you in a good spot.