The beginning of a dev career

Here is a retrospective of my software development career. The narrative starts in September 2018, as soon as a completed my CS degree at the Geneva University (unige)

2018-09-11 to 2019-06-01: job hunting

I wanted a job specifically not working in Java, and wanted to avoid the financial sector and a various company I’d never live with myself if I helped them make more money. So I was mostly looking for tech jobs in the energy, software service or any engineering sector, anything that has a clear concrete positive impact on the real world.

I joined jeunes@Work, an association that helps young people find work. Which was a great resource to figure out how to structure my job hunt and prepare interviews. It was also a place where I made great friends and found support in a time of great need.

I wasn’t idling during that time, I took the opportunity to clean up some of the uni projects I had (gssa, friendsketch). I joined Azuni, which honestly I thought more of a band of desperate people with just a diploma trying to do busywork to ink some lines on their resumés.

I also went to a lot of professional meetups, met a lot of people (ahah, was nice before the pandemic) I met a few great people like Olivier (who happened to work at the place I will later get a full time job at, and also happened to be a childhood friend to my brother.)

During the trailing end of my job search, my father got a stroke and he went bankrupt. This deepened my need to find something quicker and generally strengthened my resolve. I was angry at the world, this burning anger was what fuelled my meek and shy personality and gave me daring enough to go out there, advertise myself like a soda brand and talk to everyone as equal.

2019-06-01 to 2021-06-01: Work at Lombard Odier Investment Managers as Scala developer

The networking and going at conferences didn’t contribute much to finding my first job. I simply found the job offer in the job suggestion in the “you could be interested” panel at the right of the LinkedIn UI.

My Binding of Isaac mods helped convince my future colleagues that I was someone interesting to talk to, my experience with Haskell and Elm when developing Friendsketch strongly helped me convince the team I would be capable of using Scala.

My previous self-taught experience in pure functional languages helped me start up extremely quickly in scala, it took me more time to get the proper access rights than to get the hang of scala (about a week)

I quickly got involved in a greenfield project aiming to convert a homegrown VB (Visual Basic) equities investment cockpit into a web app. The VB code was so catastrophic that we quickly gave up on reading it. We devised a method with the equities team where they would generate on a schedule an Excel file and the application would read the file and upload the data to our database, then serve it more-or-less without further transformation to the frontend. The first few months of the project had me do it in collaboration with my colleague Julia but she got involved in other projects and delegated to me the last phase of development and the maintenance work, as the team assessed quickly that I was extremely independent.

Once the bulk of the project complete and released, my job became mostly maintenance and cleanups. Although I didn’t write that much documentation, it was definitively more than the team was used to, and I hope I encouraged writing more documentation. I found it difficult to design tests. Sometimes I contributed to the devops (CI, our dev servers) Some of the server being a classic old school miserable pile of scripts, the more modern infra was very well designed and maintained by my colleague Oliver. I felt at all time inadequate when it came to CI, and the experience didn’t improve my confidence with Linux server maintenance (even though I willingly use Archlinux on all my personal computers (I use arch btw))

Other routine work involved 4 eyes code review. I think I was more exigent that the established practice at the team, and everyone politely avoided telling me that, only saying “thanks,” “good catch” and “that’s a great clean up idea” when I was pointing issues out. However, I believe my heightened standards helped improve code, and hopefully I left the team with better code review standards than when I arrived.

I got assigned also smaller projects, such as some FIX (a very old financial exchange format standard) API wrapper. I’m a bit ashamed of the code, it’s very much in the “too smart for its own good” category of code.

I sometimes also dived into the legacy scala codebase, I had enough wit to survive it without losing my faith in humanity, but despite my understanding and developing some workaround the fundamental untestability and spaghetti coupling of the codebase, I never managed to improve the code. I designed a prototype test framework where I recorded all method calls and outputs of running instances, and feed them to new code to see how it fairs, but it never got to the level of reliability necessary to confidently refactor such a fundamental part of the infrastructure. The team seemingly really wanted to shield me from that code.

A year in, I got to work on another greenfield project. This was the sustainable“ investment cockpit. I was pretty much alone with Yves (the frontend guy) on that one, and seemingly everyone I worked with was extremely pleased with what I did. Furthermore, the app was part of the company’s key marketing strategy. I probably earned my employer more than ten times my own salary (single tear smiling emoji)

During the hiring process, I clearly stated that I planned on staying at most 2 years. When came the time, I indeed announced my departure with a 6 months notice, which is 5 and a half more months than legally required. I took care to document well enough the code I wrote and document quirks. I also uploaded all my personal work-related notes to the company Confluence instance, I also suggested I upload the day-to-day task log I kept for myself, but the team considered this to be superfluous. I still left a specific bit of code I’m not proud of, but beside that code, I only had positive feedback on the code I wrote.

I even went back on-premise after leaving to say an actual “goodbye.” I left during the pandemic and didn’t have the closure I wanted, so I came back with a delicious cake I shared with the office and the new recruit that replaced me.

I spent a great time a Lombard Odier, every person I worked with were great and pleasant, I sincerely hope I was to other as others were to me. I left because Finance is the opposite of the career I want, I was constantly asking myself questions about what kind of world I helped build, I am uncomfortable with salaried work, and needed more independence, furthermore, I felt that I had no growth opportunity. Bluntly put, I believed I was caged in a golden prison and used as a tool to make the world a worse place.

2021-06-01 to 2021-10-01 Casual relaxation

The first month out of a job, I forced myself to not program, then slowly resumed, making mods for The Binding of Isaac.

It’s when an artist I admire asked to collaborate on a game that I really started diving into programming again

2021-10-01 to 2022-09-01 Devil Dahu

Thus was born Devil Dahu. The initial team included me, Xo and Jr. My first technology assessment lead me to believe that Godot would be the best engine to use, Jr was a CS undergrad and he had his says. He wanted to fork Godot and add functionalities to it.

I didn’t want to deal with a big pile of C++, and this is where I suggested Bevy as the engine itself is written very much the same way you’d write a game in it. It is the perfect modifiable engine. He agreed

Jr quickly left the team, but I was already a bit too involved in bevy at that point, having opened an RFC and designing a few plugins that would be necessary for the game we planned

I developed a few half-backed prototypes, two jam games and a few bevy plugins. I’m ashamed I never went deeper with the prototypes. I still think my design ideas would fill a niche that is in sore need of being filled (ie: games I want to play)

2022-09-01 More casual relaxation

After an intense half year of nonstop almost pathological programming, I’m now in a rut and really can’t sit down and write code as insanely consistently as last six months. Currently, I get at most a day per week of code. I’m taking the opportunity to do a bit of introspection. I’m generally very aware of where I stand in the world, but lately, I’m fairly certain the world has been moving away at an increasing pace.

Now and future?

I am currently looking for contractual or salaried work, I’d be more than happy to discuss opportunities with you. Just send an email to this website’s domain if you want to discuss it.