As I am currently looking for work, there are several key points that I will review thoroughly before considering the position.
The bare minimum
Having an important number of years of experience under my belt, I have a “consultant” rather than a “simple operator” profile and I thrive in an environment that contains all these criteria :
- Continuous improvement : proposals for change, whether in development practices or team organisation, are at least heard and discussed. Nothing is imposed because of a “cargo cult” approach (e.g. “we have always done it this way”).
- Craft and good practices : the code is tested, there is an actual continuous integration process (i.e. branches do not live for several weeks) and deliveries to production are made frequently, at least several times a month. Delivering to production does not involve a long, costly and stressful “non-regression” phase and everything is done peacefully.
- Agility : we are talking about a real way of working where IT is at the service of the business and adapts to frequent changes. This means that discussions with business experts are held regularly. Processes change according to needs and communication is productive. In a spirit of continuous improvement, retrospective ceremonies occur regularly and constructive actions are set up.
- DevOps : the systems teams (Azure expertise, DBA, security managers, etc.) can be reached easily and relations with the development teams are healthy. Production monitoring is done within the team, everyone participates and it is not seen as a chore.
- Remote work : at least 3 days a week ; the face-to-face work makes sense. Since 2020, I have witnessed a clear increase in my (and the team’s) productivity thanks to remote work.
The ideal job
To go further, here is what I would ideally like to see, including the points from the previous section :
- No toxicity from the team and the management. I do not believe in the oddly widespread notion of “benevolent dictator” that is sometimes applied to tech leads. In my opinion, it’s an approach that quickly proves toxic and counter-productive ; I prefer the referent approach, which is more humble, more open and much more in harmony with my personality.
- Diversity and inclusion. A team with diverse profiles will be richer and more effective than a team composed with the same profiles. Tech is a very male-dominated environment, not very inclusive and too off-putting for many people who don’t fit the “cisgender straight white male” stereotype. I want to help change that.
- “Test first” mindset : a mandatory tool to ask oneself the right questions from the start and spend a much needed time in the problem space instead of jumping directly into the solution space.
- Agility : is there a flow methodology like Kanban or Lean or is waterfall the main process in use (even camouflaged as sprints) ? Are deadlines important notions ? For example, CI and CD are not empty words, they imply important practices such as regular and frequent synchronization and delivery in the main branch, ideally using trunk-based development. Then a battery of automatic tests verifies non-regression in a matter of minutes, and production delivery is possible several times a day without stress.
- Part time work : I have been able to work 4 days a week from April 2020 to April 2024 and I have seen how beneficial to my productivity and communication skills it was.
- Proactive production monitoring: we have the tools to monitor the production in real time and we are able to act quickly before the users or business teams are aware of a problem. This is facilitated by the DevOps approach mentioned in the previous section.
- Crisis response : it is necessary to have no micro-management during an incident, as well as a good communication on a dedicated channel ; post-crisis, taking a step back (discussions and long-term thinking) and implementing appropriate actions are important assets.
- In a legacy context : support from the management to solve it. Despite its flaws, legacy code fulfils business needs. It is therefore very precious to the business teams, but it needs to be tackled through fundamental actions that consume both time and money. I can lead this kind of issue, but I do not want to be alone in this fight.
All of these points are debatable but my vision of the ideal job contains all of them.