j'ai bossé un peu plus de deux ans dans une boite, celle ci spécialisé cinéma (solution logicielle complète, caisse, programmation salle, vente liées (confiseries, ..), bornes tactiles, achat billet via le web ... )
l'intégralité est sous windows et développé en windev,
les dev sont incompétents, le master dev c'est sa première boite, neuf ans qu'il est à son poste, il ne connais que windev et le soft sur lequel il bosse (créé par un ancien employé qui s'est barré et dont il jure le nom chaque jour)
un autre dev est un ancien cuisinier, il est en "charge" des serveurs (windows) et fait tout en "webdev"
le dernier dev est un ancien hotliner de la boite
aucune gestion de code source, aucune connaissance de la console (tout en teamviewer, version troué et vieille de plusieurs années),
le gars en charge des serveur est obligé de faire payer à la boite de la maintenance externe pour mettre des firewall et mettre en place le necessaire pour webdev, aucune connaissance en conf apache, ni en sécurité même basique
la boite prend un cadre qui auparavant concevait des bornes tactiles et leur soft pour les offices du tourisme (plan des commerces, agenda, météo, ...)
ils veulent développer le secteur office du tourisme, le cadre est un bon commercial et vient avec son portefeuille client,
il n'y à aucun soft mais une dizaine de ville à déjà signé, en attendant les villes sont sous les vieilles bornes et le vieux soft (n'appartenant plus au cadre)
ils cherchent un dev, je postule, montre mes propres solutions et prend le job
je dois donc bosser en urgence, les villes attendent déjà le nouveau soft promis sous peu à la signature alors que je n'etait même pas embauché, normal
première année, je suis sous la responsabilité du cadre,
le cadre à conçu une nouvelle gamme de borne tactile (il n'a plus les droits sur les vieilles),
en gros une grosse coque, un kit écran custom, un kit uc custom,
un presta externe doit réaliser à terme une carte électronique de gestion (plusieurs sonde de températures, asservissement de turbines, ventilos et bande de led, luminosité de l'écran depuis sonde, relais pour éteindre le mac ou le rebooter en cas de -10° en station de ski et autre ébullition lcd due au soleil ..)
les leds (r, g et b) étant en dur et sortant de faire mumuse avec des arduino je propose de plutôt utiliser de vrai led rgb adressables indépendamment, chose accepté et intégré par le presta,
le délire du cadre c'est les mac, l'office du tourisme est bien séparé du cinéma mais les bornes sont communes,
un prestataire externe (un dev de qualité lui) à donc conçu la partie cliente des bornes cinéma en cocoa,
ce soft peut aussi démarrer en affichant une vue webkit et c'est la dedans que je vais intervenir, via donc js/html/css et ma solution perso en node/redis
en attendant le nouveau soft il faut donner à bouffer au vieux pour ne pas que les clients pètent un plomb, météo, plan de la ville et agenda sont récupérés depuis l'extérieur, et tout est actuellement coupé
je créé une dizaine de parseur pour taper les différents SIT et leur variations (Systeme d'Information Touristique),
en gros les SIT proposent une admin web aux villes, pour déclarer les commerces et évènements de la ville (agenda et plan), et exporte tout celà avec chacun leur format à la con,
je créé un format propre pour les contenir tous, et exporte le tout dans le format attendu par le vieux soft,
également je créé le nécessaire pour importer dans un second temps un max de chose depuis ce vieux soft en prévision du remplissage sur le nouveau,
l'urgence est le nouveau soft, j'analyse le tout pendant un moment, noircissant un max de feuilles
et, depuis mes propres solutions je crée un soft complet de gestion de bornes avec de multiples plugins,
une admin sur un serveur central et tout l'écosystème attenant pour déployer sur les bornes client
je forme au shell le cadre et sa femme, plus deux employés qui à l'origine montaient les bornes et forme au js/jquery un des dev venu un mois me prêter main forte sur les plugins
j'installe de zéro deux serveurs sous linux, un destiné à accueillir les dépot git et les différents parseurs SIT, l'autre pour l'admin du soft,
entre temps la première version de la carte électronique est opérationelle, j'intègre rapido le necessaire pour lui parler, récupérer les états des sondes et afficher de jolies courbes,
aussi des utilitaires cli permetant un monitoring temps reel via ssh
les bornes tactiles étant chacune derrière les box client (cinéma et office de tourisme) le cadre passe sa vie au téléphone avec les clients et leurs prestataires pour ouvrir des port laissant passer ssh...
toutes les bornes sont sous le même mot de passe LOL, écrit en cowbow mais assez court...
je profite de l'absence du cadre et sa femme pour passer à la technique pécho un pc, je le monte sous arch et me documente à bloc sur le reverse ssh,
je met tout en place écrivant mass scripts permettant la génération de clef rsa sur chaque borne et l'insertion des clef publiques dans le gros serveur central,
je créé aussi un utilitaire permettant depuis les postes admin de la boite (eux aussi en reverse sur le serveur pour une sécurité++ car ayant décidé que les port reversé (ssh et vnc) de chaque borne sur le serveur ne sont accessible QUE depuis localhost) de lister les bornes online, d’accéder à un shell en tapant "b 327" pour la borne 327 ou pour exécuter des commandes directe sur une borne "b 327 ls" ou sur toutes les bornes..
j'ai aussi mis en place le nécessaire pour chrooter les utilisateurs ssh des bornes sur le serveur, histoire qu'elles n’accèdent à rien hormis les fichiers nécessaires à leur mise à jour et puissent pousser dans un répertoire en écriture seule leur stat et fichiers de vente
fin de la première année, le département office du tourisme n'a pas atteint les 500k€ de chiffre d'affaire (en même temps le cadre passe sa vie à faire du cinéma et la boite fait à gogo de remise aux clients qui passent chez eux car ils sont en guerre juridique avec un concurrent qui à racheté la boite du cadre)
je suis en contrat aidé (j'ai du arrêter ma boite pour y prétendre), les aides vont donc changer, la direction veux donc me virer
coup de pression, comme un con je signe une rupture conventionnelle, j’étais fatigué avec de gros gros travaux à causes de deadline à la con du fait de salon du cinéma et du tourisme .. comme un con accepte aussi de prendre toute mes vacances en attendant (j'avais pas pris une journée depuis le début)
je rejoins mon hamac et me met en mode chômeur avec stock de bières.. l'inspection du travail valide la rupture, nice
on me recontacte, ils veulent que j'explique ce que j'ai fait sur le serveur (LOL good luck), j'envois un sms expliquant que rien n'est conventionnel, que je suis aussi sys admin, que des infos sensibles sont contenu dans le serveur, à ne pas laisser n'importe qui y toucher et que bah bonne chance vous êtes dans la merde .. xD
on me répond passe au bureau
je négocie, obtient une augmentation et un passage à mie temps (20h, lundi mardi, mercredi matin pour 1200€ net)
j'ai niqué mes vacances à boire des binouses au lieu de bouger, holy shit ...
je reviens donc, entre temps le cadre (bidouilleur, pas dev) à touché 40 milles truc dans le soft et a à moitié tout niqué, enlevant pleins de possibilités aux clients (il aime apple et suis la même philosophie consistant à penser à la place du client)
je remet un peu les choses dans l'ordre et commence à souffler un peu appréciant fortement le nouveau rythme.
le gars à qui je devait expliquer ce que j'ai fait sur le serveur est un "dev" cadre tout nouveau, soit disant je dois être maintenant sous ses ordres (le seul dev avec un autre dev comme supérieur omg),
il habite à 800km et est la une semaine par mois, je l'ai 15 minutes au tel, ca suffit, je comprend que c'est un gros noob, il comprend qu'il n'a rien à me dire,
assez vieux il reste bloqué sur ses techno (php sql), je lui apprend même que tab autocomplète les commandes ou path dans la console (sic), un gars qui me sort que la norme json doit être en ascii quant je lui fournis de l'utf8 ( connard J c'est pour javascript, nativement utf8 depuis le day 1 )
un gars qui à importé de son ancienne boite mass code obsolète qui n'avais pas le droit d'utiliser, un gars qui vérifie la taille des pass coté client mais pas coté serveur, un gros noeud plein de mauvaise fois qui me sort par les yeux

le cadre qui me dirigeais avant est aussi en guerre contre ce gars, disons que moi et le cadre on essayais de faire un écosystème cohérent pour tout le coté logiciel de la boite et que l'autre débarque sur de lui, remet les choses en question sans rien connaître, restant sur ses techno vieilles de 15 ans ...
mais bon il à été embauché pour faire du big data et suce la direction c'est magique
(disons que j'ouvre ma gueule et fait ce qu'il faut faire, dans les règles de l'art, suivant mon éthique donc on voulais me "cadrer")
bref il ne m'a jamais donné d'ordre et suis échu de son commandement en deux deux car il ne me commande pas, je reste sans cadre dirigeant, sachant simplement ce que j'ai à faire et le faisant, autonomie totale.
étant expert en C et le presta externe de la carte électronique coûtant un oeuil pour chaque modif je demande le source et commence à bosser dessus, je fais un check complet car certaines choses rayent les yeux, réécris et optimise mass choses, rend la plupart des valeurs en dur configurable, commence à trifouiller un peu pour lire et écrire la rom inutilisé jusqu'à présent, j'augmente à gogo le nombre de commandes dispo via rs232, bref prend en charge un projet de plus ...
à coté je créé d'autres utilitaires, pour monitorer en permanence les bornes et les cartes électroniques, relancer le reverse ssh si il tombe, prendre des capture d'écran, toute les conf, état système et autre ... pour remontée et traitement vers le serveur central, auto flasher le firmware ou dire bonjour quant un client se fout devant la borne..
la direction décide de lancer un nouveau projet, ils convoquent tous les dev et des cadres de la boite, nous sommes sept dans la pièce,
le big boss veut dans les six mois le soft pour les dix prochaines années, une billetterie loisir (piscine mairie cinéma multiplex, ...)
le plus vieux dev de la boite (le gars qui fait du windev) réclame d'être chef de projet ..
trois mois passe, rien, pas de réunions, pas de discutions, rien LOL
le gérant est en panique soudaine, cela fait réagir le chef de projet, je le sauve en lui expliquant :
"regarde on prend mon soft office du tourisme, on rajoute un panier and here we go, en plus ca mutualise les softs en un seul,
par contre je dois wrapper gogo de code avant (chose en attente depuis 1000 ans pour avancer sur d'autres sujets)"
forcément le nouveau cadre n'est pas content, il pete son cable et se retire du projet (lol, de quel droit ?),
les autres dev continues leurs projets en cour, le chef de projet est occupé à bosser sur son fork du soft cinéma pour le marché marocain,
et mon ancien cadre dirigeant se retire aussi, bref de sept à l'origine je suis seul, normal ...
on me demande de bosser plus, mes deux jours et demis ne suffirons pas, je passe à minimum 3.5 jours (avec stock d'aller retour pour me couper en deux, ma copine était hospitalisé ...)
je fais une démo panier en deux deux, puis discute longuement avec le chef de projet car il connaît sur le bout des doigts le coté cinéma et qu'à terme on verrais bien refaire aussi toute la partie cinéma avec ce nouveau soft,
il en ressort que de gros soucis vont arriver, la multiplication des endroits de ventes (prestataires externes (genre fnac), web, caisses, bornes, ...), les multiples tarifs, les ventes liés, ...
plus d'autres projets spécifiques éventuels (bateaux mouche par exemple, billet valable sur plusieurs bateaux différents, gestion live du nombre de passager par bateau, compostage temps limite et autres joyeusetés)
tout ça fait que c'est la merde, bien sur aucun cahier des charges hormis un truc fonctionnel à très haut niveau pas détaillé du tout et qu'on me donne au bout de X mois
c'est pas on fout un truc en panier, paiement, stock--, non non tout doit être real time
bref je repars sur le papier, prend en compte toutes les possibilités et fait un système tout neuf pour que chaque article du panier soit une instance realtime d'une classe tournant vraiment sur le serveur,
étant susceptible d'évoluer entre l'ajout panier et la fin de la vente ..
je fait de mon mieux pour isoler complètement le code métier spécifique du moteur, héritage à gogo, plus l'urgence, ca fait un gros truc over engeneeré ...
la porte du gérant est à un mettre de mon bureau mais le gars se réveille deux semaines avant la deadline, je bosse seul sur le projet donc forcément c'est ma faute lol
bien entendu je ne mâche mes mots, expliquant même que certes étant le seul qui bite quelque chose à ce que je fait j'ai tout de même demandé à de multiple reprise que les autres participent à leur niveau
sur des choses pouvant être séparés : partie cliente, librairie pour gérer l'imprimante thermique, le tpe, ...
finalement le chef de projet fait enfin qq chose et se met sur la lib imprimante,
je perd du temps à lui expliquer son job, like a stagiaire, le sort de la merde car il ne bite rien et sa lib raye tellement les yeux que je la réécris presque complètement ...
"on" prend du retard, le gérant veux maintenant une simple démo (connard le panier lambda c'est il y à trois mois qu'il était prêt) je dis que non c'est trop tard pour faire machine arrière, la c'est presque stable
le code du moteur est à peut près clean, mon ancien cadre dirigeant fait un pseudo design de plugin cinema après moult demandes et temps, je demande au chef de projet que son serveur cinéma me donne les infos nécessaires,
son putain de serveur met 30 putains de secondes à retourner la liste des films à l'affiche !!!!! les fiches films avec synopsis lien vers affiche et bande annonce, tarif et places dispo mettent autant de temps !! et ça doit être real time, wat ?!
inutilisable, je sauve le résultat et utilise tout en offline pour une démo wtf
démo avec le gérant, d'un coté ça vend des billets de piscine, tarifs fixes et décompte des personnes dans la piscine, plus des truc fixes genre bonnet de bain,
de l'autre places de ciné real time (hormis les ressources du fait des 30 secondes ...),
le panier envois du lourd, concatène tout proprement et sort des billets indépendants par produit avec places numérotés quant il le faut etc, that's a win \o/
mais pour le gérant > quoi du cinéma ? on n'a jamais demandé ça -____-
ensuite ils sont venu à trois sur moi me faire un procès, je les ai jeté bien comme il faut, en gros je suis le seul qui bosse allez tous vous faire foutre
je vois le dirigeant, lui expliquant qu'il voulait un soft pour les 10 prochaines années et assez souple et générique pour tout faire, c'est en alpha mais c'est le cas,
je lui montre même que j'ai refait la partie cinema des bornes avec (longtemps qu'il voulait dégager le presta externe qui gère le soft cocoa cinéma car il prend des royalties)
il gueule un truc de ouf TON TRUC GERE LES CARTE CE ET ABO PEUT-ETRE ? IMPRIMER DES TICKETS C'EST BIDON genre un soft c'est tout de suite 100% de l'ancien ou rien
bref ca part en couille, ils décident d’annuler le soft et je reviens à mes deux jours et demis de taf, je continus ma maintenance des office tourisme, SIT, soft de gestion et monitoring, firmware de la carte elec ...
hop la date anniversaire du contrat arrive, comme chaque année on veut me virer, je refuse la rupture conventionnelle, finalement on me parle de licenciement économique .. bah la j'ai pas le choix ...
bien sur les heures sup que j'avais faites n'on pas été payés, ni déclarés, pour résoudre ça plusieurs possibilités, mais ça bloque à la compta, c'est pas légal,
il me fait signer un papier antidaté spécifiant que je bosserais pour le gros projet un peu plus, payé via une prime

entretien préalable au licenciement économique, avoir un ce est obligatoire au vus du nombre d'employé, je demande qui est le ce, on me dis pas de ce (en fait le ce c'est le gérant xD)
je choisis alors une autre employée, elle aussi sur la sellette, j'avais épluché toutes les lois, je la briffe, je fait dire au patron que sa décision est déjà prise, je cite "ferme et irrévocable" => illégal
je demande les bilans comme j'en ai le droit, refusé mais il appelle la comptable lui demandant si ils sont par moment à découvert (1.5M de chiffre et 200k de benef l'année dernière mais c'est pas grave)
elle écrit 4 pages de notes avec chaque écart constaté, mauvais réflexe j’attends qu'elle mette au propre les pages plutôt que les photocopier (depuis silence radio elle à du accepter ce que j'ai refusé, sal*pe !)
je commence un travail de sape, demandant au gérant si il sait jouer au poker, lui lançant des choses de manière évasive, c'est qui le ce ?
je note un nombre très important d’irrégularité, 20h illégal, temps de taf maximum pour le 20h dépassé, boite sous la convention commerce de gros en vendant du soft, le gérant est le ce, ...
entretien avec le dirigeant pour que je n'aille au prudhommes, nous avions préalablement convenus pour que n'y aille pas, mais entre temps ils m’ont baisés des jours de vacances et on gratté pour ne pas me donner ce qui me revenais
il me qualifie de négociateur professionnel, je lui dis écoute il y à des gros problèmes de légalité, ce, temps de travail minimum, maximum, harcèlement, mauvaise convention collective, faux licenciement économique, taf non déclaré, paiement d'heure par prime, 60% du soft est mon code etc ...
je veux le minimum que je suis certain d'avoir au prudhommes, 50k (certes j'ai un peu monté le tarif)
il me dis que ses deux avocats ont dis qu'il paierait 10k, je lui rétorque que donc deux avocats que je ne pourrais me payer lui ont dis que j'aller gagner, il se mort la lèvre au sang et stoppe la négociation la.
depuis qq mois je monte le dossier prudhommes, pas évidents je manque de temps,
j'ai pris un avocat, lui ai déjà filé 700 boules et doit lui refiler 1400 plus 10% des gains éventuels,
je ne l'ai revus depuis, j’attends de terminer mon dossier ...
sinon, je me suis barré avec pas mal de preuves
j'ai fait du code pour extraire et concaténer jour par jour et par semaine les page visité de firefox, les commits, les accès serveur et timestamp des commandes tapés, les sms, je bloque encore sur skype, le leveldb est la merde à extraire sans réimplémenter parfaitement le comparateur de chrome ...
mon but :
* passer sous syntec plutôt que commerce de gros
* casser l'avenant des 20h, illégal car temps minimum de 24h sans dérogation écrite et justifié (et 25 en commerce de gros), plus démontrer que le temps max de travail (10% du temps en complémentaire et 1/3 du temps en gros max exceptionnel) à été dépassé durant 4 mois => repasser le contrat à temps plein
* prouver que le licenciement économique est bidon (ils se justifient car ils ont perdu un gros groupe cinéma, mais c'est les numéro un, 900 ciné en france sous leur solution, plus les offices du tourisme (30 communautés de commune ou ville), des banques, cave à vin et autres)
* prouver que j’étais multi-casquette, dev embarqué, dev web, sysadmin, admin réseau, ... pour changer l'échelon et passer assimilé cadre
* prouver via mon code que j'ai fais des apport en industrie
* réutiliser les modif sur ma propre solution faite durant les deux ans, éventuellement toucher qq choses pour son utilisation
ceci pourrais être un topic FFUUUUUU ...
mais j'aimerais savoir pour vous, bossant dans de *vrai* boites, quel aurait du être mon échelon et statut ?
sur ma fiche de paie j'étais "développeur" niveau III échelon 1 en commerce de gros ...
quant je regarde syntec, à mon sens je devais être cadre 3.1 la première année, puis au delà la seconde quant j'ai été directement sous les ordres du gérant .. et ou avec le cadre je ne faisais que "collaborer"
des conseils ou expérience sur les prudhommes ?
que suis-je en droit de demander ? j'abuse sur des choses ?