100 days at Bestmile
I’ve done this kind of flashback for my last 2 software engineering jobs at ELCA/SecuTix and Doodle, so I’m maintaining the tradition. Albeit with a 4 weeks procrastination delay, as my 100th day at Bestmile was end of May.
Again, here’s a list of random thoughts:
- I started working at BestMile and now work at Bestmile. A small rebranding happened, the difference is very subtle in the brand name, but we have a much improved corporate website.
- I mainly chose to work at Bestmile because of the (vision of the) product and the tech stack. So far, I’m not disappointed. I learned a lot about React, Redux, ES6, git rebase, Semantic UI, Docker. On the product side, well, we are still looking for big customers.
- Last time I was looking for a job, I turned down a position last-minute at Liip in Zurich because they paid less than the position I accepted at Doodle. Which was also offering significantly less than my previous job. This time, I chose to put less weight on the salary expectations, but still have a non-negociable lower threshold. Bestmile barely fits that.
- Since I joined, the company hired almost a dozen people. I’m a bit scared by the fast growth, but I guess we need a substantial investment into the sales team to get a chance at being sustainable.
- Bestmile is a startup because it’s still mainly financed by investors, and the product is not yet clearly defined. It is not a startup however if you look at the size and the internal organisation of the company.
- Being back on the EPFL campus is weird. My freshman and sophomore years were the shittiest time of my life, and I don’t particularly like being reminded of them.
- The EPFL campus sure has changed a lot since I graduated in 2004.1
- I used to think I was a keyboard geek because I was using my own personal keyboard with a US layout. But this is nothing compared to some of my current colleagues’ setup.
- Bestmile is the first company I work at that has QA engineers who write end-to-end tests themselves and approve features instead of the product owner.
- I’m allowed to work remotely 1 day per week. I usually don’t do it because I live close to the office, and I need to get out of my apartment.
- In Zurich, I was walking to work because I lived so close to the office. Now I’m biking again, which is awesome. 20–30 minutes of free daily exercise.
- We’re supposed to work 42.5h/week. During most of my “career” I worked 42h/week, then at Doodle we went down to 40h/week.
- The team is diverse in terms of age (I’m not the oldest dev anymore) and origin. At the office in Lausanne, we have people from Switzerland (with a bunch of binationals), France, Germany, Poland, Hungary, Iran, Canada, etc. English skills naturally vary a lot, and they are overall a bit worse than at Doodle. We are also, sadly, mostly men.
- I got the chance to set up a whole new app from scratch. I set the unit test coverage threshold at 80% and for now we have been able to keep it there.
- Overall I’m happy with what I do. I’ve been working a bit too much on boring CRUD screens though.
- I do a lot less actual UI crafting than before, and I miss it a bit. The only new concept I barely touched upon are CSS grids. Our app is targeted at Chrome only, with no intention to have a responsive design. Both are bad decisions we are very well aware of, but we do our best not to paint ourself into a corner.
- Like when I started at Doodle, there is currently no designer at Bestmile. But we are looking for one.
- Other things I got to play with a little: GTFS, Websockets, Looker, map projections2, dial-a-ride problem…
- It’s a bit weird to go from millions of users overall and thousands of concurrent users at Doodle, to virtually no user at all at Bestmile.
- Our scrum process is still in the making. The goal is to have 2 weeks sprints culminating in a production release. So far, the system has not been stable enough, so nothing was ever released.
at Doodle, we had time zones. At Bestmile, we have map projections. Both have their fair share of WTFs. For example, the most relevant map projections have their origin in the European Petroleum Survey Group: EPSG:4326 (used by GPS for example) and EPSG:3857 (Web Mercator, used by most online map providers). ↩