tags:

views:

213

answers:

7

Hi,

This is to all the experienced IT professionals out there. I need some advice so that I can target the right job rather than look for some job. I am interested in enterprise software development in general. I have a masters degree in computer science. Like any other entry level IT aspirant, I am looking for good job growth, nice perks and also job security (which doesn't go away in recession :)).

System and data base administrators earn well, but there seems to be less number of jobs. Web development pays less and is mostly outsourced. Enterprise architects are doing well. Are there good number of openings for system programmers?

I think one obvious choice is to choose between a software development company and some company which has a IT department. My consultant cousin says that majority of the enterprises use software packages like SAP which have good demand. I think recession affects these guys more. But they seem to earn more. Which is the right job in an enterprise IT department?

In short, what advice would you give to an entry level IT professional so that he can move up the ladder working with increasing pay till he retires at 60 ?

+2  A: 

For an entry level job you will want to get into programming or web development. Those fields are not related, by the way. If you wish to continually rise in your career you will need to progress towards business experience away from IT or gain security experience. Let me elaborate.

For an entry level job programming demands more competence and tends to pay better than web development starting out because web development demands knowledge that is earned through experience opposed to be linked directly to a skill set. A senior web developer is, as a result, more valuable than a programmer unless that programmer has legacy systems knowledge that is not easily replaced.

You can rise into management purely from a programming or web development background, but you will not likely become any sort of executive strait out of an IT only background. If wish to rise continually you will need to progressively focus less on technical experience and focus more on business skills. Business skills primarily include communication, administration, market/product analysis, and finance. If you wish to become an executive you will have to learn to be brilliant with at least one of those in addition to mastery of your technical background or gain an education in business.

The short cut to the top is security management. Security managers tend to talk directly to the executives in their organization if they are to have any sort of effective role. Competent security managers tend to require several years experience in multiple security roles with a strong web or networking background and some business management understanding. As a result senior security management is not the easiest job to acquire and carries massive responsibilities, security will never go away. Security management pays very well and is very secure. Technical executives must have some knowledge of security anyways even if it is not their primary responsibility.

Traditionally security focused exclusively upon networks and network security. This is going away since 95+% of all reported security vulnerabilities are now related to client-side scripting from the web. Networking knowledge is less important to security than it used it be, but it is still required. The solutions and management of security occur over networks because it is too costly management machines uniquely in large organizations.

"95+% of all reported security vulnerabilities are now related to client-side scripting from the web" [Citation needed].
Si
http://eval.symantec.com/mktginfo/enterprise/white_papers/b-whitepaper_internet_security_threat_report_xiv_04-2009.en-us.pdf
Network devices, end-user systems and other servers or applications collectively made up 44% of recorded attack pathways according to http://www.verizonbusiness.com/resources/security/reports/2009_databreach_rp.pdf (page 19)
Phil.Wheeler
+1  A: 

It depends on what your skill set is but I think working for a small company is a great way to start. You get to try your hand at just about everything - programming, database design, some network administration, QA/testing, web development... just about everything you want. Try that for a couple of years and see what you like. There is always time to specialize and move up the ladder later on. In my case, I like variety so I've worked for small companies for over 12 years and still enjoy the chance to do several different things during the week (often in one day). A small company is a good place to see what's available.

TLiebe
+2  A: 

For one thing, you can put Enterprise Architect out of your mind - there's a long road to travel before you reach those lofty heights.

I would suggest focussing less on the remuneration and more on the scope for advancement within the company, the company culture and the sorts of projects they work on. Being part of a development team that works with a varied number of projects and technologies will build up a good level of experience and allow you to identify which job roles you relate to more.

In terms of answering which is the "right" job, that depends entirely on what your needs are. When you're just starting out in your career, you will want to gain as much industry experience as possible. Try to find a role that allows you customer-facing contact, has you involved in the whole end-to-end process of requirements gathering, analysis, design and build through to maintenance and support. Much of this might not appeal to you if you're only interested in cutting code, but it will improve your marketability, show you are versatile and have initiative and in turn open more doors for you further down the track.

In short, your best asset to start with will be varied experience.

Phil.Wheeler
A: 

I agree with the small business experience. I have been with a small IT company for five years now and have gained experience in multiple industries (from mortgages to warehousing) as well as many technologies (web development and programming). After gaining some of the technical experience I was able to move up into management.

I would highly recommend getting a job at a small IT company as it will propel you into your career quickly. You will be forced to think quickly and efficiently. It will also expose you to multiple business functions as well as technologies. Try this for 5 years and then decide what you like.

The best piece of advice I've heard was from a successful CFO: "Work for someone and make all your mistakes at his company. Then start your own."

Gain as much experience as you can now. With the recession we're interviewing the "specialists" who have been at the same company for decades and their skill set is no longer relevant. Make yourself as valuable as you can.

Arthur Miller
A: 

These guys are developing fairly interesting software, though they tend to hire more EEs than CS people as software engineers:

http://opensource.arc.nasa.gov/

Anon E. Mous
A: 

If you were still in school, I'd say the best first job could be an internship. You get a chance to test-drive the company, see how they treat you, see if you like the work, the people, and the organizational culture. If you don't like what you see, you simply move on after the internship ends. If you have a positive internship experience and the company likes your work, the job search becomes much easier for both you and them.

Since it sounds like you're done with school though, consider looking at what areas outside of IT you're passionate about. So many industries need information technology that you may be able to build your experience and skills working for an organization that does something you believe in. For me, it was writing software for the Washington Post (print, not online) as an intern. For you, it could be something far different.

Previous answers have advocated for small companies as a start. But given some of the things you want (good job growth and nice perks specifically), a small company may not be right for you. Larger companies are more able to offer perks, and job growth (in the form of promotions). Larger companies tend to have more financial resources as well, so they can send you out for training, offer tuition reimbursement, employee stock purchase plans, stock options, etc.

If you're familiar with Stephen Covey's 7 Habits of Highly Effective People, you know about habit 2: begin with the end in mind. When applied to your question about the "best" first job, I think it changes the focus to what you want your career to look like. If your ultimate goal is to have your own company, the best first job, second job, etc will be one where you gain the kind of experience that will help you succeed as a business owner. If enterprise architect is the goal you want to reach, jobs that provide the experience you'll need to fill that role are the ones to pursue.

Phil Wheeler's comments are spot-on when it comes to marketability and versatility. Too narrow a focus, particularly in a technology or in anything that can be "commoditized" means that what you do can be more easily outsourced to a low bidder. It's important to be your best at the technical aspects of a job, but don't let that be all you bring to the table.

Regardless of what you ultimately choose as your first IT job, I highly recommend a book by Chad Fowler titled The Passionate Programmer. It has tons of practical advice that I find very useful, even 13 years into my career.

Scott A. Lawrence
A: 

The best job you can have is the job that comes with a mentor. Someone who can teach you the tips and tricks that they don't (and can't) teach in college.

Small companies are definitely better at this and you will often get a wider range of experience

Fortyrunner