Thoughts of a “Senior Developer “

Orr Gottlieb
3 min readNov 2, 2020

Thoughts
I'm considered a senior developer in my workspace. Lately, I've been thinking about what it means to be a "Senior Software Developer"

  • I thought it might mean that I write better code, which might be true (I'll revisit my code in a few months and let you know) but I've seen junior developers who write amazing code and senior developers who write unmaintainable code.
  • I thought it might mean that I know the latest and greatest, but that is a never-ending task.
  • I thought it might mean that I finish tasks a lot quicker, but I don't think that is the case.
  • I thought that it might mean that I write code that has no bugs - but we all know that all codes have bugs, it is part of us being human who writes code to run in an unpredictable environment.

Recently I've been working a lot with "junior" developers, which are still looking for their place in the pecking order. It is clear that when working with a junior developer that most of them are looking for reassurances (like we all) and then it hit me. In my mind, the job of a senior developer is to enable a supportive working environment for junior developers, where they can ask any question without being judged, where mistakes are ok and discussed and not knowing something is ok.

Wrongful Behaviours (Which I do)

  • Whenever we encounter unfamiliar code or style of code that we don’t like, we think (maybe even say) something in the lines of “Who wrote this s***t…”.
  • Use git blame ( I hate the name “blame” ) way too much — git blame is a dangerous tool — which could attribute half-truths to an existing situation.
  • When giving a code review — “telling people what to change”

Changing my behaviours

  • I need to change my mindset — if a code has tests — then it is awesome code which might need to be refactored! (if it doesn’t have tests, well…)
  • Turn off the auto git blame. I don't need it all the time, I'll probably need it if I want to ask the person who wrote that line of code a question about it.
  • When giving a CR - always, but always find at least one good thing to write - even if it is something which seems trivial or meaningless. The person on the other hand might need it more than you think.
  • When giving a CR - I'll try to encourage a discussion on what I think needs changing by asking questions and not providing solutions.
  • I want to be able to leave a piece of code a little bit better (for the next developer which will work on it) than how I found it.
  • And the most important — when someone asks me a question I want to try to make them feel like it was a question worth asking.

Final thoughts
In my opinion, a senior developer is not the person who writes the best code (it could help), but it is a developer who is not judgmental, a developer who is willing to explain with patience when is being asked a question and most importantly is someone who remembers what it means to "feel stuck" or "lost".

--

--