Vin Souza
Created on:
October 8, 2018

What's a Senior Web Developer

Well, besides being a fancy name “Senior”, there’s more than years of development experience.

Yes, I know, seniority comes with aging, and responsibilities. But there’s somethings we can’t forget when thinking about “Senior”.

“Years of experience”:

Yes, I also consider someone a Senior when they have many years of experience into something, like a “Senior Web Developer” would have years of experience in “Web Development”, whichever would be the language (s)he choose to work with, either it’s Python, either it’s PHP, or Java, it’s all Web Development. But here is the common mistake people do, unless you say you are a “Senior PHP Developer”, you can’t choose one language to master into, and finish your life within this sole language. Development, either it’s social, web, desktop, mobile, is a mutant thing, and sometimes, you need more than one language to solve some challenge.

Let’s take an example:

Back in the days of PHP 5.1, 5.0, that PHP didn’t had support to WebSocket, as we have today with Rachet, we were building this chat feature for a social application, and of course, the hype of the moment was “WebSocket this, WebSocket that, and blah blah blah”, so we needed something to work within WebSocket, and finally replace all the COMET code we had here and there, Python with Tornado came to rescue. We built a WebSocket handler, which handled the socket opening, sending and receiving messages from every user of our application, rerouting these messages to the recipients and then forwarding all to PHP code so we can parse these messages, and insert them into database, and make all the notification code, and the list goes on.

Why did I told you guys this example? Simple, Seniority comes with choosing the right tools to certain types of challenges, even if it’s some brand new technology, you have the feeling that this could solve one part at a time of your challenge.

We didn’t discard PHP, and started to migrate the whole code of our application to Python, all we did was building a component that used Python to serve as a WebSocket server, and do all the routing part, so we could parse this at PHP level, without having to write a whole WebSocket Stack at PHP.

You said there were other things than years of development, what else?

Yes, I said. A Senior guy will eventually, or even, all the time, lead a team. Yes, that’s what I said: “Lead a team”.

So think with me, seniority comes when this guy or girl, can handle it’s own taks and at the same time help guiding and instructing people from your team, and sometimes, from other teams.

That means, you have to know the tools you use, the tools you need for your daily challenges, and also, the ones your colleagues needs for their challenges, the ones your interns needs to their tasks, also, you should be able to help them within finishing their tasks on time.

Yes, seniority means you can be blamed for someone else mistakes, and you have to be mature enough to keep calm, and work on some solutions so these mistakes won’t repeat again.

“Keep it simple, stupid”

I don’t know if you guys have ever heard this expression, K.I.S.S, not, it’s not the rock band, it’s a “principle”. With seniority, you learn that this is the most common thing you will need to use on a daily basis.

Seniors knows that sometimes, writing code to fix some features can’t take the costs of being fancy, after all, the whole code you will be writing is to fix some feature.

Practical Example:

You have a coffee machine, and the software that makes you the coffee is freezing when you says to the machine “build a Latte”.

Senior will simply fix the part that the milk ain’t being insert into your coffee, after all, this was the piece that was freezing the machine. Quick and dirty fix. Simple, and functional.

Yeah, you could think, oh, what a lazy person.

Yes, but all this product needed was a fix on the Milk function, and that’s all our senior needed to do.

Now that this fix is released, (s)he will work with the team, and start searching for new bugs so they can fix them before the customers discover’em.

No fancy code, no fancy fixes, just simple code to this especial failure.

“Not me, we”

Seniority means that you replace the “me” pronoun by “we”, after all, you lead a team, you aren’t solo, there’s people with you, working with you, sharing their feelings, sharing their knowledge.

So, forget the “I”, “Me”, “You”, start using more “We”.

After all, seniority also means, “We did that”.

That’re some of my feelings about being Senior, hope you start to think about’em when leading your team, or doing some task for this great project.

And, I’m happy that you got so far at this text, hope you liked it. For those who didn’t got the overall idea, I will try to sumarize them bellow:

  • Years of experience is important, but be realistic with your terms, don’t say you are a “Senior Rock Engineer” if you only spent the last 10 years just breaking rocks. You need to know a little much more than breaking a rock so you can be a “Rock Engineer”
  • Keep calm, and help others, most of the time you will help other people, from your team, or from elsewhere they are. And most of the time, you will get the blame if your team fails, so you have to be calm, take this, and be sure this won’t happen again.
  • “Keep it simple, stupid”, helps you writing code that actually do real things, it’s not about improving your code with tons of features, if all we need is a simple “break the rock” feature
  • Forget “I”, and “Me”, after all, you are “We”

Thanks for all! See ya!