Budding Software Developers: How To Be A Good Employee, Lessons From My Parents

I know how to get fired. In fact, I'm so good at it that I'm about to launch a site for people who have been fired. I'm going to be God in a land where everyone's been told they aren't good enough. If not God, I'll be like one of the gods.

Reminding myself that I don't have much experience working with others has been both enlightening and incredibly frustrating. Up to this point, I've been learning what it means to be a good employee, and it's one of the most humbling lessons I've ever had to consume—mostly because I don't like taking orders. You'd think I wouldn't be this way, considering my parents are masters at keeping jobs. They don't like taking orders either, but somehow, they always managed to keep their jobs for the long haul. I admire that. I noticed the same characteristic in my sisters.

Your boss first, then your brain.

When you get on a job—especially as someone who's going from hobbyist programmer to professional programmer—you might think you'll be able to contribute by bringing fresh technical ideas to the table. Sadly, that won't be the case.

Become a yes-man. Your boss is right. You're not.

Expect to be asked of what isn't on your resume; expect to be tasked with what wasn't in the job description.

One of my bosses insisted a note of experience with a particular technology was on my resume after I told him I don't know how to do something he told me to do. He said, "But [that's] on your resume! You should know how to do it!"

I told him to check my resume for it after he told me that I'm wrong about it not being on my resume.

He checked. To his surprise, I was right.

Instead of admitting that he was wrong, he continued to tell me to do what he originally told me to do. On top of that, I was also told to do a few other things that weren't remotely related to what I took the job for. I mean, it'd have been cool if they were things I coulda picked up within a reasonable amount of time, but...they weren't.

Do yourself a favor and go in thinking you're going to be pitched an insane set of curve balls.

Be in the office before your boss.

Can't stress this enough.

It's 2015. You really don't need to go into the office in order to write code, see your boss, nor to communicate with a team. Whoever tells you that you do is lying. Straight up.

But, if your boss tells you to go in (jerk), just make sure you're in the office before he gets in. It makes you look like you want to be there, and that's important.

It's all about impressing your boss. By the end of the day, he should say to himself, "Oh fuck! This guy is really eager! He must like being here! What a great worker! I can't fire him!"

Track your boss's behavior daily for at least a month, even on weekends.

This one is tricky.

When my parents suggested this, I basically said "Fuck that. Are you serious?" Turns out they're right.

Basically, take note of your boss's mood throughout the week. What's he like Monday? Wednesday? Thursday? Tuesday? Friday? Saturday and Sunday? How long does it take for him to reply to your messages? How tired does he look when he gets in on Tuesdays?

Everyday, just take note of your boss's communication. To quantify his mood, have a 3-point scale based on the number of sentences/demands he makes throughout the day. It depends on the boss, but the lowest number of sentences could indicate that they don't want to be bothered, and the most could mean that they're uncomfortable. It could be in reverse for some bosses. You can monitor your boss's behavior over the course of a few days, and then you can create a pretty good scale. From there, you can record his behavior based on the scale and come up with a good strategy for dealing with him.

"Oh, he's usually pissed off during Wednesdays. I should probably get in 30 minutes sooner than I normally do and make a few small (git) pushes just to show him how early I started. Can't snap at a guy who's going the extra mile!"

"He's mad cool on Thursdays. If I can, that's probably a good day to ask him about working from home the following week."

"He snapped at me over some little shit on two Tuesdays. I should probably keep quiet on Tuesdays."

The more data you have, the better. Remember: it's all about seeming like you want to be there and like you appreciate being under someone else's command.

Write almost everything your boss says to you.

Another tricky one.

Just write as much as you can. Your boss might tell you that he told you about something weeks ago when he really didn't. He might tell you that he showed you something weeks ago when he didn't. Either way, write what you can.

If worse comes to worse (he really get disrespectful), you can show him what you wrote.

I've done this. People pipe the fuck down very quickly when you start whipping out timestamps and the exact words from old conversations. That's one of those last-resort moves, though. There's a fine line between being an asshole and covering your ass.

Know that line. Still, cover your ass.

Although your boss is probably some jerk who always thinks he's on point and that he's in position to boss you around because he's so sharp, it's likely he isn't very sharp. While he's beating off to the idea of being in charge and owning something/owning people, his employees are usually catching what he's missing.

Most bosses aren't great leaders. Often, it's really easy to tear through their egos. I'll just leave it at that.

You are no longer a product of your experiences. You are whatever you become on the job.


You coulda driven a bus for over 25 years and, and because of that, you'd probably know how to make right turn in major traffic. Your boss may actually believe that you don't know how to, even if they have substantially less experience driving a bus than you do. That doesn't matter.

The same goes for writing code: If your boss says that for i, x in zip(range(len(my_list), my_list)) is more readable and Pythonic than for i, item in enumerate(my_list), from now on, you believe what he insists—at least, only while you're at work. In 6 months, when someone joins your team, secretly explain to your new teammate that you actually know what you're doing and that you really want to write maintainable code, but that you also want to keep your job. Also warn 'em of the potential perils of speaking up!

In the words of comic genius, Aries Spears:

Nate: "Dude, what the fuck! She can't do that, man! This is your space, this is your area! She's violating your right to privacy! You should say somethin'! You want me to say somethin'?!"

You: "Yous gon' get meez in troubles! I like you, Nate, I really dooz! But my parents is good Black folk'! They gives me food, they gives me sleeps! Now, you get way from 'round here with that foolishness—GET FROM HERE! -hums plantation work song-"

Just smile and do what your boss tells you to do. Hopefully it works out and nothing gets destroyed.

Save your money; you're on probation.

I was fired 1.5 weeks into a job I sat through multiple interviews to land. Before that, I resigned from a very secure position elsewhere to pursue a great learning experience. Oh, I fucking learned.

Financially, I wasn't completely fucked after being axed. Still, I wish I prepared better.

Your boss is human and he might suffer from horrible mood swings. This can result in your unemployment. Therefore, you're on probation no matter what. You could have gone through 10 interviews and you can still get fired after only a week. Make sure you have that monetary cushion you'll desire if you find yourself in the unemployment office again.

Martin in the unemployment office

Be friendly with everyone.

Keep everyone on your side. Don't make enemies in the office. It could help when you're trying to vouch for your accidental use of common sense and reason.

My parents keep dropping jewels. Still, even after picking up those jewels, I'm having trouble feeling secure as an employee. If it's not my technical ability, it's that I don't play well with others. I'm not very good at keeping my mouth shut, so even if I have the right perspective, it's easy to find myself in poisoned air. Crazy, right?

What would you do, Renee? I miss you.


Software Engineer

Subscribe to GregBlogs