DEV Community

Cover image for Seniority in Tech: Beyond Technical Skills
Mohsen Karami
Mohsen Karami

Posted on

Seniority in Tech: Beyond Technical Skills

I believe that I took my first serious steps toward seniority over the last few months; I've been working on some challenging projects that have taught me many things.

I'm not talking about the technical lessons, but some underneath concepts that, even though they may sound obvious, many of us don't think of them most of the time.

Let the clients contribute

It's crucial to pre-analyze the projects accurately before starting the coding step.
I mean, you should foresee any possible solutions and their pros and cons, explain them precisely to the clients, and ask them to participate in the decision-making process since it's much more likely they have different points of view, concerns, and priorities than you.

Stay in touch

It's vital to be in touch with the clients throughout the development process; the more you keep them posted, the smoother the development process will go.

  1. Let them know how you solved a specific problem; I don't mean explain them in detail (except if they have the proper technical knowledge), but a general explanation of the solution would be beneficial.

  2. Give them estimations even if they go wrong (it's also your job to explain to them it's pretty much impossible to give exact estimations, at least in the software development world).
    It's also highly recommended to keep your estimations updated, which means if, in the course of the development process, you figure out there are some more things that need to be handled, and they significantly impact the estimation, it would be much better to inform your clients of the new estimation.

  3. Report the clients of the obstacles you've faced and the possible solutions ASAP if they are likely to significantly impact the development progress rate.

Say NO to multitasking

It's so crucial to avoid jumping from one task to another. Of course, having a perspective of the whole project is vital, but my intention is to keep working on the same task unless you have to leave it for a good reason.

One of the primary reasons for such switches could be diving into the coding step without pre-analyzing the project accurately; you find yourself in dilemmas and need to consult with the clients to find solutions that work the most for them.
Remember, even though it may sound like a cool multitasking development approach, I bet you it's more likely to be a less efficient approach.

Stay focused

One of my best decisions was to have a daily to-do list, not only for tasks and work stuff but also for personal jobs. It enabled me to work with high concentration levels due to a lack of distractions.
For instance, I was working, and then the idea of this article came to my mind. I thought about the idea and wrote down a couple of lines about some essential points.

It consumed around one minute of my time but allowed me to forget about it and focus on my work. The reason was I knew that I had it on my to-do list and would work on it in my spare time, so I didn't need to worry about it anymore.

Of course, these points don't reflect all the essential proficiencies, but at least guide you to some imperative strategies that benefit every developer.

Top comments (0)