Re-Tooling Your Skills for the Future? 597
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?"
quality vs quantity (Score:2, Insightful)
Re:quality vs quantity (Score:5, Insightful)
For example, the submitter might think of a hardware solution that is better than a software one, when a specialized computer programmer would only think in terms of what software he had to write to address the problem.
The thing about being a generalist is that you need to find jobs where you are either semi-management, or have enough latitude and influence to be able to propose the solutions you want to implement. A generalist won't last long in a rigid top-down organization where the management wants to control every detail of implemention.
I don't know that this helps the original submitter much... Really my advice to him is to just not worry about learning new skills just because a bunch of people think they are hot... Just keep it to the basics of job hunting, personal networking, keep your eyes open... and learn whatever you are interested in. If you are interested in the field, then you will learn much more about it than if you are doing it just because you think it is a hot skill to have.
Re:quality vs quantity (Score:2, Insightful)
My entire career, I've been told to follow this path or that, and learn as much as I can about this topic or that topic. For various reasons, I took a middle path between the specialist and generalist, and became very good with Windows and competent (and still learning) in Linux and Cisco. I intend, over the next couple of years, to add FreeBSD and Solaris to my skill list, including some mid-level certifications. This will help to keep me out of knowledge-dulling management and in real positions that have an effect and keep me sharp.
Incidentally, this has helped me in the career choice that I have chosen to follow, and that is security. Having a broader sense of the capabilities of different systems has allowed me to look at a given situation and recommend a more flexible solution for it. Sometimes it's homogenous, and sometimes not; everything has its strengths and weaknesses. If I need to find some really obscure answer, I've used my past mentors as a knowledge network, and can usually call on at least one of them to provide me with that crucial tip or pointer.
There's an added advantage to this. Should the job market sour, I have more flexibility to get into the jobs that are available, even if they're not my immediate preference. It may be a lower-end job than I'm used to, but not-quite-happily employed is far better than homelessly unemployed.
Re:quality vs quantity (Score:5, Insightful)
Companies looking for temp workers (heaven forbid they think about actually hiring someone) have a long and detailed laundry list of "buzz words" that they think are job requirements/necessary skill sets. If your resume doesn't hit in the word matching then out it goes.
The best "buzz word" to have these days is probably Web Services. The good thing is that successfully implementing real Web Services actually requires a generalist.
So, tack a little XML knowledge onto the old resume and slap in a few words about B2B and EAI. This could actually lead to something interesting.
Good luck.
Re:quality vs quantity (Score:4, Interesting)
In fact, this is one of the best ways to become a generalist. Having to absorb a lot of information about something you only know a little about, relatively quickly, is the hallmark of a good generalist. The important thing is to be able to adapt.
Re:quality vs quantity (Score:4, Insightful)
True.
As you progress up the chain in MIS you get to a level where you are expected to understand business. Not just that you know that you need to bring in more than you spend but REALLY understand business. Take an accounting course or two, a couple business management courses etc... Of all the hammers I own this one did the most for my income.
Re:quality vs quantity (Score:3, Insightful)
Being a generalist I found that I can work with any OS (I deny all knowlegde of M$ OS'es), solve any problem they trow at me and I'm able to advise and educate others.
When I'm stuck... wel, it's specialized knowledge that can be found on the web, with suppliers, coworkers, friends,...
It's always nice to know how brand X works, in detail, but what happens when management decides that brand Y is better. I'd prefer to be able to advice them to go for the correct brand for the job, instead of finding myself looking for another job just because they switched to brand Y.
Know what happens in the environment that you work in, never forget to fiddle around a bit while sorting things out, just to get the feeling of the systems you're working on.
Once you know how to drive and maintain a crappy old mini you shouldn't have a problem with that shiny ferrarri they want to buy. (and once you've convinced your boss that a BMW is better you can play with the ferrarri for yourself
Yeah, I'm also a carnut...
Just to summarize, general, in depth knowledge of the design of a computer, an OS, an application is rare, very rare. I guess it's less then 5% of the IT business that know what's going on when they for example send an email. (and I mean know exactly what's going on, including the content of the IP packets) I'm at least not yet one of them, not on that level.
Or was this just because the Y2K and euro 'problem', which 'required' lots of MCSE drones.
Re:quality vs quantity (Score:5, Insightful)
Re:quality vs quantity (Score:3, Interesting)
Why ? Maybe because when the job fails to get a "suitable" candidate. It's inter-company transfer time (India). It is easy to hoodwink governments with this "skills" shortage crap.
And being cynical, I expect the guy brought in to do the work eventually, will most likely become familiar with the package on the job
like I used to do in my 20s, when I had no family to support.
Re:quality vs quantity (Score:5, Interesting)
30 years of programming experience. Worked on international standards body (X consortium). Two degrees in CS. Web services experience. Network architectures. Corporate R&D. Business analysis. Long range forecasting.
In my last job as the company shrunk I was moved from a pure R&D/technical analysis job, to an architecture job, to a design job, to a coding job. And then they laid off all the coders and hired a company in India to do the coding work.
I can't even get a job at the local Junior College. They went broke because of the decline of the "tech sector" in this dear town. Best I've been able to find is the occasional testing job that pay about half what I made in the '80s.
The truth is that there are some very good people in India and China who will do the low level coding work work for very little money. And, in this market, no one is hiring people to do the kind of high level work I used to do. That is life, I have adapted to it. And I am.
Stonewolf
No, it really depends on who you are applying to (Score:3, Insightful)
Yes, this takes more time than emailing the same resume 1000times to different places.
A large company (like IBM), might want to see you as a specialst in one particular aspect of programming. Like an expert in C, and compiler design.
I'd think a smaller company might want to see more of a "Jack of all trades". C/Java developer, web applications, Unix administration.
Worst thing you can do, is assume you know what MOST companies are looking for, and tailor a single resume because of that.. or make generalizations such as "They want quality, not quantity". Many BIG companies would rather hire newbies for less, and train/MOLD them into the skilled guru they are looking for.
Of course add in the "economic slump" factor.. and things get a bit more difficult.
Perhaps the "Iraq" factor, will smooth the economy a little
--noodles
Hrmm (Score:5, Insightful)
The university I go to doesnt even look at it, which is a shame because it's got to be rolled out sooner or later. I think most people are hoping for the later.
IP Extensions in University (Score:3, Interesting)
I'm an academic purist, so normally I'd tell you that if you want to know about something new: get off your ass and learn it yourself. However in the case of networking I'd have to agree with you.
Let's face it: TCP/IP and UDP/IP are the only protocols worth a damn. Networking courses are filled with archaic ideas like ATM which clearly has no future (QoS will be implemented on top of TCP/IP). You could argue that learning about the good old days will teach students general design principles, however so would learning about the exotic ideas that might not be here for the long haul.
So rather than spend a bunch (it's okay to spend a little) of time on history or cut back the low-level portion of networking courses, I'd rather see students learning about things like IPv6, IPSec, and Mobile IP.
unfortunatly.. (Score:2, Funny)
OOP (Score:4, Insightful)
Re:OOP (Score:3, Interesting)
"Half the people I talked with wanted to know if I knew FORTRAN!"
Now, granted, this may reflect the area where we live (Denver) being very heavy on aerospace
So what happened to her? Well, she never did get a job from anyone she talked to at the job fairs. Fortunately, she was able to get a job at her Dad's company (something she was trying to avoid, not because it's a bad place to work, but because, you know, her boss is her Dad.) Some of her coding she does in Java. But a good half of what she does is in
Me, I develop in PHP and SQL, so what the hell do I know?
C# .Net (Score:3, Insightful)
Try a RHCE or similar. (Score:2)
Class hasn't started yet, BTW.
Re:Try a RHCE or similar. (Score:3, Interesting)
Looking back on it, I didn't really learn all that much that I didn't already know, except for some advanced X Windows administration. Over half the class failed the exam, so it was more of a confirmation for me that I was making the kind of progress that I thought I was.
Don't think you're skills are the problem. (Score:5, Interesting)
Re:Don't think you're skills are the problem. (Score:5, Insightful)
Five years ago, that would have been good advice. The problem is that now employers don't have to train folks. I have a fairly diverse background including everything from EE type jobs in the embedded sector to MIS jobs with few technical requirements and everything in between. Many employers went through a downsizing in the last two years, and now they are loathed to pick up "General talent." Despite my wide range of experience and obvious skill inventory, I was passed up for people who had 5 straight years of development experience with a single technology because the employers I talked to couldn't justify hiring general talent anymore. If they were going to make the expenditure to hire someone it had to fill an immediate need.
All that said, hang in there. There are employers out there who still see the value of the "engineer brain." Just dont hold your breath waiting for them to find you. Also, unless you have a major objection to it, focus your energy on smaller companies. Companies with 5 or 6 people can much more readily see the benefits of having a swissarmy knife instead of a T40 Torx wrench, whereas a big company sees that it has a bunch of Torx bolts to unscrew.
For waht its worth I was unemployed for a year before finding my current job. If you have a job now you may want to consider trying to find a way to be happy in it rather than moving on.
Re:Don't think you're skills are the problem. (Score:4, Informative)
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.
Re:Don't think you're skills are the problem. (Score:3, Insightful)
I agree, but.... (Score:5, Insightful)
Sometimes it isn't even a human doing the processing these days - OCR for the few that still snail mail their resumes (a red flag in itself), coupled with full text indexing and data mining determine which resumes are deleted and which are forwarded.
Re:I agree, but.... (Score:2, Funny)
Maybe after receiving a few hundred of these they'll start to get a clue.
Re:Don't think you're skills...(comment on thread) (Score:4, Insightful)
What most fail to realize is that 5 years in a single tech is probably a bad sign. A "better" programmer would probably have gotten bored and moved on, or moved on because it's highly unlikely that a single technology remains the best solution for that long a period of time.
My advice would thus be this: if you're good, don't worry about it. It takes a few days to pick up 98% of any language/tech., a few hours to learn 98% of the commands and interfaces for an OS etc. (unless you're administering the thing, which takes us back into the few days bit). So, just skim a Java reference, a Linux book, etc. and throw them all on your resume.
If you're not that good, you can hang yourself with this, but, then again, most companies don't know what they're doing with tech anyway (even the experts within the company), so you can get away with just being mediocre.
And, if you find a company that thinks the right way about technology, they'll understand it's a fluid thing and they'll be looking for smart people, not people who've memorized wasted their time memorizing reference books that are available for $20 or online for free.
Skills (Score:5, Informative)
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.
Re:Skills (Score:3, Insightful)
I just retried the websphere installer - done in java - and I couldn't believe how utter crap it was. This from a company which is supposedly supportive of java, and is behind linux, and has more money than most of eastern europe combined.
That's what most people think of when they hear the word 'java'. Slow, clunky interfaces. Could only get websphere installed on one machine here, and even then it was still horrifically slow, reinforcing java's 'slowness'. Whoops - sorry, that machine was 'only' 600 mhz with 512 megs. I guess we need real 'enterprise' machines to get moderate performance, right?
If java is to have long term viability, it needs to run faster on commodity hardware, otherwise it will remain a marginal player which increasingly only the elite few will be able to afford to run in production environments.
Specialise (Score:5, Insightful)
Computers (or more generally IT) is a broad playground these days. Its simply not possible to do everything anymore, much less to do it well. The answer is to specialise, even if only a little.
Your history suggests a good deal of experience with embedded systems. This is a good field to be in right now - there are plenty of opportunities, from special-purposes devices to cell phones and PDAs.
If you want to stay in mainstream development, you probably need to skill yourself up in C++, C# and/or Java. For the former you're going to have to be familiar with the operating system under which you are developing; for the latter two, you're going to have to be familiar with the language and the platform, especially when it comes to enterprise systems.
If you want to move away from development, you have at least three choices: networking, design and management.
Networking moves you in between development and users -- you use, but you still have the skill ;) These is a lot of opportunity in network security in the future.
Design is a step "above" development, in which you're going to have to learn about formal methodologies, OO and patterns; how to control a development team effectively; and how to manage customer requirements.
Management is, well, management. Enough said.
My advice would be to decide what you want to do, and then investigate further to determine what skills you need.
Re:Specialise (Score:2)
I am sure you will find lots of interesting areas to specialize in if you look into those technologies. Who knows - maybe you know something relevant, so they don't need to reinvent the wheel all the time?
Object Oriented Technologies + co. (Score:5, Interesting)
Don't worry about the programming lanaguage - as you have learnt so many new langauage in the pass I don't think you have problems picking new things up - have a look at C# and Java - they are the "same" aren't they
I say: Operating Systems and Programming Languages come and go, but good Software Engineering and technical understanding never dies. I mean file operation is the same principles in Unix, Windows, "Java", BillGatesMustDie OS (I make it up) - the difference is really whether they call it new File("hello").open() or open("hello", READ_ONLY).
You know embedded programming and C? (Score:2)
Re:You know embedded programming and C? (Score:4, Informative)
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.
Key to preparing for the future (Score:5, Insightful)
About 6 months ago I left my System Admin / Level II support position at a local ISP and went into business for myself with another guy, our business is aimed at specialising in a key IT area that few local businesses do, that being UNIX consulting and specialist networking.
I think the only way to stay current and have something good on your Resume/CV is to diversify, not neccisarily specialise in a technology but be across many current technologies, read the literature - read mailinglist digests, visit as many free seminars as you can (visit some that you have to pay for if you think its worth while and you have the cash) if you know what the current products out there are, your better prepared than most people that are in the industry employed to work in one narrow area.
Just my 0.02cents
Re: (Score:2, Insightful)
java... java.... java (Score:3, Informative)
in most other software development fronts, c/c++ are still the languages of choice, and your edge is in knowing how to use certain api's (visual c++, com+, unix threads, rdbms, etc) within those languages.
Read Dilbert (Score:5, Funny)
Learn Java, XML, or try to convert yourself to System Administration... You can also get some Oracle DBA certification or, if you don't mind the philosophico-political issues, get an MSCP (Microsoft Certified Professional)...
Well, the choice is yours but look for whatever sounds the most expensive *and* the biggest : Programming a desktop computer is not as promising as administering a cluster of Sun E10k...
Bon courage
Re:Read Dilbert - - Okie Dokie. (Score:2)
Fortunately, 90-whatever percent of businesses and users use clusters of Sun E10k, and not desktop computers!
That was sarcasm, incase you were wondering.
Wrong! (Score:3, Interesting)
Admins: 4 for a $1
Programmers: $2.49/lb
Seriously, there's not that many people left that *need* admins any more. They are either huge and already well staffed, or they are small and have their programmers do the admin work. Putting people out of work by automating their job is ALWAYS in season; it's computing's promise to the capitalist. This includes automating IT, and as such, IT IMHO is a doomed career choice. Think of all of the "computer operator" positions that used to exist. That has almost disappeared, and very soon, so will the network/system/database administrator positions.
So ignore his advice about being a sysadmin. Let me add my advice; it's not what you know, it's who you know. Trusted human networks are far more profitable than trusted computer networks.
COBOL (Score:3, Interesting)
On the other hand, the same can probably be said about C or FORTRAN. With that many years of experience in the industry, I'm surprised you haven't gotten into management or consulting of some sort.
Re:COBOL (Score:2)
What I'm more interested in is why exactly so many companies insist on doing all their new coding in COBOL. I mean, they can't help it with the legacy code they've got, but I went to a job interview recently where the guy was complaining up a storm about how much they paid for their new computer systems (WinNT boxes and a big IBM mainframe) and how slow all the code still is and then went on to inform me they do all their development in Visual BASIC and Cobol. I mean, why not just get people to use languages that perform a little better?
Essential new skills (Score:2)
Your submission doesn't mention your formal education. How about looking at picking up a certification like an RHCE, CCNA, etc?
Sure, it is more expensive than teaching yourself if your boss won't pickup the tab, but would be beneficial regardless.
-----
taco taco, taco taco, ____________________ I love that ad. [wallpaperscoverings.com]
From my experience... (Score:5, Interesting)
Since you already have good programming-based skills, you should just keep them polished.
And when you actually apply for a job, don't over-pimp your skills, they will then have a reason to categorize you as over-qualified. It's suffice just to exibit your ability to handle situations from hardware to code and vice-versa. This will make you appear more all-rounded and project an image that you will be beneficial in the long run.
Just speaking from experience watching all my Masters degree friends stay home because of lack of work whilst I have a fixed income to look forward to at the end of every month.
Best of luck in your endeavours!
Go for things that suit you and be good at them (Score:5, Insightful)
1. Do whatever YOU like, but do it well.
2. Only work for employers that you want to get up in the mornings for.
3. Dedicate at least 10% of your "work" time to professional development, even if you have to pay for it. Go stale = out of job
4. If you're not having fun, leave. Life is too short to put up with crap.
5. Don't choose the boring staid job unless you want to retire. Be different. Work for Microsoft*.
If you're after buzzword compliance (j2ee,
Andrew
* by this, I actually mean for *you* to pick the most interesting job you can find. A friend of mine interviewed for a job in Antarica, for instance. Think about it.
Re:Go for things that suit you and be good at them (Score:3, Insightful)
So, hire me. See sig. :-)
1. Do whatever YOU like, but do it well.
Some flexibility is necessary. I'm not crazy about Java, or scripting languages, for example. Of course, I come from an embedded background where you squeeze every last drop of performance out of your resources. Not everything has to be blindingly fast, and there is something to be said for rapid deployment. As much of a development geek that I am, I have found pleasure in streamlining build environments, generating test infrastructures, and producing customizable installation media. Even "mundane" tasks can be made superb with the right attitude.
2. Only work for employers that you want to get up in the mornings for.
Aye, though I'd augment that by saying, "Only do things that you like getting up in the morning for." -- the employer might be a bit of an ass, but the job can still be fun.
3. Dedicate at least 10% of your "work" time to professional development, even if you have to pay for it. Go stale = out of job
That's been my mistake. I never really got into the whole Java, J2EE, enterprise "thing", dealing with it when necessary (and damn well, at that). Also, it can be difficult to find that 10% when work time ranges from 60 to 120 hours a week to correct mistakes made by others -- the tragic flaw of having exceptional troublshooting skills.
There's a tendency to not "train" after having seen a lot of different, but similar, systems, because a good S/W engineer will pick up the required skills as necessary without wasting time on traning that may or may not prove useful. However, future employers like to see "training".
In an attempt to correct this oversight on my part, I have been spending some of my free time with "buzzword" technologies like SQL, XML, Javascript, and Java -- though the tendency does remain to think, "I'll pick this up when it's the right tool for the job and not sooner."
The difficult is that many employers will not believe that you can actually do this, even with a history of pulling off "miracles". Sell yourself too hard and you come off as arrogant.
4. If you're not having fun, leave. Life is too short to put up with crap.
Alas, one has to eat, and leaving is not always practical. But, the sentiment is noted.
5. Don't choose the boring staid job unless you want to retire. Be different. Work for Microsoft*.
Indeed. The best time of my life was working for my last employer, and optical router startup. Sadly, I got caught on the wrong side of a 20% cut to make VC capital last. Still, smartest bunch of people I worked with.
OTOH, after a while, one starts to think, "Ya know, why not take all one's savings, buy a cheap house in the country outright, and 'retire' to give the people at the local Rat Shack blank stares (or, if they're clueful, a surprise of knowledge).
If you're after buzzword compliance (j2ee, .NET, etc), read the other 500 posts. As you already know, they mean nothing in 5-10 years. My tips will last a lifetime.
Yeah, but the short term is a bitch.
Whatever you want (Score:5, Interesting)
You sound you have plenty of experience under your belt and a good understanding of things.
I've seen people make a living off of just about any computer specialty out there, good economy or bad. Find something that can get you some clients and do what you love.
Just stay involved in the community around a product or technology, and you'll have no problems. I've found that posting intelligently to a newsgroup or mailing list leads to job offers when you are not even looking for work.
Re:Whatever you want (Score:2)
An earlier poster noted that wireless devices are sure to be an expanding market, so some of the wirelss technologies, such as WAP/WML and J2ME (learn Java if J2ME doesn't mean anything to you.)
Beyond that, predicting the future of IT is like predicting the stock market: it is a game for suckers. The only thing you can be sure of is if you are enjoying the technology you are working with.
Re:Whatever you want (Score:3, Interesting)
The beauty of "IT" is that it isn't a static thing. If you like coding, there are a nearly unlimited number of things going on in different environments, languages, and projects. If you hate writing webpages in PHP or Perl, you can pretty easily transfer those skills into writing GUI applications in Swing.
Administration is the same way, you have networking, unix flavors, windows, databases, etc...
Of course finding a gig can be difficult, but jobs are out there.
Learn all you can. (Score:3, Insightful)
something radical for depressing times (Score:2, Informative)
Fin some thecnology problem that is interesting to you to solve thast you have no skills in, do the research, gain the skills, and solve the problem..
If you do all these steps, the job wil find you..its alonger process than job hunting in a good economy but I think you may be more satisfied
Solid Generic Skills (Score:5, Insightful)
Those who have self-motivation and a passion for technology, whether this is networking, MS Windows, Unix, whatever, will generally pick up whatever technology you throw at them. i.e. a solid investment for the future.
The new mobile phones (Score:2)
Get a Masters Degree in another field (Score:5, Insightful)
If you already have a bachelors, it will only take 2 years.
Or start your own business...
Learn new skills, unlearn the old (Score:4, Funny)
Up and coming technologies are the more specialised areas such as Occam and INTERCAL programming. People witht these skill are rarely out of work
I'd also suggest singing lessons. A more formal working environment like that in IBM's early days is becoming typical, and as we all know, IBM used to have company songs. What better way of climbing the career ladder than showing this sort of team spirit.
Mobile computing (Score:2, Interesting)
Learn stuff about SMS Messaging, including the protocols used (SMPP, CIMD, EMI, SEMA, etc, etc).
Nokia got a opensource CIMD API, Logica got a OS SMPP API, both in Java, good place to get some code to look at.
Also try to get into the MMS stuff (nxt generation SMS - gonna take a few years to break through - if ever!)
good luck!
Start your own show... (Score:2, Interesting)
Hurts a bit at lean times, but it's better than sucking coc^H^H^Hup to idiots and trashing your self-esteem.
With your device-level skills, you could team up with other IT-ers with complementary skills, have a few bourbons or cafe lattes or acid trips, whatever works for you, and brainstorm up some ideas.
Put the 20 best ideas into a list, and sleep on them. Get together into a renovated garage and create something that'll blow everyone away. End up in a position where you don't ever have to touch a keyboard again (except where it gives you pleasure).
Mobile devices? (Score:2)
You've got embedded systems, web site design and animation. That looks like a good fit for programming mobile devices, like phones and PDAs. 3G was an embarassment to all concerned the last time around, but phones are gradually getting better bandwidth, better displays, faster processors and more memory. This time around, telcos and vendors are going to know that adoption will be driven by real applications, not by trying to shoehorn PC applications like email and web browsing onto a tiny screen and keyboard.
Smart guy! (Score:5, Funny)
Learn (Score:2, Insightful)
The IT field will always change, and because of it the best thing you can lear is the skill of learning new things. (uf)
Re:Learn (Score:3, Insightful)
I would say there's another thing to be on the look-out for: abstraction. Someone who "learns Pascal" or "learns Fortran" or "learns C" might be said to be missing out on the general "knows how to program" aspect, which is far more employable. Likewise "knows web-design" is missing out on the fun of the open w3c standards and tagged-up text-processing tools that go with XML.
Ask yourself what aspects of IT will be around in 10yrs' time.
Windoze? No way. Linux? Probably not in any form similar to present. Cisco? Likewise, mutation expected.
It's not worthwhile investing time and money for certification in any proprietary single technology. I'd say two key things that'll still be around are an understanding of SECURITY and of ETHICS. Read up on those - get to know security for what it is, and how best to apply it to a couple of current OSs, and work through the moral mazes of a few ethical questions, and you'll set yourself up for a longer career.
$0.02. HTH.
It depends on how old you are... (Score:5, Insightful)
Neverfear, it is just Mother Nature kicking in.
The solution? Move up to (technical) management. There really *IS* a need for technically competent managers to guide the young hotshots. Your experience counts, even if you don't understand the latest and the greatest (have your hotshots explain it to you in their own words).
Yeah, management can be a drag, stuck in the middle between the upper-level and the people who actually get things done; and good technical people don't necessarily equate to good managers; but it is worth looking into. Even if you wanted just to be a techie-nerd for the rest of your life.
Of course, you could always become an instructor (assuming you have some communications skills) and pass your experiences and techniques on to the next generation.
Just some thoughts...
(From a fifty-ish longtime technical instructor)
Re:It depends on how old you are... (Score:3, Insightful)
Being on the older side of the average in this business, this comment had me seething...until I read the last line :)
Age does not require a move to management. Management is a different set of skills, challenges and rewards. You should want all of this before you decide to take the step. Having tried it, I can speak from experience.
I agree that there is a need for experienced technical managers to lead. But I also believe that there is a need for really good, seasoned programmers/DBAs/sys admins/etc to work with the "youngsters", lead by example and pass along some of the accumulated wisdom.
Not what you know, but how you learnt it (Score:2)
I don't know what jobs you have been looking at exactly, but generally people in your position are better off presenting their ability to uderstand and solve problems, rather than aiming at specific technology posts. The amount of skills you have should be presented to a future employer as proof of your ability to understand and solve problems, regardless of any underlying technology specifics (which will be farmed out to underpaid technology specific implementors:-) ). Perhpas you ought to think about Project Management qualification/certification, or Consultancy work. You'd be able to feed off your wide IT culture to understand the relevant technologies well enough to manage projects, and deal with a team of techno "underlings"
3 things you NEED to know to help you decide (Score:2, Insightful)
2) You must learn sales skills and, whether you continue to stay in code or truly move to sales, you must learn the #1 lesson of sales: truth and quality don't matter
3) See your politics through your job prospects and your job prospects through your politics
Re:3 things you NEED to know to help you decide (Score:2, Insightful)
Things like scripts for internal websites, specialized database programming for accounting, inventory, human resources, etc. Personally, I'm the sole developer in a television production studio. Our much larger company has a programming department, but my group has me for the really specific things they need quickly.
Most moderately sized (and even small sized) companies need people like that... even if they hire freelance, it's often local talent. It seems to me that most programmers DON'T work directly on commercial software development. Since the needs of these smaller companies are very specific, they also don't want someone telecommuting - they want someone close to the business.
Try Busines (Score:2, Informative)
Befor going to schooll I hadrun my own web design company for a number of years. Seeing as I had started it just out of highschool I and it hadn't floped over the 4 years of it's life I think I did prity well for my self. Yet at the same time with the new thing that I am lerning about managment, I am realizing that while I was with the company I could have done so mutch more.
If your the type of person who has some interpresonal skill ontop of you computer skills thik about busines.
skills that don't go away and interests... (Score:2)
I got into linux before anyone was officially using it in the workplace.
These were skills I wanted to use at work so what did I do?
I learned the Solaris way of doing things and got Sun certified. Now, I do as much linux as I do Solaris and if you throw in a bit of the DEC Unix experience and BSD experience I got in one other jobs I feel like I make a pretty good all around Unix admin. They don't go away and will not for awhile.
As a programmer, learn or bone up on your C/C++ skills and then learn something else related that interests you like Java. Listen java is not going away and it is not up and coming like linux was at the time but solid C/C++ skills have been useful since the languages first appeared. Get a good base in something and then branch out to things that catch your interest. That is the key.
_______________________________________________
Resume Spin Control (Score:5, Insightful)
That is the skill of learning new skills. Flexibility and adaptability will always be in demand. Sell yourself on that.
True, a lot of employers put together a laundry list of skills for each new position. But they rarely find people who are a perfect fit for those kinds of lists.
What Do Want to Do? (Score:2, Insightful)
Constraint programming (Score:2, Insightful)
Modern software design (Score:2)
IMHO, these two books are two of the most important books to be written in recent years. The first book is C++ specific, but the second is not. Both talk, in there own ways, about ways to improve software design and implementation by more clearly expressing design in code.
I think that, regardless of your language or field of choice, the increasing complexity of software development requires that you move towards an expressiveness that is richer and puts more responsibility on the automated tools at your displosal to generate correct software. Modern C++ Design talks about doing this via C++ constructs like templates.
Both will make you a better software developer, and both are time consuming reads. I think, with your breath of knowledge, that the important thing for you to do is to stay current with modern techniques of software design and modern implmenetation technologies. Languages and implementaion details should be something you can pick up quickly.
Hopefully, you can find an employer who will value these skills.
JC
Go for Mgmt (Score:2)
For example, a Professor I've been exchanging email with, quite a successful guy, gets a lot done by handing it off as projects to students. He
hedging my bets ... (Score:2)
I'm hedging my bets. I've taken the pains to learn both
That said, perhaps a place to look-n-see what you might need to study are some of the tech job postings via a source like Monster.com [monster.com] or the Wash.Post tech page [washingtonpost.com]?
Security (Score:5, Insightful)
Security is a process, so you wouldn't really have to learn much new technology. There's a lot of value in talking to someone rich in experience when it comes to security, especially if you're trying to secure legacy platforms.
If that doesn't sound like fun and you want to stick with programming, I'd suggest picking up either Java, C#/.NET, or Obj-C/Cocoa. Learning these technologies will certainly keep you relevant and will probably be fun too!
(Since you already know C, Obj-C/Cocoa would be really straight forward, and we can't have too many Mac developers you know.)
Break out of the "techie" mindset (Score:5, Insightful)
I'd recommend that you either go into systems engineering (that includes architecture and can include business-process re-engineering) if you want to stay technical or go for an MBA if you want to plunge into the business end.
You can try my approach.... (Score:5, Informative)
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
Re:You can try my approach.... (Score:4, Insightful)
ageism (Score:5, Informative)
Ecommerce (Score:3, Informative)
You'll need to know how to work in a operating system that runs on servers. Maybe install and get used to working with Linux?
If you don't know how webserver's work, now is a good time to install one and play with it, how about Apache?
If you don't understand the scripting languages that make the internet work, learn one, how about PHP?
If you're not at least a little familar with how datbaases work, you should at least know how to get info from a database to a webpage, why not learn some SQL, so install and play with a database, how about mySql?
With a few more basics (security + content management + etc) you're now fairly versed in what you need to develop websites using LAMP (linux + apache + mySql + PHP)
The best part, you don't have to spend a dime to use any of these technologies. They are all free (as in beer). What I really like about all these technologies, is the ammount of documentation and help you can also find for free. Be sure to kick back a little, answer a couple questions after you've found a few thousand answers.
And if you need links to find mroe (alias more mroe) info, you haven't heard of google. (i.e. look for LAMP)
M@
Not so old (Score:2)
BTW I saw a small job fever in one organisation when they set up a small cluster for chemistry analysis. They could not find anyone younger than 34 to catch the task of programming the monster. The guy who went there, passed 3-4 months blaming the skies for the headache they gave him but later was happily playing the role of guru...
Mobile Java (Score:4, Insightful)
Well the future of programming. (Score:3, Insightful)
I only need one tool... (Score:2)
2 channel(s)
16 bits/sample
---- sound initialization ----
Initializing DirectSound
Creating DS buffers
sound sampling rate: 22050
=== InitGame ===
--- Server Initialization ---
27 entities inhibited
1 teams with 2 entities
Changing map...
reconnecting...
Outer base
]give all
]give cells 4323313
]USE BFG10K
In all seriousness though I have used Assembler almost exclusively for over 20 years and it has never failed to get me bucks...
Alot of helpful advice posted so far.... (Score:2)
From the masses of laid off geeks that still have enough money in their pockets to read slashdot!
Cmon... how many of you have real jobs?
Become a manager. (Score:2)
Keep an eye open for trends (Score:2)
No guarantee that any of the knowledge you acquire will actually be something that you will use, but it may make it less likely that you experience the sudden realisation that your current skillset is past its sell-by date and that unless you have at least some familiarity with newer stuff then many employers are going to automatically drop your application at the first filtering stage.
Obviously... (Score:3, Funny)
Duh.
And case mods. Make sure you have lots of case mods. Those are cool. You can be a web typist in no time!
Don't do what they teach in school (Score:5, Interesting)
A lot of people consider it to be a stepping stone position, where you put the new developers so they can get an overall idea of the product. I don't. That is good for me, because companies want people who are serious about the position. They don't teach QA in school, they teach programming. I went with the odds that I wouldn't be fighting for my job every year against a fresh batch of bright-eyed programmers.
Some people aren't suited for QA, others are. I think I am, because I get to problem solve quite a bit, and even write a little code. I am currently working on QA process, and test automation. You get to really be anal-retentive and picky, which I am good at. If you program, you only know X number of languages, but I can test pretty much anything you throw at me. My job is based on methodologies that I can pretty much apply to anything. I admin my own Linux system on my home network, which I find really interesting, but I don't think I want to be an admin. But it helps me when I need to talk to the admins, or other tech people I come across in my job.
No matter what your job is, I think you should always pursue what you really like outside of your job. Maybe they are the same things. Develop YOU, because no matter where you work, you will have to interact with other people.
teach. (Score:5, Insightful)
You will stay cutting edge and help a few young folk to not make the same mistakes you once did. You will learn the newest technology from them, too.
I'm amazed how much I've learned from students. It is sometimes a challenge to keep up with their knowledge, if sometimes misdirected. Above all stay openminded.
Just master the most important skill. (Score:4, Insightful)
I was recently laid off, and I just got a new job yesterday. Out of the dozens of places I applied at, only one even bothered to send a rejection letter. (plus another one sent a rejection email).
Where did I eventually get a job?
A place where a friend works, and pulled some strings for me - they looked at my resume and created a position for me.
Yes, I realize that I am very, very lucky - but it just goes to show; that if you aren't exactly what someone's already looking for, and if you aren't exactly the strongest candidate, your chances of actually getting a job, whether you have all the skills you need, or whether you're so technically good that you can pick up new skills in a trivially short time, are exactly zero.
Some Radical Options (Score:4, Insightful)
Flexibility will keep you employed... (Score:3, Interesting)
When a company falls on hard times, rather than expanding your skills in whatever your specialty is, try talking to sales people or some of the tech writers or try coming up with some business ideas to present to your higher-ups or generally try to demonstrate your flexibility and "swiss army knife - like" ability to do multiple things well.
Particularly in the software field there are a large number of people who's primary language is not English. It may be politically incorrect of me...but here it goes. English is the language of business. If you have better English skills (reading, writing, communication, bull$hitting) you will have a leg up on your peers. A well written email with some industry buzz words and a few $2 words thrown in for flavor will likely impress people. Use spell check every time!!! There is nothing worse than trying to impress people with your verbal skills and getting a word's, or worse, a colleague's name wrong.
Are you a hard-core engineer? Try writing a white-paper on some piece of technology you have expertise with. Your initiative and competence will likely be noticed by someone, and if it isn't, keep a copy and add it to your resume as another selling point if you ever find yourself looking elsewhere for work.
Communication skills are key for getting, keeping, and excelling in any job. All the technical expertise in the world in useless if you can't express to you your employer exactly what you can, and are willing to do.
there's IT skills, then business (Score:5, Interesting)
--biggest problem I am seeing here is lack of understanding of what to DO with IT skills. companies are in the widget business. They USE "IT" skills to make and sell widgets. The PRIMARY goal is to make and sell widgets, all the IT skills are to be used as TOOLS to make and sell the widgets. Just IT in and of itself is only a market that sells the tools or builds the tools, but it's NOT the primary end market. The thinking should focus first on identifying a niche in the widget market that needs to be filled and isn't adequately yet.
Now the problem is there's a sort of depressed widget market. Along with IT, widget making is being outsourced, mostly to china and some other asian nations.
OK, now this is a double problem, short thinking bean counters and owners/managers only want their loot now, they could care less about eventually losing their customers, as they DON'T CARE that every outsourced job is also an outsourced consumer. They get their loot now, later on their plan is to live on that loot, they are fully prepared to drive by you huddled on the sidewalk begging, just like they do in any other technofuedal 2nd world nation now.
THINK on that aspect of society and the job market right now before you proceed.
Don't expect any of them to be loyal to you, so don't work for them. You'll just keep getting screwed, over and over again. if this wasn't true you'd still be employed, yes?
The only person who will be loyal to you is YOU, and only YOU will keep yourself employed.
Figure out a widget niche, then use your OWN IT technical skills for your OWN business model. You need your own business, and I DON'T mean just consulting for someone else's business.
Here's an analogy, it's rough (crappy really) but it might get this concept across.
Joe is a car/truck mechanic, over the years he's learned how to work on a lot of cars.
Joe worked for years for belchfire motors, but they gradually switched to using foreign parts and foreigners in general, eventually moving their factories and finally even outsourcing any repairs. His job got to be less and less hours until finally one day he got his last check, then was unemployed, despite being this great mechanic.
He then went around applying for mechanic jobs, but all over it was the same scene, mechanics not needed unless you today have this exact single thing we need and once that's finished good bye, see ya later.
He picks up a day here, a week, there, but it's rank and not really steady.
He's still a good mechanic.
He thinks, "hmm, what was I working on again?" "oh ya, I was a mechanic to make cars and trucks work"
He thinks again, "what do people use cars and trucks for to make a living with, something besides generic transportation?"
"Well, taxicabs, delivery, construction specialised truck-tools, etc".
So he gets a brainstorm, he goes into the commercial application vehicle business, he notices locally there's an unfilled niche, there's no light duty delivery service. He gets a fleet of small trucks, hires drivers, and uses his previous mechanical skills to keep the trucks running so he stays profitable. He starts with one truck, builds from there. he knocks on doors, gets contracts. he fixes his own truck at night if it needs it, and does deliveries during the day, always stopping at some new place to pitch his business. He's relentless.
He's not getting paid as a mechanic per se anymore, but he's still using his mechanic skills to "make money", but this time he's the boss and can make better decisions, like, he knows such and such a truck has a better track record for not breaking as often. Done, that's what gets decided. Other companies have the bean counters decide on the cheapest truck, so they suffer breakdowns later on but blame anyone but themselves. He knows that aftermarket part A is better than OEM part B, so he uses that part if needed. He knows that preventative maintenance is a good idea, so instead of running his vehicles x-thousand miles from tune ups and oil changes like his competition, he runs them in sooner-yes, higher short term cost, better long term average cost, it's cheaper in the long run to do it intelligently.
and etc.
Hope this helps, think one step higher in "business" mode rather than concentrating on "tech" mode, as being self employed is what's going to count in the future, not the overly niched skill set. use your skills to do business for yourself, don't make the money for other people. If they can afford to pay you x thousand, they are making x + thousand, might as well get the whole amount.
The handwriting is on the wall as to the two class global society coming, best you can do is to stave off the timing, get as self employed as possible, in at least two different areas, and for sure (this one is my really only serious detailed recommendation), make sure you move rural and own property outright that has it's own water, garden area and woodlot. Commute if you have to now or tellecommute, but DON'T stay major urban bound in a piped in reality apartment or house.
Look around, the %^&t is getting bad out there.
All the tech in the world won't eliminate the basics of being a carbon based lifeform. In times of economic or social crisis or depression, having the ability on site to feed, water and heat yourself and family will be more valuable than any number of high tech gizmos. Don't think in terms of just representative wealth in the form of money, think of what the basics are you use that "money" for, and get ahold of them now while still possible and affordable.
I listened to the stories from my grandmothers and great aunts about the great depression, it was no joke, there's no guarantee it won't happen again. People in the city who lost their jobs lost a LOT, those in the rural areas might have been poor but at least they had food and water and a place to sleep. Cover your basic human needs, proceed from there. It's real insurance, a great adjunct to that piece of paper in the file cabinet.
And anyone who don't think it can happenm, here's some clues.
Large corporations get a tax break to relocate outside the US. They are doing so. This is a bad idea and is part of the great economic snakeoil salesmen's spiel. Check the daily headlines, you aren't seeing "xyz corp anounces a new plant and hiring thousands" you are seeing "xyz corp announces layoffs". this is across the board, every sector you can point at practically. This is single major clue # 1.
The government cooks the books on unemployment to avoid panic, we are over double digits now, it's not the 5-6% they spout on teevee, it's double that. It's 10 to 12%, they DON'T count people who have exhausted unemployment benefits or who have been out of work past a few months.
Look at the major US banks derivatives exposure.(scary)
Look at the fortune 500 (and government) pension exposure(ditto, scary)
Look at where the major insurance carriers have their eggs piled now(nothing that's making any money beyond theoretical poker chip bond money. bonds can only be paid if people are working. bonds can default same as anything, and government printing press money won't help if the work itself defaults.)
Look at projected energy demands and what is related to what and where it comes from(we have a certain amount of cheap to extract by the BTU energy, hint, we don't own much of it anymore)
Look at which nations are going to be needing how much energy and when, timewise (china, 1.5 to 2 billion people, ramping up manufacturing and all those people demanding jobs and to become sort of kinda middle class, at least to have some bones thrown to them, projected crisis level roughly 2010)
Do that, you'll get reality religion and get self employed and move rural most likely. Most guys won't, the concept of "not having" and "$%^&* this is bad" hasn't been hammered in yet so it's "not possible". Latest release of quake and who won the ball game is still tops. Don't go there.
good luck and better skill
Re:I would recommend leaving I.T. (Score:2, Interesting)
Given the fact that he reads slashdot, the people here are NOT total random strangers. No doubt he knows they are more technically minded than most.
Some here are very familiar with the IT/computer industry and have a good idea what's coming down the road technically in the future. Of course I'll admit that some advice here should be ignored, but I'd be willing to sift through it to find the good ideas.
Personally, I am very interesting in finding out what the slashdot crowd has to say about this.
Re:Learn Java (Score:4, Informative)
India is not the whole problem (Score:2)
Firstly dude the average Indian developer of equivalent experience to the one making > $75000 would be earning about $20000 or more in India. And lets say that the company where this guy is employed will charge the US company about double his salary, so about $40000(thats the norm).Its less but not that much less.
Secondly, did you know that there are more CMM level 5 spftware companies in India than anywhere in the world? And normally such companies produce extremely high quality code. Atleast that has been my personal experience. Ofcourse there are many small no-name companies too, which I dont know anything about.
And I will say thats capitalism. I think the west preached capitalism to the developing countries mainly to get their markets open. Listen to what IMF is always telling Argentina and other such countries. So effectively capitalism is fine as long as the Western companies get access to developing world market, as long as they can charge the developing world high proces for their patented drugs and things like that, but when the developing world tries to do the only thing it can do, i.e, provide cheap and qualified manpower, the west starts having problems??
Re:India is not the whole problem (Score:4, Insightful)
The real problem is greed. Do coders over here deserve 70+k a year? Most don't. However, does top management of companies over here deserve >100k/year? Very few do.
That management wants to protect their jobs and salary so they see an easy solution. Farm out all development to slave labor err I mean India.
Now if that development out of the country was taxed at around 100-160%, then both sides would win. The Indians would still get some jobs, the "West" could comete and still pay taxes over here for schools and hospitals etc.
Re:OSses to know... (Score:2, Insightful)
Not at all true. As an IT manager in my shop (which is fairly typical) we have a lot of 98 desktops but the new ones all have XP (MS first good OS IMO) this OS is very different from 9X series so get a little familiar with it. We also use Unix (AIX and Unixware) as well as Linux. Most other MIS guys I talk to have similar content though maybe different flavors.
Re:You should master Unix / Linux and CISCO IOS (Score:2)
Cisco is dead! Nobody is doing networking any more. It's so 1990s.
The real money can be found by obtaining your MCSE. It takes a lot of engineers to make Exchange a functional mail platform, and with patience and persistance, you could be one of them!
(This message brough to you by a die-hard Cisco guy...)
Re:MOD PARENT UP, he/she's right! (Score:2)
I'm surprised how true this has held up. Don't get me wrong, about 1/4 or so of the Indian developers I've worked with have been topnotch--and, as far as I could tell, paid about as well as me. But those other ones? Terrible, terrible developers. Between the language barriers and a general scattershot approach they to every problem, they're really worthless.