Which IT Careers Are Hot and Which are Not?
necromante asks: "I've been working on different IT positions through my career: support; some networking; DBA; web development; project management; even working on the client side for a little while. However, I don't feel like I am really a specialist on any of those subjects and I feel I need to focus on a particular field. So, I decided to ask for some feedback before making my decision. I understand that this depends everyones tastes, likes and dislikes. However, I would like to have a better idea of which are the available options, and I hope the results of this discussion can benefit other readers. Is there any IT career that I should consider more than the others? Which are the emerging fields? Is there any industry I should focus on in particular? Which careers on IT are actually more in demand and which ones not? Is it a better path to focus on moving into management?"
I've worked for a number of people and myself one thing that seems to come up is that good techies don't always make good managers. So don't assume that managment is right for you (or that you would even enjoy it).
Cheap UK and US VPS
A lot of demand has to do with your demand knowledge. I don't know if you could say with a broad stroke that devs are in more demand than DBAs or whatever. If you have financial experience for instance, demand is pretty strong across the board. You need to consider the industry you want to work in as much as the role you want to play.
When you were young, did you ever play video games with an older sibling where they played and you watched? Your brother would insist that you were "a team" and wouldn't let you play. Being a manager is like being the little brother, but you do get to fire the other guy if he dies five times in a row on level 8-2.
Seriously, if you like something, why stop doing it and start just watching people do it?
Oh, money.
Use the Firehose to mod down Second Life stories!
Personally, I value breadth over depth. And I'm going to propose a reason why everyone should also: in the world of computer science, at any minute a once vital skill could be obsolete. Granted, it doesn't happen often (as we still need workers to maintain cobol & fortran code) but, instead of spending my free time hunched over Enterprise Java Bean projects learning their delicate intricacies, I find myself learning about Ruby, Spring, Hibernate, etc. Now, I might not be an expert in any of these fields but I may be glad when their time comes. All good things come to an end--and if EJBs were to be retired, I'd certainly like to know my way around these other frameworks & tools. I think the same can be said about fields of computer science. Be wary of the web developer that doesn't know the first thing about networks & server/client communication--that's often a pitfall for security.
So if you want my honest opinion about which "are hot or not," I think they're all pretty damn hot and I bleieve you can find money in any job where you make yourself usefull & valuable to a decent business. I find them all attractive because I enjoy setting up networks in my house and playing network administrater even though I don't do it at my job. I love networking Linux, Windows, FreeBSD, Solaris, etc. and I like toying around with different databases. I love to start new projects that rarely go anywhere but leave me with more understanding of how technologies or products work. I'm not a "trained expert" at any of them though, most importantly, I feel that I could easily become one if a situation deemed it necessary. If you don't enjoy doing some of these things--DON'T DO THEM. Who cares if they pay alot or are "hot"? I'd rather die happy & poor than rich & sad. Of course there is, it's the career you enjoy the most
Choose your path wisely.
My work here is dung.
I think it all depends on the person and what they like. I'm currently an IT Project Manager while dealing with managers and I can't stand it. My goal is to get another Sr. Systems Engineer/Manager position that entails working with various Operating System environments (Solaris, RH, Windows, etc.) while doing IT projects (rollouts, migrations, etc.).
Again, you need to decide on what you feel is right. Obviously, money always come into play here, but it seems like you already have a wealth of information and a broad spectrum of experience that you have the capability of going into any IT arena.
Good luck.
Where I work, the opposite tends to happen. If you're not that good technically, you tend to bubble up to management. I'm not saying they're complete idiots, just that they're not the best technical people. I still don't think it's the best way to find good managers though ... they may suck at that as well.
Almost all areas are 'hot', but that doesnt mean anything. The one that will STAY hot for you, is the one that you love enough to continue your education throughout your career, and dont just pick someting to do for a paycheck.
If you love a particular area, your constant learning and improvement will lead you into related areas and keep you relevant throughout your career, you can move into consulting, writing and development within your chosen area and never miss a beat.
Never chase a paycheck.
"Choose a job you like and you will never have to work a day of your life" - Confucius
That's one of the better quotes out there. I've been in the Unix Sysadmin/Programming areas
for 10 years now and while I haven't found it all easy going and wonderful, I DO like what
I do, which is a huge advantage to quality of life in a career.
Pick something from the areas you listed that you enjoyed and work at it. Don't be too
concerned about "what's hot". If you have the fundamentals (such as a CS degree or equivalent experience) you will be fine.
Best of luck.
Eagles may soar, but weasels don't get sucked into jet engines
Today's "hot" career is tomorrow's outsourced to India dead-end job. Stop caring what's popular and focus on what you like doing the most. If you like doing all sorts of different things, then keep on doing that!
It doesn't mean much now, it's built for the future.
I have to agree with this. I'm a business owner, with a partner. I'm the hardcore techie here, while my business partner has a background in video production and marketing. He tends to take on the true management role here while I worry about actually getting the work done. It works out well as I'm not a great manager but I can get the work done when it needs to be.
The thing I have noticed is that a lot of people in a more technical role feel that they would be better in charge but in reality would probably just hate the position. I love being in control (hence owning my own business) but at the same time I'd rather leave the more managerial duties up to my business partner while I really worry about the technical side of things.
I have been a manager at a few places and while I did a decent job and my staff liked working for me, but I didn't enjoy the role as much as I enjoy being in the forefront with my technical skills. I did learn a lot about running a business from these positions which is a benefit now, though, and don't regret having been a manager. I just didn't enjoy it.
rm -rf
It happens in a lot of places and it's called the "Dilbert Principle". Unfortunatelly, it is usally a self-sustaining process.
About ten years ago, I sold my soul to Microsoft and haven't regretted it yet. I work for a healthcare organization that's a Microsoft shop. I started as a database developer, switched to SQL Server administration, and have been a web developer ever since.
I personally prefer development over administration. Being a database administrator was a lot like being a firefighter. There were long periods of boredom where everything was running smoothly, coupled with late night crisis modes with huge pressure to get critical systems running again.
As a web developer, I get to do database work as well as creating web applications. I create a lot of things to make people's lives easier, some of whom are patients to our hospitals. It's interesting work and I get fairly generous praise heaped on me by coworkers and customers. The really crazy thing is that they pay me quite well to keep doing it.
"support; some networking; DBA; web development; project management; even working on the client side"
.NET enterprise software engineer, with solid proficiency in SQL Server 2000 and 2005 -- at a large company with a variety of dedicated resources, I wouldn't call hire on as a DBA, but at a small or medium size company, I would feel quite comfortable doing so. I can hack my way through server and network administration, but mostly in a development role -- I wouldn't sign on as anything more than an entry-level role in server or network engineering. (And I wouldn't even sign on for entry-level, because software is where my heart is at.)
These aren't fields. They're roles. They're roles that will always play a part in IT. As others have mentioned, you should focus on what you like. At the same time, don't become overly-specialized -- if you pigeonhole yourself, you risk your job security in the long run.
Personally I'm a
"Web development" has become a silly term. Be an engineer, know the technology, and desktop vs. web won't make a difference. Be a "tech," and again, you're pigeonholing yourself, and putting long term job security in the pooper. Make sure you're proficient in current technology, but keep an eye to the future. Attend user group meetings. Attend industry conferences.
You shouldn't base your future on specializing in one of these roles you've specified, unless that's what you want to do, and nothing else, ever. You're better off exploring theory, being capable of applying practice. Improve your communication skills. Learn something new every month. Read the Pragmatic Bookshelf series, I think they might help enlighten you. Read well-known works, the classics, the new hotness. I can't say it enough: don't pigeonhole yourself.
I am, therefore you think.
What's wrong with being a piano player in a whorehouse?
"Be an engineer, know the technology, and desktop vs. web won't make a difference.
It makes a difference to every HR person.
The Kruger Dunning explains most post on
Based on job postings on various popular tech boards: 1. SAP 2. .NET
3. JAVA/J2EE
Reports of every IT job in the US moving to India have been greatly exaggerated. Indian salaries have been experiencing double-digit growth over the last decade and are now reportedly 50% of US salaries for similar positions. I predict that in the next decade there will no longer be a compelling business case to offshore all but the largest development projects.
From what I've experienced again and again and again is that one of the reason (and there can be others) that techies don't make good managers is that they try to live in both worlds. The new techie manager still wants to get his hands dirty doing the day to day work. Part of this is that they are don't trust others to do it "right" or they are afraid of losing their technical skills. The new techie manager never really gives him/her self over to the dark side of management.
First of all I will say that I have worked mostly in software development in my career, although I also have some UNIX system administration experience in my background. Because of that, this is focused mostly towards software development although some of it applies to other IT functions as well.
Next I want to clarify my own personal definitions. I define Information Technology (IT) as the group that provides technical expertise to a company in order to support their business needs. For example, if you work for a bank, you maintain the computer hardware software that allows the bank to make a profit by providing financial services. You aren't really directly contributing to the bottom line, since you aren't creating a product or service that the bank sells, but you are critical to their success.
The flip side of that would be Software Engineering or Technical Consulting, where you work for companies like Oracle or Microsoft or IBM. Although those companies have IT departments, the positions I'm referring to are the ones where you produce a product or service that is sold to customers to generate revenue. In this case you ARE directly contributing to the bottom line.
What I see in the industry is less of a demand for actual software development in the corporate IT world. In the past, companies needed a software development group, because they developed all their software in-house. If you worked for a tire manufacturer, and your company needed an accounts payable system, you would often develop and support it yourself. Now, that same company would be much more likely to purchase an ERP suite like SAP. If you needed needed technical customization, you hire consultants and/or contractors to come in and do the work on a project basis.
This is also true of help-desk and even networking/system admin functions. We're seeing more and more of those commodity-type positions being outsourced to third-party providers, especially in larger corporations.
So... my advice to someone just starting out in IT would be similar to what has already been said. If you really want to stay technical and go into hardcore software development or system administration or something, try to get jobs with companies who make that their focus, or else be prepared to work as a contractor or consultant, traveling frequently from project to project.
However, if you want to truly be successful in corporate IT, try to get as broad of an experience base as possible. Ideal IT candidates in the future will have broad experience in both hardware and software, and also the communication and people skills to help leverage technology to solve strategic problems. Working in the IT department of a big corporation will mean that instead of writing that accounts payable software package yourself, you will be identifying the requirements and coordinating with the different vendors to get the job done. You will still need technical knowledge, because you will have to be able to communicate with the consultants/contractors/vendors, and you will performing the integrations between the systems. However, you might not be slinging code all day.
Just as a disclaimer, I will repeat that this isn't a 100% rule. There will always be a need withing corporate IT departments for software development, because companies will always develop creative solutions to give them a competitive advantage over their competitors.
If you're just starting out, my recommendation is try several areas of the technology field and figure out what makes you happy. Being happy in your job is much more inportant than just money, in my opinion. If you don't like what you're doing, try something else. Having a broad experience base can only help you in the job market of the future.
I've had a pretty successful career, totally by accident, so here is my advice.
.net or Java? Are the more jobs available for an Oracle DBA or a Microsoft SQL DBA? If that is your primary consideration then you will probably be beaten out by the people who are passionate about their career choice and made it for other reasons. Honestly if you are really excited by databases (you sick bastard) then you should be interested in working with all of them and learning as much about both DB theory and the specific implementations as you can.
Do what you enjoy. That's it.
Everyone I know in IT who really enjoys what they do (to the point where they would probably do it as a hobby for free if they were independently wealthy), ends up being successful. They are passionate and competent, likely not because they are inherently smarter than anyone else, just that they spend more time learning, experimenting, and playing around with the technology they like and work with.
I also know people who picked their IT career (and decided to go into IT to begin with) based solely on the job market. Will I make more money with
There are jobs out there for everything. If there is something out there that really gets you excited go for it. If you learn quick, really throw yourself into it and know your stuff, you will find employment. It might be more lucrative in the short term to trend hop, but if all you are interested in is the possibility of making big bucks then you should forgo IT and go into something like hedge fund management.
Me? I really dig identity management stuff. I've worked in academia with SAML, Kerberos, and PKI and in the corporate world with Oracle and Sun's IdM tools. A word of warning though: Find a field you enjoy, but do not get too hung up on a specific technology. I'm happy using my knowledge and experience in IdM to work with Infocard, SAML, PKI, LDAP, NIS, Xellerate, CoreID, Kerberos, AD, etc. I have my opinions as to what is best for what need, but I try to not be too much of a snob about it and limit my career that way. I've seen a lot of people go the "horse and buggy" way by latching on to a specific technology and refusing to let go when the world moved on.
Finkployd
The new techie manager still wants to get his hands dirty doing the day to day work. Part of this is that they are don't trust others to do it "right" or they are afraid of losing their technical skills. The new techie manager never really gives him/her self over to the dark side of management.
You see, that IS the real "dark side" of managment -- when you become a micromanager or some other type of manager that constantly second-guesses their employees because you "know better." Even worse is the type that is constantly trying to make people prove themselves to them by withholding information to see if their subordinate is "smart enough" to come to the same conclusions (and then berate them if they don't either due to a difference of opinion or a crucial missing piece of information).
I've had four jobs since I entered the IT field. Every single manager I've had was a former programmer with the exception of one boss's boss (who was entirely awful because she was more interested in office politics and backstabbing for advancement... but I digress).
All the good bosses I've had gradually abandoned the programming side and learned to act as mentors. They used their knowledge of the system to give pointers on where to look when you were stuck on a problem and trusted you to get things done, only prodding every now and then when a schedule was threatened. All the bad bosses I've had (save the one mentioned above) second-guessed you constantly and either went around your work to put someone else on it (like themselves) or constantly made you justify ever single moment you spent your day on. In both cases, the attitude comes from the thought that they could do it better if they didn't have to do all this management crap instead.
In other words, the secret to going from a technical role to being a good manager is learning to let go. Use your skills and knowledge to aid your subordinates and shield them from upper management by understanding what they are doing. If necessary, use you knowledge to call their BS if they're actually slacking, but don't envy them or treat them as irritating time-wasters blocking you from doing "your real job." Otherwise, you're just demonstrating the Peter principle.
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
Small shops should and do love JOAT folks, but they may have trouble hiring them.
If a shop is large enough to have an HR department (complete with screeners) it's hard to get a foot in. It's often difficult to get a position open to hire for with the designation Jack of All Trades. Uppers don't understand, and HR certainly doesn't. (Thats a common situation, but not a rule.)
If they do get that designation, starting salary for the job will be somewhat low, because that designation will be of lower status than an "expert".
And small shops tend to pay less than big ones in the first place.
This wouldn't apply at all for a shop consisting of just one or two people, but then, they tend to pay VERY low salaries.
For the record, I'm a JOAT, too, but have been involved in a bunch of hiring.