Well, that was a fun year again - and now that I look back, quite a busy one.
I spent more than 90% of my time at my two main customers - Beeodiversity & Farm For Good, but I'm happy to have been able to add a couple of small missions on the side.
I work for Beeodiversity since almost two years now. In that time we moved from an idea to a prototype to (thanks to some EU based funding) building a team of 6 and releasing a first version and making our first sales.
That's work I'm quite proud of as really getting from 0 to 1, with all the logical evolutions - making just the software needed for a first demo, then making it better, then rebuilding it with a team to move it toward a sustainable product.
Being "CTO" or "Lead Dev" there allows me to use the full range of my "specialist in nothing" profile - talking with stakeholders (internal or external), helping with the strategy, building a software then a team and shaping it to a working delivery system.
It's just the start - but we've come a long way already.
Farm For Good
This marks my one year at Farm For Good - probably my most "unexpected" job (I did not have "A cooperative of farmers active in agroecology" in my bingo card of possible companies to work for). Here it's about taking a set of practices (and excel files) and organise it into a working software.
Most of the complexity is in the relation with the subject matter experts (here agronomists) and tryig to find a middle ground between the amount of data we want to collect (as it means form to fill for humans) and the insights we can to get out of it, in an area where quantitative/data based approaches are still rare.
While I'm a bit "on the side" of the main activities there due to not being often at the HQ and being part time, it's interesting to see the organisation growing and getting more and more ambitious - an ambition that software is going to contribute to fuel in the next year.
Ville sans nom
This is the typical "unexpected small project" - creating a small application allowing French author Alexis Briatta to publish stories about a mysterious city and the people that live there.
This is a nice case of helping a customer to shape their project in a way that minimize the time needed to build it - and hence the cost.
Having delivered a small but fonctionnal web application in less than three days of work was very satisfying in that regard.
I had the chance to get back at Tapio for a very small mission helping a transition to a new CTO - being able to provide insight as an extern person with a good knowledge of the company and also of what the job requires.
I worked a few weeks with Sophie and the nice team at SignHow - a community dedicated to collect Auslan (Australian Sign Language) signs in the form of short videos - pretty much making a dictionary of signs in video form.
While I'm no expert in accessibility, helping initiatives that make the world more accessible and inclusive for various groups is always really nice.
In terms of challenges, it was again about being able to dig in an existing system, learn enough about it to be able to deliver a critical feature (a payment system) in the relatively short time allowed before an important event.
It's also the first time I worked based on very precise designs thanks to Nikhil Bora - an experience I'd be happy to repeat.
The year finished with another "old" contact as Eliane & Geoffroy from BetterBusiness reached to me for advice as their sustainability business moves toward a product centric one.
Three years after my last full time job long run at Bluesquare it was again a good year in terms of learning - in skills but also in what I want for my own career.
Part time CTO works
What started as a mission to create and test a first prototype at Beeodiversity turned out in a full fledged CTO position, including hiring 5 people in 6 months, contacts with external stakeholders, various technical/marketing mix and taking over the software used to deliver the consulting reports.
While that was clearly not the initial deal I think I can say it turned out well both for me and for the company - despite being there half time. I did not see CTO as a "part time job", but I need to acknowledge that given the proper circumstances it can work - in this case aiming for senior people when hiring, opting for a "light touch" management style, keeping mandatory meetings to a minimum and a harsh focus on what is needed for the team to go forward.
An ode to the early stage
Linked to that experience & a couple of other, I'm still a very big fan of the "early stage" - whether it's new companies or new teams, I feel I'm providing my best value in yet undefined environments.
While I of course do work better with more information, I'm used to navigate in environments of unkwowns, making decisions while not having all the cards in hand and drafting a path that allow the organisation to learn.
As a candidate once told me about a former job "Everything was to be done, it was my best job" - I tend to thrive in those environments.
Building teams is fun
While I favor boring, mature technologies, something that's never boring or even the same are teams. Groups of people tend to behave very differently from one to another, and you get a new team each time you hire a new person in an existing one.
Nudging a team to find better ways to work together is a very satisfying experience.
The value I bring
Moving back to software development was a bit of a gamble - I'm experienced but also generally more expensive than younger people, and while that difference is "easy" to swallow when I apply as CTO, it's more complex once I position myself as a "Senior Developer".
I asked a couple of customers "why me" - what I got from their words is that they get a combination of skills that are generally complicated to find in a single person.
- I can talk to (non technical) stakholders and convert business ideas into software products
- I can code a web application - by myself if necessary
- I can hire and lead a team
More specifically I got credits for:
- Saying my opinion "without any concern for your position" - generally challenging customers about making a software at all - something that would lead to my immediate termination. While a good market make this position not as dangerous as it seems, it's more for me a question professional ethics - I don't want to work for something useless, even if I'm (well) paid for it.
- Most people applying for "CTO" position tend to be able to lead a team or code - never both. I'm still a bit suprised about that one (like "non coding CTO" is a very weird position), going to dedicate a post to it as "it's complicated".
So in the end it's all about linking technical actvities to business value - in other words, as I told a colleague a while ago "If you don't see how the feature you are coding contribute to the company business, lift your hands from the keyboard and come talk".
This was not a tech-heavy year for me. Some quick pieces:
- Front end: I'm slowly and sort of reluctantly moving to TypeScript (notably thanks to Shad beautiful component library). TypeScript has always been a tech I thought I should like but don't use. I'm using it a bit, and while it's infuriating in its own way, I guess I'm going to continue using it. Best part if that you can really decide how much you want to use it.
- Firebase: React + Components + Firebase make a good way to start an app - with firebase being able to manage the authentification and a database (sort of).
- Back to the monolith: I was triggered by a tweet with something like "Front End frameworks were invented so startups could justify paying two devs for the job of one". While I think it's slightly aggressive, it forced me to ask myself "what to I win here having this separated front end versus just using templates (in Django/Rails/whatever)". The answer is not always as easy as I'd like, so I may be "back to the monolith" for new projects. My main concern is the absence of component libraries outside of React and the likes of it. This leads me to:
- Inertia: Inertia feels everything I want - a protocol linking a Laravel/Django/Rails to pages done in React where I can use components. Except that (at least in Django) I could not even manage the setup. I still think it may be the best of both worlds. If it works, which it does not.
This is still the year of just use Python
There was some changees of new realizations too.
There is nothing outside of the 40 hours
I spoke of Alexis's nice project. What I did not tell is that to deliver those three (3) days of work I needed almost six (6) months (!). This is not something I'm proud of (and I'm very thankful to Alexis for his understanding) - but it was a valuable learning that I can't expect myself to work anytime outside of the 40 weekly hours.
Maybe I'm older and more easily tired. Maybe I've kids now and more things to do. Maybe I progressively lack the will to force me to work again at 8PM once the house is quiet.
Whatever the reason, my goals to work on more different, smaller projects required to make time during my normal work week - something that's now done.
Can be committed without being eaten
I am and always was quite committed to my jobs - but leaving Bluesquare I also decided that I would not let one eat me again. What I was a bit worried about was wheter it was possible to not be eaten by the job while still feeling engaged by it.
My current answer is a resounding yes - as I have been pretty committed to Beeodiversity & Farm For Good (and other) successes. Being active on several projects certainly helps there, but I like to think I also managed to change slightly my frame of mind on this topic.
Bring value at different places
I used to think I needed time and long investment to provide value - which means staying at the same company/employers for a while. I've seen enough results of my work at different places to realize this does not have to be true - and that generating value at mutliple places is very rewarding - so I'm going to continue doing that.
I intended to move on to 2024 - but this has been long enough already, so it will be for another day.
This has been a very fulfilling year - and I've good expectations for 2024.
Opinions? Let me know on LinkedIn!