Why ?
Looking for a job has changed a lot, at least in the world of IT. Before, you had to apply with a CV, and a cover letter To get an interview. Today, recruiters come directly to us. We are not going to complain about this situation, quite the contrary. In order not to waste time for both parties, I wanted to describe who I am, my vision, what I can do…
I’m a kind of hybrid, I can be Developer, Architect, DevOps, SRE, Full Stack… I don’t really have a specific hat. I don’t consider myself as an expert in every fields, frameworks or languages, I explored. Rather than multifaceted who is able to take actions on every layers of a software development. My job is to find technical solutions which rely on a functional requirement. The engineer’s job is not to know everything but to know how to find relevant information in order to solve an issue or put a new piece of the “puzzle”.
For several years, I work as a SRE (Site Reliability Engineer) which correspond to my philosophy. No day is the same, every day I learn new things, that’s why my job is a passion. The age of Cloud computing and SaaS platform made software ever more complex. We are way off the CD-ROM following a V model. Today we talk about scalability, high availability, big data or containers following an agility model. We need to develop, deploy and test bugs, new features but also scale and migrate quickly in order to keep the high availability. Working with different teams with a specific role would take too much time. To answer that, we split and separated the service into micro-services with small teams in charge of development and support of a specific component including testing, monitoring, operations, automation, maintenance, documentation, delivery… But these teams must keep a global vision on the whole service in order to move forward in the same way and share knowledge.
The knowledge acquired allows me to be comfortable with this new software engineer paradigm. Always learning, watching new technologies, improving, refactoring… and don’t be afraid of change and so adapt to meet the needs of the moment. Always questioning yourself, accepting criticism, communicating and sharing to try to do better. The experience allows going faster, make better decisions, have more creativity and more responsiveness to go even further. These are for me the capacities that the software engineer must have rather than a language, or a framework which is only a mean. Yesterday I was developing in Java today in Clojure and tomorrow ?
What can I do ?
- Build distributed oriented data-driven or event-driven architectures;
- Deploy a complete architecture on the Cloud;
- Work with system of containerized applications;
- Think scaling, migration, decoupling, agnostic solution before coding;
- Develop micro-services and APIs;
- Quickly develop an end-to-end PoC with GUI+Backend+…;
- Interact with SQL, NoSQL, memory cache databases;
- Set up a continuous integration and delivery system (CI/CD);
- Automate recurring tasks as much as possible;
- Set up alarms, metrics, dashboards that will allow operating and monitoring;
- Create an integration test environment;
- Work in an international context even if I am not bilingual.
What I like to do?
- I like to refactor, migrate or even better start from scratch on a new architecture with everything to do
- I like having a goal and being given the autonomy to achieve it.
- My 3 pillars are my family, sport and IT. Sport allows me free my mind. I practise a lot of endurance sport: triathlon, swimming, cycling, running, skate skiing… I practise when I want in harmony with the nature. Sport, and IT are the same philosophy for myself: train, optimize, iterate and rest to meet a personal performance, go further and faster.
- I like to stop everything and then resume the next day after a good night’s sleep, or a good sports session and unblock a situation.
- I like to develop concrete project for my personal use. So I created for several years some projects, I posted all my experiences in this site to share knowledge with each others. I created my own sprinkler system, my home alarm. I built my bikes and wheels, my drone…
What don’t I like?
- Large teams with lots of processes
- I don’t like to be restrained, I have to be able to go at my own pace
- I don’t support repetitive tasks
- I avoid and make sure not to do what does not interest me
- Imposing a programming language and/or an OS
- I can’t stand boredom, I need challenges to keep my motivation
- Too many meetings to speculate. I like to go straight to the point.
Qualities/Flaws according to the point of view
- I say what I think
- Very persistent
- I work on several subjects at the same time
- I like to work alone and then integrate with others
- Not afraid to try, I go for it.
- I’m working to make it work. I’d rather iterate than never deliver while waiting for perfection
The work environment
- Full remote (for 7 years)
- permanent contract (CDI) or Freelancer
- Work on macOS
- Great autonomy
- No imposition of language or others
- Project from scratch / refactoring / migration / new architecture
- Prioritize small teams
Bonus
- A business area that has meaning for me: the environment, personal assistance and especially sport