Avantages
- Salaire un peu plus élevée que la moyenne (très bien pour un premier emploi) - Boissons gratuites - Bon matériel (aeron chairs + grosse config de pc pour les devs) - Bureaux corrects - Package très intéressant : participation (pas d'intéressement), bonus, abondement pee, tickets resto au max, prise en charge navigo 100%, très bonne mutuelle, cotisation retraite complémentaire, ... - Travailler avec des gens brillants
Inconvénients
Global : - Culture d'entreprise où l'on évite le conflit à tout prix en contournant les problèmes sans les solutionner. - Evaluations perfs + bonus arbitraire et opaque (en 1.5an je n'ai jamais eu d'éval) - Management top-down sans consultation des gens concernés avant de prendre des décisions. - Pas d'objectifs (ni quantitatifs ni qualitatifs) données aux employés -> opacité de l'éval - Opacité des décisions et des vrais raisons pour lesquelles elles ont été prises : souvent on avait des annonces décorrélées des vrais problèmes et/ou aucun commentaire sur pourquoi les solutions alternatives (semblant plus raisonnable et adaptées) ont été rejetées. - Stratégie d'entreprise long terme flou et incompréhensible. - Manque de communication entres Product Manager & Stack Holders à conséquence lourde sur les devs. - Migration du mindset "assets de la boite = employés" à "assets de la boîte = code base" + "employés = centre de coût". Conséquences : outsourcing, organisation interne se rapprochant du modèle SSII (les train agile SAFE où les devs sont alloués à 50, 60, 90%, sortis de leur équipe. On parle d'allocation/désallocation de ressources humaines...) - Beaucoup de politique - Mise en difficulté des employés là où il n'y a pas lieu d'être - Beaucoup d'heure à faire, beaucoup de temps perdu en journée à cause de problèmes techniques - Trop d'e-mail (100 /jour facile) - Innovations beaucoup trop souvent tuées dans l'oeufs à cause de conflits politiques ou de carriérisme, voir même d'incompétence lors du transfère d'ownership. - Agilité douteuse (trains SAFE...) - Evolution de carrière ? On ne m'en a jamais vraiment parlé sérieusement. - Mobilité interne extrêmement difficile Technique : une grosse partie du logiciel est codée en C++ - Enormes problèmes de conceptions dans la code base qui ne sont pas adressés et ne le seront probablement jamais. Conséquence : 80% des tools du marché ne sont pas utilisables sur la code base car ils ne peuvent pas marcher. Ca inclue les build systems et package manager. Conséquence : build system & tooling maison. - Process qualité à revoir - Gestion de l'infra abominable - Système de build grotesque : non incrémental, non déterministe (random failure) - Débuggage quasiment impossible sur linux : aucun tool n'a été prévu pour. - Intégration continue balbutiante - Couverture de tests unitaire faible (code legacy). Il y a la volonté de réécriture / rendre testable le code mais pas les moyens. - Perte de temps infinie à parcourir du code incompréhensible et non documenté pour trouver des bugs et patcher des rustines. - Gros problème de documentation et de maintenabilité du code - Norme du langage longtemps obsolète (C++03 à l'heure où j'ai quitté l'entreprise mais passé à c++11 fin 2017, ouf !). Enorme difficultés et coût à valider la compilation sur les version supérieures (ça a pris entre 3 ou 5 ans je ne sais plus). - Développement pas vraiment intéressants. Nouveaux développement principalement réservés aux seniors. - Il faut sans arrêt faire des workaround pour contourner tous les problèmes, bug/features existant sans jamais les adresser car trop coûteux en temps. - Il est fréquent de rester devant son PC à attendre qu'un build se passe, que l'appli se lance, à refaire le même chemin de bug-repro au débugger pendant 15-20min, à attendre un check QA, et ce pendant des heures durant. Enorme perte de temps globalisée. - Je n'ai jamais eu une productivité aussi basse de toute ma carrière. Je suis resté dès fois pendant 3 jours sans pouvoir compiler/débugger.