Things even veteran developers do

It can feel overwhelming to be a new software engineer, but many “noob” things are actually “everybody” things. If any of these things happen to you, know that you’re in good company!

Forget basic syntax and need to Google it

Here’s what my recent search history looks like…

  • combine stderr stdout
  • python static methods
  • python3 static method
  • ltrim postgresql
  • find first letters regex
  • python assert
  • yaml cheat sheet
  • postgresql show locks
  • python run specific unit test
  • sqlalchemy raw sql
  • java jsonobject

Really, who cares if you can remember it when Google is just a few keystrokes away? Especially when it’s a library or tool that you use only occasionally.

Bring down the system

Computer systems are fragile. Yes, you probably shouldn’t have put that extra comma in the config file, but when the system is down and users are complaining, know that it happens to the best of us (keywords “google cloud outage”).

Outages should be followed by a blameless investigation and concrete steps to prevent it from happening again. Why didn’t we think to have the system check the config file’s syntax before deployment? Duh?

Fail interviews

You’re standing in front of a white board, armed with 10 years of professional Java experience, ready to crush this interview. The interviewer (who arrived late, of course) asks you to balance a binary tree. As you write the class definitions, your hands start to feel clammy. The interviewer quietly scoffs (or was that your imagination?). Even though you just reviewed this yesterday, the words aren’t coming out of your mouth in the right order when you try to explain what you’re doing.

By the time you scratch out some code-ish stuff that does SOMETHING to a binary tree, you’re relieved to hear that time is up. The recruiter’s rejection email comes later that day.

If any of the above sounds like your worst nightmare, know that it happens all the time to people who are more than qualified for the job. Hell, even when the interview goes well, you might get a rejection. Know that interviewing is a two-way street – interviewees can be bad at interviewing, but companies and interviewers can be bad at interviewing too.

Plus, you’ll never really know what happens internally in those hiring meetings. Maybe they got 5 qualified people and could only hire 2. Maybe they botched their revenue-forecast Excel sheet and realized too late they couldn’t afford another hire.

Haven’t heard of <insert thing here>

Yes, it’s sometimes embarrassing when somebody brings up some library or Unix command or Vim trick that you haven’t heard of and they’re shocked, just SHOCKED that you haven’t heard of it. Too often we use trivia as a proxy for judging other people’s skills, but the fact is that great engineers can do great things in Notepad++ while many bad engineers use Emacs.

The same is true for new-fangled libraries, programming languages, and other little gizmos and gadgets. There aren’t enough hours in the day to learn about all the technology out there and even if you try, there will always be something you haven’t heard of and someone else has.

So next time you’re the one surprised that someone else hasn’t heard of <insert thing here>, please, don’t rub it in.

Got more examples of common things that even veteran developers do? Come chat with me on Mastodon: @erjiang@mastodon.social

Leave a Reply