Missions de développement
Cette section concerne les équipes informatiques qui ont besoin d'un prestataire indépendant pour les aider ponctuellement à développer un projet.
- Développement pour les grands comptes ou les startups
- Développement pour les PME et les travailleurs indépendants
- Ce que je ne fais pas ou ne fais plus
Expérience croisée: Même si les spécifités sont très différentes, travailler avec une grande variété de clients permet de partager les meilleures pratiques et les innovations apprises dans chaque projet, pour le bénéfice de tous, petites ou grandes entreprises.
1. Développement pour les grands comptes ou les startups
Travailler en équipe sur un projet qui impacte potentiellement des millions d'utilisateurs est très motivant. Même si le développement est un
peu plus lent à cause des procédures, des nombreux tests et étapes de livraison, le fait de travailler sur des technologies souvent à la pointe,
avec une méthodologie rigoureuse, en prêtant attention à chaque détail pour améliorer les performances et la sécurité est
une grande source de satisfaction professionnelle. A cela s'ajoute la richesse des échanges avec les membres de l'équipe au travers des
code review et autres interactions permettant un apprentissage continu mais aussi de vivre une expérience humaine commune, dans une
ambiance collaborative et conviviale.
Senior Java and Full Stack Web Developper
- En régie, au sein d'une équipe, principalement à distance, mais déplacements envisageables dans les bureaux du client
- Pour des projets de plusieurs semaines ou plusieurs mois, à temps plein (horaires de bureau) ou à temps partiel
- Développement API Rest, microservices, MVC, EDA (event driven architecture), programmation réactive, ...
- Développement complet, nouvelles fonctionnalités, audit, refactoring, migration avec changement de technologies
- Technologies actuelles: java, spring boot, postgresql, hibernate, kafka, svelte, ...
- Technologies utilisées dans le passé: environnement J2EE, servlets, jsp, play framework, jersey 2, php, cobol, db2, etc.
- Dev ops: cd /ci, jenkins, ansible, docker, kubernetes, pipelines bitbucket, github actions, ...
- Sécurité, performance, testing ...
- Méthodologies agiles: Scrum, Kanban, Jira, etc ...
2. Développement pour les PME et les travailleurs indépendants
Dans ce cas il n'y a souvent pas d'équipe informatique en interne (ou non spécialisée en développement d'applications web) et je suis
susceptible d'intervenir sur toute la chaîne de création, depuis l'analyse initiale jusqu'à la livraison en production.
Cela comprend entre autres l'analyse des besoins, le choix des technologies, la modélisation des données, la configuration de l'hébergement,
la mise en place d'un système de livraison continue (CI/CD), et bien-sûr le développement en tant que tel. J'ai un rôle de conseil, d'architecte,
de développeur et d'opérateur (configurations et livraisons) au sein d'une équipe ou en solo. Faire réalité un projet dans son ensemble
est bien-sûr passionnant.
- Compréhension des besoins du client (objectif clair, fonctionnalités minimales et priorisation)
- Optimisation de l'application en fonction du budget (aller à l'essentiel pour minimiser les coûts tout en offrant la meilleure qualité)
- Choix des technologies et des outils pour construire une application robuste et évolutive
- Conception et expérience utilisateur (UX/UI)
- Accompagnement durant tout le processus: l'analyse, le développement, la maintenance et le support
- Hébergement dans le cloud pour assurer la performance et la régularité
- Sécurité à tous les niveaux comme priorité
- Respect des délais et gestion du projet (itérations régulières et ajustements en fonction des besoins)
Tous les détails dans la section
Applications web 3. Ce que je ne fais pas ou ne fais plus
Tout au long de ma carrière j'ai utilisé de nombreuses technologies pour faire
des sites internet et des applications web. Actuellement il existe de nombreux
languages ou frameworks tout à fait valables pour développer une application
et tous les jours naissent de nouvelles bibliothèques, des plugins, des actualisations
des framework existants, de nouvelles manières de coder, bref la technologie ne
s'arrête jamais. Et c'est très bien.
Cependant il n'est pas possible de tout maitriser en même temps et il faut donc
choisir, donner la priorité à certaines technologies plus qu'à d'autres.
Voici la liste de ce que je ne fais plus ou ne fais pas (excepté si cela
s'inscrit dans un projet beaucoup plus complexe, comme des migrations):
- Les sites vitrines Wordpress et autres
- Je n'ai pratiquement jamais fait développé de site Wordpress, disons très peu
car chaque fois je préfèrais un autre CMS, plus flexible, plus sûr,
moins contraignant, plus adapté au client.
- Actuellement je recommenderais plutôt de faire du no-code ou du serverless
pour un site vitrine, il existe de nombreuses solutions faciles à mettre
en place et à maintenir.
- Je privilégie des applications plus complexes, c'est là où je peux apporter de la valeur.
- Les plugins Wordpress et Woocommerce
- J'en ai fait, je n'en fait plus.
- Les sites E-commerce classiques
- Je recommande d'utiliser les solutions existantes du type shopify, squarespace, etc .
- Sinon je délègue à des collègues spécialisés e-commerce.
- Le design graphique
- Je travaille à partir des écrans déjà designés, avec Figma dans l'idéal.
- Sinon je délègue cette tâche à des graphistes avec qui j'ai l'habitude de travailler.
- Par contre je fais la maquétation, les graphiques dynamiques, quelques animations, ...
- Le front-end des applications mobiles
- Je ne code pas les applications mobiles ni sur Android ni sur iOS.
- Par contre développer l'API qui servira de back-end rentre
tout à fait dans mes cordes.
- Si vous êtes développeur spécialisé dans le développement mobile,
n'hésitez-pas à me contacter.
- Les applications exclusivement autres que Java ou Javascript
- Je ne fais pas ou plus des applications en PHP, en Python,
.net, ruby on rails, etc. (mais je peux les utiliser dans le cadre d'un projet mixte)
- Les business qui pourraient entrer en concurrence avec les clients que j'accompagne
- Par éthique, d'autant que j'apporte beaucoup de conseils à mes clients.
- Il peut m'arriver d'avoir une clause de non-concurrence