Monday 7 August 2017

The Burden of Being a Senior Developer

Who is a senior software developer? A developer who has over seven years of experience. I think this is not quite encompassing. I think it is a developer who possesses a certain state of mind. So a developer with six months' experience can be senior (theoretically) if they have that state. But this state is usually gained through knowledge and experience, over time. This state comes with some responsibilities (or burden).

Any enterprise that is worth something is then worth doing well. And how do we do things right? By ensuring that what we do does not 'collapse' or is not done messily. In the field of software engineering, the fear of not incurring technical debt, and the ability to prevent such, is the state of being a senior engineer.

With the burden of a technical sort also comes an emotional one. In fact, the latter drives the acquisition of the former. And it is this emotional burden that I want to talk about.

I started out programming as an independent contractor in my home country of Nigeria. I specialized on Java applications. I was self-taught and happened (fortunately) to start out on high level projects. Having been brought in on a referral, I quickly acquired a senior developer image before my clients (they were mostly international non-profits), although I was new. I was stretched by these projects to research software engineering best practices (not because I was required to do so by my clients, but for fear of mediocrity). So I had an accelerated path.

Now, seven years after my first gig I have decided to become a JavaScript developer. There is a dearth of quality software firms in my country (and I hate boring jobs). So I have set my eyes on a new american world-class software engineering organisation with an office in Lagos. This company is of course very teams-oriented in their development approach. But I have been like a solo assassin as a consultant, not like a member of a well-commanded army. So here comes my call for integrity and being true to the craft.

Will I apply for a senior position? By the way, I have seven years under my belt. And yes, I might land the job. But I will have holes in my skills. Now I would be working with people. Perhaps I would need some training.

I will be applying for a technical leadership program offered by the company, as a developer. I have the need (fear) to be competent if I would bear the title senior. When I have completed my training I would apply for a promotion.

Being a true senior developer comes with a huge emotional burden. You have the need for technical competence. You will not rest until you have the right (optimal?) architecture. You must learn and acquire knowledge. It is language-agnostic. You know when a solution or code doesn't look right. You know (or are able to know) how to fix it. And you have the nightmare of living with bad code. If this does not happen to you, perhaps you are not yet senior.

Kindly 'like' this article if you like it.