Bonjour,
Préambule : vous aurez remarqué que ces derniers temps j’ai du mal à être actifs sur tous les sujets, souvent on me répond et je n’ai pas le temps de faire de même… Il est prévu dans mon agenda que je réponde à vos messages, tous topics/billets/MP confondus. La situation est compliquée ces temps-ci de mon côté.
Contexte
Le Super Client
Nous avons un nouveau client (extrêmement) important pour la startup d’un point de vue financier et stratégie à court et moyen termes. Mon dev est prêt depuis quelques mois donc c’est cool. Il s’agit d’un import de données d’un fichier Excel vers notre db.
Le Super Fichier
-
Vendredi dernier : Ce client devait nous fournir le fichier de données il y a 2 semaines, il ne l’a fourni que vendredi dernier. Le CTO m’en a parlé à 17h10 (je finis à 17h le vendredi, donc j’ai pas regardé, d’autant que j’avais un rdv perso). A noter que la semaine précédente j’étais déjà resté vendredi jusqu’à 17h20 et qu’au cours des deux dernières semaines je suis déjà resté plus tard que mes horaires, une fois je suis même revenu à 23h (bien qu’en tout j’aie travaillé 1h de plus seulement que la durée normale quotidienne.)
-
Aujourd’hui (lundi) :
-
Ce matin, lundi donc, j’apprends du CTO qu’il est absolument impératif de procéder à l’import des données en local, puis dev, puis sur la prod. Le CTO doit s’absenter pour une raison perso à partir de 16h donc je devrai me débrouiller seul ou avec le Lead Dev.
-
Le matin, je passe mon temps à cleaner les données du fichier Excel ainsi qu’à faire des micro-ajustements dans mon script d’imports car certaines données sont incohérentes.
-
Fin d’après-midi, je tombe sur des erreurs "PHP Memory Limit Exceeded" côté serveur de dev (et de prod probablement), or nous n’avons pas la main pour modifier ces données. Le fichier Excel est en effet volumineux et la représentation en RAM avant insertion en DB doit l’être tout autant.
-
L’après-midi toujours : le framework d’import de données que j’utilise n’était pas connecté à MySQL, ce qui résultait en une erreur, dont je pouvais m’apercevoir uniquement si j’avais lancé les imports quand je testais en mode "Asynchrone" (job queued d’import) et non "Synchrone" (= import exécuté tout de suite en CLI). J’avais oublié de faire ça durant ma phase de dév des imports et ne m’en n’étais aperçu que cette après-midi durant le lancement des imports en local puis sur dev. Cette erreur de configuration du framework, je l’ai résolue rapidement.
-
-
Il ne m’a jamais été demandé de lancer un import avec un gros fichier, sauf vendredi après 17h10 (mais comme déjà expliqué je l’ai pas fait). Ainsi, même si on avait évité l’erreur de config du framework, on aurait de toutes façons eu la Memory Limit puisque je n’aurais jamais été en mesure de tester avec le gros fichier volumineux que le client nous a donné très en retard, vendredi, pour un import en prod lundi.
On m’a fait comprendre qu’on allait me passer une soufflante demain matin au daily. D’autant qu’ils auraient été obligés, apparemment, de faire appel à un ancien freelance ayant bossé pour nous, en urgence.
Il faut comprendre, de leur côté, que :
-
Ce client est d’une importance cruciale pour la boîte, pour qu’elle puisse progresser financièrement, même si ses finances sont OK actuellement.
-
Le CTO a été extrêmement clair, ce lundi uniquement, sur le fait que la livraison en prod était impérative pour ce soir. (Par message Slack uniquement, et aucune forme de compensation annoncée).
Il faut comprendre, de mon côté, que :
-
Le dev des imports est OK depuis plusieurs mois
-
On a commencé à me parler de ce gros fichier à importer vendredi car le client l’a livré en retard
-
On va me reprocher des problèmes d’imports alors qu’il y a du memory limit côté serveur, sur quoi je n’ai pas la main.
- On va me dire : tu n’avais qu’à refaire tout ce dev et réutiliser des parties de ce que tu as déjà fait, sans utiliser le framework de l’import : ainsi tu n’aurais peut-être pas eu de memory limit.
- Oui mais c’est pas sûr en fait, et puis de toute façon ça prendrait trop de temps : j’aurais probablement travaillé plus de 10h ce soir (je suis déjà à 8h au minimum car 39h et j’ai déjà dépassé d’1h). De plus ils sont relous pour la compensation : pas d’heure supp, mais toujours 15min ou max 30min à récupérer par-ci par-là, car ça se verrait trop par rapport aux autres collègues, qui sont tous au forfait jour sauf moi.
- On va me dire : tu n’avais qu’à refaire tout ce dev et réutiliser des parties de ce que tu as déjà fait, sans utiliser le framework de l’import : ainsi tu n’aurais peut-être pas eu de memory limit.
-
Je n’ai ainsi pas l’impression d’avoir causé de problème au niveau de mon dev. Je n’ai pas l’impression que l’impossibilité d’importer soit ma faute. Ce n’est pas non plus ma faute si le client envoie son fichier avec énormément de retard, un vendredi après-midi, pour un import en prod prévu lundi.
Question
Au vu de ces informations, je sais déjà que demain matin on va me pourrir au daily, on me l’a fait comprendre, mais vous : pensez-vous qu’on puisse me chercher de sérieuses noises à cause de ça ?
Fallait-il vraiment que je n’aille pas à ma séance de JuJitsu ce soir, et que je bosse plus de 9h voire plus de 10h ? En étant sûr que ce ne sera pas compté en heures supp, et en étant sûr que, si jamais ils acceptaient de compenser, ce serait à raison de 15min et 30min max parfois ?
Merci… Je suis un peu perdu dans cette boîte… J’ai passé en toute fin de semaine dernière un entretien dans lequel ils se disaient très satisfaits mais que je devais prendre confiance en moi, et ils m’avaient expliqué en quoi ce client était d’une importance cruciale… Comme pour me préparer psychologiquement à accepter tout et n’importe quoi pour bichonner ce client et, surtout : pour que tout puisse sortir dans les temps quitte à ce que je bosse 999 heures par jour (quasiment gratuitement donc, ou au mieux avec un système de compensation super chiant à coups de 15min / 30min max sur tels ou tels jours de la semaine).