Due to some big changes involving the company I'm currently working at, I will soon move on to a new challenge.
But what are the challenges I'd like to work on in the next months?
Here is my list with things that excite me and things that don't.
Finding a job that would match all the following criteria is impossible. As
with any wishlist, this is just a listing of what currently interests me: some
things are negotiable, some are not. The objective is to collect my thoughts in
one place, so that I have a reference to compare potential job offers with. It
can also help potential employers understand more what kind of person I am.
One of the most important points for me when looking for a new job is to verify the company values.
- A clear purpose: I recently read Start with Why from Simon Sinek and it struck me for its simplicity. A company should be able to answer to a very simple question: Why should it exist?
- A positive impact: Choose a job you love, and you will never have to work a day in your life. If what you do improves people's lives, I'd love to hear from you.
- Good working conditions: This means european levels of social benefits and working conditions that help taking care of a family. A successful company should know better ways to track productivity than using a clock. Quality over quantity!
- Influence: I am enthusiastic and opinionated; I love challenges and I want my work to be impactful. I want the company I work for to be successful, but to do that I must be able to influence it.
After 15 years spent in web development, I long for bigger challenges. Making an application perform and scaling it to handle big volumes of traffic is not an easy feat!
- Kubernetes: Containerization has changed the way we deploy our software, but other things haven't changed: vendor lock-ins versus free software. Platforms like AWS are amazing, but I always ask myself if it's wise to be locked to a specific platform. Kubernetes allows you to choose from a wide array of hosting options, and you still have the door open to migrate somewhere else if you ever need to.
- Data streaming: I've worked with DynamoDB and Lambdas to process data in streams, but I found the artificial limitations really bothersome. I want to go a step forward and explore other options like Apache Kafka, Apache Flink or others.
Over my career I've worked with a plethora of different programming languages and while all can accomplish great things I obviously have my preferences. There are interesting newcomers on the scene and I'd love to try out some of them!
- Elixir/Erlang, Elm, Clojure, Haskell, Scala: Functional programming is very hot right now and I find very interesting how some of the concepts helped to solve modern problems (I'm looking at you, state management!). I'd love to work professionally with one of those, also to explore their shortcomings and become a better programmer in the process.
- Rust, Go: Those are relatively new kids on the block! Using modern programming languages to write (relatively) low-level programs must be fun, right?
- Python, Ruby: The old reliables. Yes, I've worked with them already, and yes, they still excite me! I know their limitations, but I also know how to overcome them when necessary.
- Java: I find Java extremely boring. I think Java might be the main reason I'm not a fan of statically typed languages! I mean to this day you need XML (yuck!) and an IDE to generate code for you if you want to keep your sanity. Its love for abstractions really clashes with my minimalist approach.
- C#: Although I've never been a fan of Microsoft, I must admit that in the last years they changed their approach completely. Nonetheless, C# is still very close to Java and I'm not sold on developing on Windows. The vendor lock-in concern is still present with the .NET platform. Maybe I could be swayed with F#, if the project is really interesting.
PHP: I've started my career with ASP and PHP, I've worked numerous
times with PHP and... I can't take it anymore! It just doesn't excite me at
all, it is bothersome for me to write (why
.??) and I think the type hinting is actually making the language worse! If I see PHP on a job ad it is very likely to be a deal breaker for me.
Quite a list, isn't it? If you are a fellow developer, what is your list of dream requisites for a new job? Let me know in the comments!
Are you on the lookout for developers? Do you think I would be a good match for your team, either remotely or in Zurich? Then get in touch!
As software gets more and more integrated into our lives, the industrialization of its crafting process becomes inevitable. But the over-generalization of software engineering can be crushing the creative side of programming.