Re-Tooling Your Skills for the Future?
nojayuk asks: " Over the decades I've re-skilled myself several times, from mainframe FORTRAN through minicomputer PASCAL to microcomputer C. In between I've done microcontroller development and programming in Assembler, robotics, graphics design and 3-D animation for TV, PC build and repair, Website design etc. Currently I'm looking for work and I'm wondering what new skills do I need to stay in the computing biz. What OSes do I need to know, what technologies do I have to have under my belt for the employers to come hunting for me instead of me passing my obsolete CV around and being told to get lost? I'm looking for advice, not just for next week but for a few years down the line. What can I do to acquire these essential new skills?"
The most important for every developer in my opinion is Java. It is the current foundation of the general programming (no flames, please). A second step will be the Java-releated technologies - J2EE, XML processing and so on.
You probably already have a solid knowledge of SQL, relational databases and C (C++).
Then XML, HTML, the different CSS and DOM things and so on.
Also some TCP/IP and basic Unix administration will come handy.
This I think is more than enough for a good start. Java + C + C++ + XML + HTML + TCP/IP + SQL + relational databases are going to be around for a very long time and a lot of BIG and small systems are going to depend on them.
About the learning - a good book (finding a good book may be hard), a lot of interest and trying to understand the underlying principles should be enough.
Java. All you need is to visit Sun. Start with the tutorials, download the jdk, and get a decent text editor. Download Apache and Tomcat. Then move onto Netbeans if you desire a development environment. Nothing to buy. No classes to enroll in. No proprietary system to learn. No silly license issues to deal with. A great start.
Take this advice at your own risk:
This requires that you are really crazy about technology, but so far it's been working out ok for me.
Learn everything and then master one part at a time.
Read/Skim a lot of books. No, I'm not saying RTFM, I'm saying there are many good books out there that can get you up to speed quickly (don't need to waste time and money on fancy classes-though perhaps it would be worth your time to get certified in a few areas [RHCE, MSCE, and A+ is a powerful combination])Be fluent in M$ Windows (9x/NT/2k/XP), OS X, and Linux/UNIX and be able to code with some decency in Perl, C++, C#/VB, PHP(or ASP I suppose), and XML per say. You can pick and choose to favor your interests somewhat. Once you have something like that going, then you peek at the market out there, to see what the 'big need' is. Say it's XML devels-then you get the job, because you know your XML enough to get in, but while you're there you specialize in that so they don't give you the boot. The key is to have many skillz in many areas so you are "multi-purpose"
I think a lot of people will disagree w/ me and say that this requires too much time and is a waste if you only need to learn one skill to get a job. On the contrary, so far this has worked for me, and as long as you stay up on what you know (DON'T FORGET EVERYTHING YOU KNOW JUST BECAUSE YOU DON'T USE IT!) and get educated about the latest and greatest technology, then you will never need to "start from scratch" (like perhaps where you are now) you will simply need to master another area.
Example:
If you get a job as a web devel, your *ML skills will become excellant along w/ perhaps your PHP/MySQL and JavaScript abilities. However, if you don't practice them, your sys/net admin skills will waste away along w/ any others you let the dust collect on, so be sure to keep up your other skills at home, such as linux/perl. You could say, set up an automated backup server on your network or something.
This prevents you from forgetting everything and it lets you have some fun w/ other technologies then your forte.
Perhaps why this approach works for me is because I am an exicted engineering student w/ a lot of projects. (how many other people have their own linux based MAME in their basement and a music server in their car?)
I hope that's good advice, again, depending on who you are this could help you or confuse you. GL
Sigs pose an operational security risk and help the baddies aggregate data. I guess commenting does too, oops.
Your skill base mentions technologies from over 20 years ago, so you are probably pushing 40 if not over. The tech field is very ageist, presuming near senility over 35 or so. Yet another NY Times article complaining about this.
The one problem we did have is that we couldn't do source-level debugging on an HP emulator we bought. When more tools are updated to support C++, you'll see lots of embedded systems development switch from C to C++, just like it switched from assembly to C many years ago.
What a fool believes, he sees, no wise man has the power to reason away.
As the "networking" one might do to find those positions is quite different than looking for a position at another big corporation, his comments gave me something to think about in organizing my own job search.