Back to (technical) work
My main (work) update of the year was clearly my decision to leave my job as Bluesquare's CTO. Not only I had been there for more than 5 years, but this decision went further than a simple position change - what lead to it is my (long matured) goal to leave a management role and get back to more technical stuff.
This was my own version of moving to some kind of "Individual Contributor" ("IC" as you see in a lot of US companies).
TL;DR; this turned out to be a great decision.
What freelance means
I've been a freelances (fiscally speaking) for almost 10 years aldready, but I've always looked for long term opportunities - with the occasional teaching or advisor short mission. My goal when I started to look for work this year was no different.
Due to a combination of opportunities, customer decisions and personal ones, I actually worked with more (different) customers this year than maybe in the last 7 or 8 years, with missions sometime as short as a couple of months.
Despite my initial feeling that I needed a couple of years to be at "full speed" in a new environment (knowing the code but also the culture, the people, etc), this also turned out great both for me and my customers - being able to bring a fresh perspective, learning a lot from new people and delivering value even during short term stunts.
Work life balance
An important goal too was to get a better work life balance. Between a C-level job, kids and a pandemic, I only realized after leaving how close to burn-out I was. I'm still quite driven about my work (I need it to be able to invest myself in it), but I wanted to be able to close the laptop on the evening and not have work as a never stopping background process in my head.
Putting this upfront in interviews helped "set the stage" - once you are into workholic habits in a specific position, stepping back is incredibly difficult.
Pretty much all companies below got some version of that message very early in the interview process:
I'm generally motivated about my work and I want to deliver value - but I've a life too and I intend to keep it. At 5PM I'll close my laptop, go fetch my kids at school, and open it back the next morning around 8AM. The day there is an emergency, I'll still do it, but I'll reopen it around 8PM and help however I can. If there is an emergency each week, I'll leave.
This message was generally positively received. In a single case, the company admitted that emergencies were indeed the norm - so we just stopped the process there, no harm done (I actually told them I appreciated the honesty).
Luxury and being picky in this industry
As far as I can tell, the industry has never been that good for people looking for work (at least on the senior side). A lot of companies are looking for people to join them, which means that as a consultant I could decide to be "picky".
Where it get interesting is that you can be "picky" about anything you want - technology, money, culture, ... - or in my case, social impact.
With a few exceptions, I almost only worked for companies that had some social impact. That does not means they can't be for profit, more like "Do I think we are better with that company in the world".
This was again my criteria for this year - while not impossible to fulfill, it does put 95% of the companies out (including banks, marketing products, SEO stuff and obviously anything remotely connected to blockchain).
Fortunately, there are a lot of nice people wanting to make a difference in the world - among them the companies below.
So what did I actually do this year? Here are the main missions.
IOS Press is a small publisher of scientific books and journals. This is a 2 days a week mission but I liked the company so I asked other potential customers if there were ok for part time. While it felt initially like the "side job" to whatever I would find, it turned out to be a great opportunity with good long term potential.
The best definition of my role there is "technical handyman" - IOS Press is in the process of a major IT transformation, moving from outputting PDFs to creating a whole knowledge graph of their 35+ years of publication.
This means I had to be able to work with a lot of different technologies and languages - from bash and Python to manage a ML-driven pipeline to React and SPARQL to consume the data via some Java for matching algorithms and Drupal/PHP for integration with the content.
Described like this, the job posting would be downright scary - but it's also what I like here - it's the variety of five jobs built in one, with a management that understand that things can be learned but also that it takes some time.
It's also the job which is the most at the opposite of my CTO job - I'm the technical guy here, and most weeks my meetings are limited to a single 20 minutes back and forth with my boss about my progresses and the next goals - which is a welcome change.
Shayp is a company that makes automatic detection of water leaks. It's my first drive into an electronic, IoT driven product. Smart devices allow a steady flow of data, which can then be analyzed and even pushed to an ML model for automated leakage alerts.
Seeing the output of your work as "meters of water spared" is a nice feeling when getting back home on the evening. Together with the development and data science team at Shayp, we did a major migration of the web application from Pyramid on Mongo to a much more standard and robust Django on Postgresql stack. I'm a big fan of PG and more generally of mature, well established solutions, leaving the innovative part where it belong - in the business.
Among other, I discovered how React + OpenAPI + Orval + Antd can be a very productive combination on the front end - getting the whole "data fetching" part almost 100% generated, combined with Ant Design massive component libraries made the development super fast.
Skills Union provide curriculums and training in Growth Hacking, UX/UI and Software Development - with a twist. Thanks to parternships with universities, the various trainings provides actual University credits valid against a master.
While this was a short mission, having to design and develop a whole curriculum with a team of instructors was a great challenge and a new experience for me. While material exist online about pretty much everything in my area of work, getting the good rythm, balance between lessons and individual work, coming with good, progressive exercices while pushing multiple abstract concepts in an accessible way was an exciting puzzle.
Funnily enough, the year finished the way it started - with a mission for Bluesquare, my former employer, dedicated to help the WHO to coordinate the work of various IT companies to deliver a massive Covid geared product, going from field data collection all the way to the dashboards and analysis.
WHO is a fascinating organization, whose role has become better known than before due to the pandemic. Developing a product that could be used from rural areas in Cameroon to South American metropolitan areas and pretty much anywhere in the world poses very specific challenges that are not usually found in the industry - and the impact is difficult to overstate.
Teaching/Coaching and others
Aside from those, my freelance status and some lucky chances led me to a few other interesting opportunities.
This is probably my personal highlight of the year (workwise) as per "where I learned the most on a personal level". Via some colleagues, I was put in contact with Eqla, a non profit organisation aiming at improving the daily lives of blind people.
More specifically, they launched Blind Code, a coding training for blind people. While I'm not new to teaching people to code, it was my first time doing so with blind people. I did blog about it already and I'm really thankful about the experience.
I coached at Osoc, something I also wrote about. Combined with Blind Code, this managed to scratch my coaching itch this year, and also provided opportunity to work with more people from Flanders (the startup world is quite divided in Belgium and as such I don't know many developers from the North).
I'll clearly try to be there next year.
As a fun fact, this is a job I found by answering to a... tweet. My work on Linked Data at IOS Press was also quite useful for the project I followed there and let to the...
Speaking of working with the North - ABB or "Agentschap Binnenlands Bestuur" (Agency for domestic governance) is a part of the Vlaams Gewest that is dedicated to strengthening the link between (local) governments and citizen - notably via open data and tools.
After an initial contact following the Osoc coaching, I participated in a hackaton organised by ABB. Our team tried to improve on a complex process between local and regional governements, involving Linked Open Data ("LOD").
As a way to get to know a team/company (and vice-versa), this beats endless interviews or code challenges handily, and I look forward working more with the ABB next year.
I've a small but long term commitment in Tapio, a company helping businesses to compute then compensate their carbon footprint. I'm a technical advisor to Tapio - which is less fancy words means that I'm playing the sparring partner to the company's CTO. Having been there, I know the position can be lonely, and I'm happy to provide someone to talk to.
I blogged 12 times - not bad. I also did a personal project for the first time since Effin Bot. As many developers, I've a good bag of projects I'd like to work on - but generally never do. This is something I've made my peace with - not every aspects of my life need to be related to coding, and it's ok to only code at work.
Some planets did align in December as I had a short break between missions, leading me to develop Newscheck.info - a website showing the gender balance (well, imbalance) in Belgian newssources. This got a bit of attention, and I intend to find some time to work more on it next year.
While I often reflect on my career, this is the first time I do the "year in review" exercise. Listing all the things I've done, I'd say not bad for a year with a pandemic and two small kids at home - knowing that it happened also while readjusting toward a much saner work life balance.
I could'nt be happier with my decision to step down from management, and I'm looking forward to this new part of my career.
This year also cemented my position as a "specialist in nothing" - I'm using mostly "what's there", I welcome learning new things and I don't really have a "stack of choice" even if Python seems to come close to it those days. It has led a customer to call me "a generic dev" and I decided to wear it as a badge of honor.
See you next year, and until then my best wishes to you & yours.
Opinions? Let me know on Twitter!