Career Advice

I am a senior in college; I will have a BS in Computer Science upon graduation.

It is my intention to become a network engineer straight out of school. I will pay off my debt in one year. After that, I am unsure of what I want to do.

I like the idea of running my own business, and the autonomy it would provide; I would answer to no one, which is how I prefer to work.

Recently I went to a practice interview, and in the review of the interview I was told that it would be a good idea to work for a company with people more experienced than I, which would help further my ability and prepare me to work for large companies or run my own business.

Frankly, I have no desire to work for large businesses. I feel that in bigger businesses, the business collapses in on itself and stagnates. I don't want to work in an environment in which there is a process for doing everything, and nothing is going to change.

The interviewer warned me that in working in a company in which I am the most skilled individual (in regards to computing) would cause me to stop growing.

I see his point. At my current employment, that is the situation I am in. These people are amazed at the existance of open source; a small company that was in danger of being swallowed by Microsoft. At times I feel like I am trying to discuss brain surgery with a child.

Yet, these people also have a great deal of expectations, because they have seen what proprietary systems can do. For example, as of now they have no "corporate network"; I plan on using FreeBSD routers to connect their buildings together. This will be challenging, and is just one example of the things that they have asked for. I feel that there is a great deal of opportunity for me to learn here.

In my freshman year of college (and third year of using computers in general), I joined the computer/network service team upon arriving on campus. It was made of a few school administrators, and a team of about 10 students. The majority of those students were seniors. Needless to say, I learned a great deal about computing at a rapid pace thanks to that employment. So I don't doubt my interviewer's advice; I doubt whether it is the best advice.

He suggested that I work for a smaller cloud computing company. Again, I am unsure of whether or not this would be the best idea.

What do you suggest? I have a good deal of respect for the FreeBSD project members; your thoughts would be most appreciated.
 
My current company employs 150 developers and about 3 IT people. That's basically IT in a nutshell.

Companies are trying to avoid employing IT people at all. That is a big part of this whole "cloud" thing. 'Cloud' is a simple way of saying "we don't want to deal with hardware or IT, let's get some big company to do it all for us".

I used to be in IT but got out because for every 1 cool server I set up, there was 100 times where I had to help someone recover a Word document or figure out why their MP3s weren't loud enough. There was also unrealistic expectations on my availability, and a constant need to train and learn new tools and software which I knew were flawed or useless.
 
I am still working on getting my B.S in Computer Science, but have been a Linux system administrator for 7 years for an eCommerce company, so take this with a grain of salt. My company has gone from being small with just 3 sysadmin (including me) to having up to 6 sysadmins, numerous devs, project managers, release engineer, and QA. I've been lucky to have experienced working for a small company, and growing in experience as the company grew in size. So here is what I have learned so far:

Small Company:
Working for a small company will more than likely require you to put on multiple hats and learn new skills on your own. This can be great if you are a self learner and like to do things your self. You mentioned working as a network engineer, more than likely, you will also be doing minor D.B.A, QA, development, etc. In a small company, you tend to build bond with your co-workers as you all depend on each other for the company to survive. This type of companies could be great if you don't know which field you are more interested in. However, keep in mind, that small companies don't have large networks, so your experience with networking will be minimal at best (our company initially only had one switch and one router).

Large size: Large companies are usually restrictive in the number of hats that you would be putting on, as they more than likely have an actual position for that hat. This is the type of company were you improve on your people skills, as often times you will be working with different personalities, many of which aren't compatible with yours. This is also the place were you will get a chance to improve your field, as your co-workers and boss can pass on experience. There is a chance that you can properly learn other fields if the DBAs, QA, and devs don't mind tutoring (doesn't happen often, but it does happen). Large companies also tend to get stuck in bureaucratic stuff which can be annoying and stagnate your learning. You need to watch out for that.

You mentioned starting your own business as you don't have to answer to anyone. I beg to differ. Your clients will be your boss and you will be answering to them and they often times don't have respect for you (I seen it). It will be a choice of learning to work with them, or not getting paid. This is were experience working for a large company with all its levels of bureaucracy come in to play.

To try and sum it up, I think starting out with a large company might benefit you in the long run, as long as you don't end up staying there forever. Then move to a small company and learn how small companies have to operate. You would probably be going backwards in salary, all depends how much time you spend in the large company. In my opinion that would lay the foundation for you to start your own business, although I heard of people do consulting their entire live and never worked for an actual company.
 
Quite frankly, I do not think networking would suit you best right after graduation. Well, it is a good discipline but in that area, there are a few demands and the competition is really tough with a lot of people with certifications and impressive credentials to boot. I am not saying that it would be impossible for you to penetrate that market but it would be a tougher climb as compared to taking the developer route.
 
i recently graduated and didn't know if i wanted to go Linux admin or developer. While i was leaning toward developer, i saw plenty of sysadmin jobs that i knew i was qualified for and also paid better than entry level developer positions. However, they are very difficult to get into. i interviewed with 20+ companies, only one that would consider me for IT (of the other IT positions one i didn't get past the phone screen and the others didn't get to a phone screen). Software on the other hand seems fairly easy to at least get to the phone screen.

About starting your own business. My most recent work experience was at a very small company which outsourced to a IT company that was organically grown. Most of the people there had some sort of certifications which seemed to mean more than degrees, also they were mostly windows admins. So, starting your own company is certainly possible, if what you want to do is networking i would suggest looking for a small company, maybe one that is lacking a product line (for example maybe they only have windows admin, you could pitch yourself as Linux/FreeBSD support and add that to the company's expertise).

Finally, i think it is hugely important to work with people who are better than me at whatever i am learning. i found this to be more true as i've learned more. When you know only a little about a subject it is easy to teach yourself quickly. As you gain experience it may be easier to learn from other people and those other people will tend to push your growth as they expect you to be able to handle more work as you learn.
 
Back
Top