I realized recently that I’ve now been a software engineer for over ten years. For a recent college grad, that seems like an eternity, to a retiree, it’s a drop in the bucket. But right now it seems kind of surreal. I’ve made a ton of mistakes, had my fair share of victories, and learned a whole lot. Here are the things that have stuck out the most.
When you’re in IT, every employee is your customer. Be nice. We all have bad days at work. We all have some customers that are easier to deal with than others. Keeping your cool, being patient, and working through a difficult customer will only help you in the long run. Pointing fingers, dishing it back, and a spiteful attitude will only make it worse, and more often than not, prolong the project.
Fake it ‘til you make it is alive and well. As a programmer, you’re often asked to program things you’ve never done before. It’s best to not panic in such instances, which goes completely against my narcotic nature. But questions can always be asked later. And when in doubt, Google is always helpful.
Own up to your mistakes. Every employee makes mistakes. In a program with thousands of lines of code, one incorrect line can bring the whole thing down. The quickest route to freedom is simply to fess up, with a plan on how to fix it prepared of course.
Do your documentation. Documentation may not be fun, but whoever inherits your project someday will love you for it.
An IT degree does not always equal good instinct or knowledge. Some of the best people I’ve worked with have never even gotten close to completing a standard college degree. Many things that you do in IT were never taught in a regular classroom, so judging a coworker’s knowledge base by their education is often a complete waste of time.
Think twice before hiring a contracting company. Each project is different, and each company is different. Before hiring a contractor, be sure that the project really requires it. Do developers on your staff already have the knowledge necessary to complete a larger product? Sometimes in the long run, getting the intricacies of a complex project right with an external source ends up taking a lot longer than completing it in house. Also, be sure you do your research on the contracting company or you could end up with quick code that doesn’t do much.
If you don’t have time to do it right now, you’ll have to do it over later. We’ve all been there, haven’t we? Some big executive somewhere wants a project and doesn’t care how it gets done, but they want it done ‘yesterday’. Sometimes in these situations you can push back and explain why that’s not going to happen. Unfortunately, unless you’re the one calling the shots, this one you just have to accept as a fact of life and move on. And of course, pencil in reviewing and correcting that application next week barring any other ‘emergencies’.
Get out of your chair every now and then. Desk jobs can sometimes suck you into your own space pretty tightly. But there is a world outside of IM, email, and social media websites. Not only will it help you relax, sometimes just taking a couple of minutes to go grab a coffee break can break a rut or bring some fresh ideas. And making friends with your coworkers will make projects that much more fun.
Some of these were incredibly hard lessons to learn. And a couple of these, like the last one, have been relearned several times. But technology in particular is nothing if not a constant whirlwind of new ideas, certain to make what I learn in the next ten very interesting!