Advice for breaking into the field
I've noticed that the majority of the questions that get posted on this message
board are written by people looking for advice on how to "break into" the
IT field. Rather than replying to each and every one of them, I thought
I would post a general message with my thoughts on this subject.
First of all, let me start by saying that my only qualification for writing
this message is that, even though I have worked in the IT field for a number
of years, there was actually a time when I was in the same boat as many of
the posters on this message board. I was out of school, working in an unrelated
field, and looking to get a software development job. At the time, I had
good book and classroom knowledge, but no real relavent programming experience.
My first piece of advice to "know thyself". This is so basic that it is
often overlooked, but I still think it is worth saying. Specifically, you
should ask yourself two questions. First, why do I want to get into the
IT field, and second do I have the ability to succeed in this field.
There are a lot of people who want to get into the IT field because of the
money and the large number of job opportunities out there. However, there
is more to life than money and opportunities. You need to ask yourself if
you think that being a software developer/network administrator/whatever
will be a rewarding and enjoyable experience for you. Will you enjoy getting
up in the morning and going to work? I know that as a software developer,
I thoroughly enjoy what I do and I couldn't picture myself doing anything
else, so for me it was a good decision. However, there are a lot of people
who think that working with computers is boring and tedious. For these people,
all the money in the world probably wouldn't satisfy them.
The other question is also an important one. Even if you are totally in
love with the idea of working in the IT field, you may not have what it takes
to be a good performer. People who do well in this field seem to have what
I'll call good "IT aptitude" for lack of a better word. They are problem
solvers who can think logically and pay attention to even the smallest details.
It is a fact that some people have "IT aptitude" and some people don't.
If you don't, it is nothing to be ashamed of. It is better to admit to
yourself that you might not be suited to an IT career before you devote a
lot of time and energy to it. If you aren't sure about what your "IT aptitude"
is, there are tests that you can take that will measure it for you.
Now that you have convinced yourself that a career in IT is for you, you
need to learn the specific skills that will get you hired. IT is a broad
field, so you need to narrow your focus. There are several broad areas,
like software development, network administration, and web site design.
In addition, each of these broad areas have specialities: specific languages,
platforms, tools, etc. Select an area that you are interested in concentrating
in, and start learning about that area. Some people do this through books,
while other do it via classes at a college or a training center. I'm in
favor of going the academic route, since I think this is the best way to
the fundamentals, but I understand that this isn't an option for everybody.
The key is to start learning and get in the habit of learning constantly.
The IT field is always changing so it is important to keep up with new things.
The next step is to get some real world experience. Most employers like
to see this on your resume, and for good reason. There are so many things
that you can't learn from a book or in a classroom, but only through actually
experience. Of course, this is a classic Catch-22 situation: how can you
land a job without having job experience?
One thing you can do is to try to apply your new IT skills in your current
position (assuming that you are still employed in some other capacity).
If you are working at a small company, this is easier since at most small
companies people have to wear more than one hat. Offer to set up the company's
new computers, or redesign their web site, or write some VBA macros. Offer
to do anything that would let you apply your IT skills in some way. This
will give you something work-related to put on your resume.
If this isn't possible in your current situation, you have other options.
One is to offer to work as an intern at a lower rate of pay (or free if
you have to). You are trading current income for the experience which will
enhance your future income. Another is to try and find a job which combines
your current job experience with something IT related. For instance, if
you have experience as a stock broker, and you want to switch over to being
a web site designer, try to get a position as a web designer for a financial
company. Your industry knowledge and experience gives you a huge advantage
over a "bithead" who never worked in finance before. Basically, you need
to be creative
and flexible when looking for that first job.
Here is some specific advice for those of your want to become software developers.
I would start by picking a programming language that you are interested
in, and learning it. The most popular languages out there right now are
C++, Java, and Visual Basic. If you start with any one of those languages,
you can't go wrong. I'm biased toward C++ since I think learning that teaches
you the most about programming, and it is used on almost
every platform for all different types of applications. On the flip side,
it is probably the most difficult to learn. This can be an advantage, however.
After learning C++, Java and Visual Basic will be a breeze to pick up.
Eventually you will want to learn all three, plus anything else that you
can get your hands on. However, you have to start somewhere.
Once you have a language under your belt, you might want to consider learning
more about the software development process and about the "art and science"
of writing programs. Knowing the syntax of a language is one thing, but
knowing how to use it well is another. Consider taking a class on Software
Engineering, Algorithms, Object-Oriented Design, or topics of that nature.
These types of classes might not teach you about the latest programming
fad, but they help you to be a better, more well-rounded developer.
I hope that those of you looking to enter the field have found my thoughts
on the subject helpful. Best of luck to you in your future endeavors!