BaBSE 5: Learn to Learn

Becoming a Better Software Engineer (BaBSE) is a series that I started at the beginning of the year. Every Friday I will write about something I’ve learned in the technology field (and mostly likely in the field of life). This helps further my skills as well as any other fledgling technologist or software developer that wants to learn. So, let’s get on with it, shall we?

There are two things that will always stay the same when it comes to software development (and anything in the technology industry in general) are:

  1. Things will always change.
  2. If you don’t accept the change and keep up with it, you will be left in the dust.

When you know these two things about technology it makes thing a heck of a lot easier, that is, if you are willing and able to learn quickly and efficiently. It also doesn’t hurt to actually love to learn new things.

Know your learning style

Some people need to learn new things by doing them while others can learn just by reading something or someone telling them how to do something. It’s important for you to know which learning style works the best for you because as a software developer you are going to be doing a lot learning quickly.

For me, I learn best with a mixture of tutorials, books, and hands on work. I find that I get a vague understanding of something by reading and then solidify it with doing physical work. Over the past year I have learned almost everything technology related this way and it’s worked well.

You better love to learn

One of the main reasons that I got into information technology and development was because I loved learning new things. This field encourages me to keep learning new and better ways to do something because information is always changing.

One thing that you should know about the technology industry is that if you don’t actually love to learn, the chances of you doing well and actually liking what you do are pretty slim. Like I said before, you have to be able to learn because this industry is constantly changing; if you can’t stand to change or learn something new, you are at a major disadvantage and will most likely end up bitter about your job.

No, it really doesn’t ever end

It’s funny when I start this though, “well, now that I got learning ‘x’ out of the way it’s going to be easier to do…”. That feeling lasts for about an hour until I realize that learning ‘x’ has opened me up to an entirely other set of things to learn as well as all the exceptions. Learning about software development doesn’t really ever end.

There were always be a new version of something, a new framework to try, new operating systems and languages to learn; always something. Being able to know your learning style and loving to learn will make this easier.

Learn to learn more than tech

The number one reason that this site isn’t totally about programming and technology is that alone does not make you a good technologist. Being good at anything doesn’t involve only that one thing; talent builds off of and around other expertise. When I wrote about becoming a technologist, I made the claim that there are 7 things that you will have to be good at to be a good technologist. Programming is just one of them.

Just as being a good human is made up of a bunch of stuff, so is being good at anything else. Learning how to communicate effectively (so many tech people can’t), understanding entrepreneurship and business, as well as learning about becoming and staying productive, will benefit you greatly as a software engineer.

So, rather than get out of school, learn for a couple of years about a job that you took and calling it “good”, we as technologists have to keep learning everyday to stay ahead of the curve and to make our jobs more enjoyable and productive.

Become a Technologist, Not a Specialist

My first job out of college last year was a Programmer Analyst position for Erie Insurance. I loved going into work, programming most of the day, and solving problems. What I came to find out though was that I didn’t want to be pigeonholed as “programmer” or a “developer” my entire life.

I wanted to be able to do more, learn more, and be more versatile in the IT field. Instead of being a specialist, I wanted to become a technologist.

What is a technologist?

According to the dictionary definition, a technologist is:

a person who specializes in technology.

That’s a little too vague for us. For us, a technologist is someone who specializes in the IT field, works on a computer most of the day, and wants to create businesses, software, and services with their IT talents.

Don’t limit yourself

Some people may think that if you are a generalist rather than a specialist then you aren’t good at anything; just kind of good at everything. This is a terrible way to look at it.

Why can’t someone be good at programming, design, understanding networks, and administrating servers all at once? People can be, and they are doing it all the time.

Sure, you can concentrate on one or two things and get really good at those things, but without the basis in everything else tech, then you are limiting yourself. So, don’t do that. Rather than being a specialist you should try to become a technologist.

It keeps you sharp

Being a technologist pushes you to learn new things all of the time. If you aren’t continually learning and improving your skills, then you are back pedaling and becoming antiquated. In the tech field, there is nothing worse than feeling and being antiquated, that is, unless you don’t really give a shit about your job or are just collecting money to pay the bills (which wouldn’t be in the technologist’s spirit).

Striving to have a general backbone of technology knowledge is a hard thing to do, but doing so will keep you sharp and wanted by companies, as well as give you the freedom to start your own business ideas because you can do a lot of the stuff by yourself.

It keeps you interested

Sure, if you specialize in something you can get really very good at it, possibly be the best at it, and die doing it. But, what about all the other fun and exciting things you can do when it comes to the IT field?

If I’m a straight DB Admin for a large company, I can’t just say, “hey, I think that I want to design the interface for our new customer-facing web app.” Even if I wanted to do this sort of thing, most companies would require that I have several years experience in front-end development and blah, blah, blah.

Generalizing your base tech skills will help you stay interested in the field. Sick and tired of learning about networking? No problem. Take a look at some jQuery and use it to build a more dynamic site.

How to do it

Rather than concentrating on one aspect of IT you should get a solid, base understanding of the following 7 things to become a technologist:

  1. Programming
  2. Computer hardware, software, and networks
  3. Design
  4. Usability and user interaction
  5. Business
  6. Communication
  7. Creativity

With these you are well on your way.

When it comes to any of these disciplines you don’t have to become the next great software developer or a Steve Jobs type of businessman (although you may). What you will do is become very familiar and comfortable with the above disciplines and then start to concentrate on one or more of them going forward. You will also make sure to keep up with new trends and developments with the 7 aspects in the years to come.

You can’t just learn these things once and call it good. You have to keep up with them to consider yourself a technologist.

Conclusion

Being a specialist isn’t all it’s cracked up to be. By being a specialist you run the risk of not challenging yourself enough, not keeping up with the times, and becoming antiquated.

By becoming a technologist, you will become well-rounded and give yourself a basis of technical and business knowledge to further your skills in the IT field. As I’m making the journey to become a technologist myself, we will revisit these 7 aspects.

Edited on Saturday 18, 2012 – I realized that one thing was missing from the 7 Aspects of Being a Technologist. Creativity. Instead of going to 8, I decided to put networking in with computer hardware and software.