Today I got to address some 18 year old young men at the all-boys Catholic High School I attended at their career day about the IT field. It was a great experience for myself, and I think some of the students enjoyed it. My time was limited in addressing them, so I decided to write this blog post of advice for young people. Some of this advice was in my talk, and some wasn’t. Also, while I’m a big proponent of Women In Technology (WIT), I did not get to address any young ladies since my high school’s studen body is all male. Therefore, I hope someone will make their daughter read this.
One thing I touched on pretty well in my talk was lifestyle choices. In IT you can work in a city or a suburban setting. You can work for yourself, or you can work for a company. You can work for small companies or large companies. Some jobs will let you go home at 5:01, and others (like video game development) will have you working 90 hour weeks.
This leads to several related peices of advice. The first is of course to take advantage of this by considering these factors when applying to and accepting jobs. The second, somewhat contradictory advice is try to work in several different types of work environments when you’re young and single. Finally te third is try to be your own boss when you are young.
The first peice of advice is pretty self explanatory, but it bears emphasis. To often people worry about salary, and foget about what brings happiness and fufillment. Its easy to get chained to a pair of golden handcuffs. Money is important, but happiness and fufillment are the ends. Money is just one of the means.
The second peice of advice contradicts the first because to work in a lot of different places, I’m suggesting you take jobs where your not comfortable in the environment. However, its for the learning experience. Sometimes you need to know what you like. I always used to think I was a large company person. I now know that I actually like dealing with a medium sized number of people. I know this from working in places to big for my taste where I had to work with people that I could not build interpersonal relationships with due to the infrequent nature of our interactions. I’m now happier in smaller setting because I don’t feel a longing to work at a really big company.
The third peice of advice is to start your own company when your young. Because I did this I know I don’t like being my own boss. Most small business owners love owning their own company. Some think everyone should own their own company. However, that view is very myopic. Some people are happier with their responsibilities boiled down to a narrow set of tasks, with a steady paycheck for a reward. I am one of those people. You might not be one too.
Another thing I talked about was how to learn outside of school. The two aspects of this I addressed is being self motivated to learn, and contributing to open source projects. A third aspect I’d like to talk here is finding and being involved in online communities.
One thing that attracted me to IT is the lack of formal barriers of entry. Some people do not like this about the field. Regardless, thats the nature of the game. Since there are no license requirements for IT, there are no continuing education requirements. In regulated fields like law and medicine, there are continuing education requirements. Just like a high school student will learn as a result of doing what his or her teacher requires of him, someone in a licensed field will do the minimum to keep abrest of advances in their field by fufilling their legally mandated licence requirements. In IT this does not happen. Some companies pay for training. Few will ever mandate it. The drive to adopt new technologies in many organizations is usually bottom up not top down. When I decided to learn Windows PowerShell, no one told me to. My boss didn’t ask me. My coworkers weren’t using it. I decided to learn a new scripting technology to work more effeciently. I introduced it to coworkers.
One way you can keep up your skills is by contributing to open source projects. Contributing to open source gives you an opportunity to do work that others will benifit from outside of a commercial setting. Its something good to put on your resume. Also, many successful open source projects have pretty strict submission guidelines. The feedback you get from a rejected contribution can make you a better coder.
In addition to being involved in open source, get involoved in online communities. Read blog articles and comment on blog articles. (Nothing makes a blogger happy then feedback!) Write your own blog. Ask and answer questions on stackoverflow.com, serverfault.com, and superuser.com. Create a twitter account and follow tech bloggers on twitter. These things will help you grow, and to learn what new trends and technologies are out there, so you know what to learn about next.
In conclusion, I have one last piece of advice. Try to cross train outside of your intended specialization. If you are a programmer that doesn’t understand system administration, you will probably write code that is hard to deploy and maintain by the sysadmins that will do it. If you are a sysadmin that never programmed, you will probably have a hard time using scripting to automate tasks.