On being a senior SW engineer

There is a certain amount of debate around what being a senior software engineer means. The truth is that I didn’t hear about any convincing formal definition of it. At least not one based on number of years at the role, salary, or management position. My personal experience is that, more than a clear definition of when you become a senior, there is instead one clear duty that comes with the role once you get into it. And there are three supporting pillars that help succeeding at it.

The dangers of wearing two hats

Scrum is an agile project development framework. It is a powerful way of thinking within software development organisations. However it has to be understood properly in order to get the most of it.

Adaptive control systems and Scrum

One of the main goals of Scrum is to over-perform traditional and waterfall-like project management frameworks when dealing with requirements. The complexity of finding out what a system has to do and how, is far from being trivial. Assuming that the system requirements can be determined at the very beginning of the project is considered today a very naive approach that relies, at least, in two fallacies. First, that the client knows what she or he wants the system to do. Second, that this is the right thing to do, and that is not going to change during the development of the project.

Stand-up meetings or the developer therapy

Scrum is an agile management framework, that introduces several practices in order to adapt to the inherent complexity and uncertainty of a software development project. A bunch of these practices deal with the communications inside of the development team, including several periodical meetings.