10 Things Every Programmer Should Know For Their First Job

Hindsight being what it is, here are some lessons I have learned since entering the ranks of professional programming.

0000 - Being liked is easy
If you show up on time, dress decently, smile and don’t act insane then at least some people will like you. In fact, getting your coworkers to like you is fairly easy. Want to have a lot of friends? Have a bowl on candy on your desk and keep it filled. You will be amazed at how many friends you suddenly have.

0001 - Being respected is hard
Regardless if you have no experience or 20 years in the industry, no one respects you when you first walk in the door. This doesn’t mean they don’t like you, or will be unpleasant to you. This only means you haven’t done anything yet to give them reason to respect you. The quickest way to earn respect is to do good work. Not phenomenal work, not “breath-takingly beautiful” work, but effective and consistent work. Show people you can be counted on to both finish a job and do it correctly and you won’t have to worry about earning their respect.

0010 - Everything you learned in college is useless
You will learn more in the first 6 months of your first job than you did during your entire stay at college. And do you know what? Having a job is way more stressful. Because one day your boss is going to ask you to do all the great stuff you put in your resume. You know, all that stuff you supposedly learned in school? Well if you screw up, you can’t just take the course again next semester. Sorry, this time you just get fired. I saw this happen recently at my job. Some guy got hired for a specific project and got fired when it turned out he couldn’t hack it. Here is an interesting tidbit of information for all you first timers out there. Most companies have a probationary period for new employees. Something in the range of 30-90 days. And basically, if you screw up, turn out to be a moron or they find you lied on your resume then you are terminated without so much as a second thought. Just something to keep in mind.

0011 - Never stop learning
As the new guy it helps to go in with the mindset that says “I know nothing, but I want to learn.” This will make things less embarrassing for you when you learn just how stupid you really are. You have to realize that practically everyone knows more about everything then you do. The good news is that most people will gladly share their knowledge with you if you just ask smart questions and pay attention to what they do. Everyone likes to think their opinions and experience are valuable so don’t hesitate to ask for ways to improve your work flow. You can learn something from every person you work with if you just ask questions. Ask for tips, tricks, hacks, methods or anything else they might have a proficiency at. And watch how they use the command line. Everyone does things differently and there are plenty of arcane tricks waiting to be discovered. Poor (and/or older) programmers tend to think “their” way is the best and so they never ask for advice. Smart programmers are willing to accept the fact that there might be a better way of doing things. This means you have to be willing to switch programming languages, environments, operating systems or text editors. “What? Give up

< insert my-way-of-doing-things here >

? Why? Everybody knows its the best!” You have to get over that mentality. Oh, and it is both humbling and frustrating to leave the comfort of what you know to tackle something new. It sucks. Get over it. Programming is hard and being an awesome programmer is even harder. Cry on your own time.

0100 - You live or die by your text editor, so choose wisely
If you think I’m overstating this walk into a programming shop and ask which text editor is the best. The typical responses tend to be Vi, Emacs and some IDE (usually Eclipse or Xcode). In fact, you will probably be amazed at how many people still use Vi as their main editor of choice. (personally I think they should wake up and join the 80’s, but that’s me) The point is that if you aren’t using one of these editors you might have a problem. Go find one of the best programmers in your office and ask him what he uses. Then, nod sagely over his answer, print off a cheat sheet and start learning that editor. Quickly.

0101 - No one really cares what college you went to
If anyone asks you where you went to school, don’t be alarmed, they aren’t judging you, they are making polite conversation. If you can program well, then nobody gives a damn where you got your framed piece of paper. Want to know what they care about even less than your school? Your GPA. Don’t bother telling anyone it because it will make you look like a pompous ass. I can’t stress this enough.

0110 - Silence never goes out of style
New on the job and don’t know what to say? Say nothing. Nod and smile. Are people excluding you from their conversation? Chill. They don’t know you and you don’t know them. Give it time and most of them will come around. Making friends takes time. And yes, I know it sucks being the new guy. Been there, done that. I agree, it blows. But sometimes you have to suck it up and wait it out. If you aren’t a freak, and do good work then eventually you will become part of the team. The only way to rush this procedure is to be a smoking hot chick. Good luck with that.

0111 - You will meet odd, strange and unpleasant people, deal with it
Some people just won’t like you. Now, sometime this is because they have severe emotional problems and don’t really like anybody, so they hate you by default. These people never change so you just have to learn to work with them. If you’ve managed to make an enemy this quickly then you need to do whatever it takes to turn him into a friend because you never know how things are going to turn out a few years down the line. I’ve seen this happen several times before. The guy you piss off today turns out to be your boss tomorrow.

1000 - Make friends with IT
Want to make sure you always have the best crap? Be nice to IT. Here is a little hint for all you new hires out there, most people only come to IT when they need something or when something breaks. After a while, that kind of thing tends to sour your world view. So just come in to their office regularly to talk. Not to complain, not to beg for crap, just to say hi and ask how their life is going. This is an investment that always pays off.

1001 - You will never escape office politics
As the new guy (assuming you start at a low enough position) you shouldn’t have to really worry too much about this. But rest assured that the more responsibility you get the more you will have to play the game. You can’t escape it, no matter how hard you try. You can choose not to play, but that choice carries its own consequences. This is a hard lesson to learn for die-hard geeks because we prefer working with computers than people. That whole “not-a-people-person” might have been a motivating factor in getting you into computers in the first place. If so, I’m sorry but if you ever want to advance past a certain career level you will have to become part of management and join the political circus.

I recently graduated (July) and finally managed to get a programming job doing Java development thanks to peo services. It’s only the second day but I’m already a bit stressed I’ve been given tasks to do which I found more difficult than perhaps the should have been since I don’t know the system at all and haven’t been able to grok the ins and outs yet, which is, of course, to be expected. I suppose I’m just looking for reassurance that this happens to people and how long before I’m holding my own.

I think you’re being too harsh on Cook. He’s a smart man and has held his own on the investor calls. I don’t remember what Jobs was like when he first became CEO and did these types of product demos to the public but it was clear that his .pass4sure