Voir le titre, mais je demande d'un point de vue technique, pas
Emmenez ma nièce vierge de 40 ans à un rendez-vous ou vous êtes viré.
Pour commercialiser le thriller de science-fiction de Neal Stephenson, Snow Crash, on m'a demandé d'écrire un virus informatique "bénin". Il prétendrait "béninement" prendre le contrôle de l'ordinateur de l'utilisateur et remplacer l'écran par de la neige, a.k.a., un "crash de neige". Après environ une minute de neige, la neige s'estompait et était remplacée par une publicité pour le livre. Ce serait "bénin", voyez-vous. Le virus se propagerait par des moyens normaux, mais cela ne dérangerait personne, car après avoir pris le contrôle de leur ordinateur, "vous obtiendrez simplement une annonce amusante, puis vous serez soulagé que rien de mal ne soit arrivé à votre ordinateur".
On m'a en fait dit de le faire dans une grande entreprise mondiale. J'ai dû écrire une note expliquant toutes les lois que cela enfreindrait et les 17 mauvaises choses qui pourraient se produire si elles me faisaient vraiment appliquer cela.
"Ce DLL que vous avez écrit ne fait que 17 Ko. Pouvez-vous ajouter du code pour l'agrandir? Le client nous paie beaucoup d'argent, et nous voulons qu'il en ait pour son argent."
Utilisez Visual SourceSafe.
"Vous connaissez cet énorme programme Cobol de 20 ans qui contient des tas et des tas de règles commerciales codées en dur qui définissent plus ou moins notre entreprise? Pourriez-vous le convertir en .NET?"
Oui.
Nous allons vivre dans quelques semaines.
Souhaite moi bonne chance..
Mon frère et moi travaillions sur un site Web multimédia lourd pour une très célèbre rock star il y a de nombreuses années.
Lorsque le client a vu le site, il a remarqué des artefacts de compression sur certains fichiers JPEG et a demandé ce qui n'allait pas. Nous avons expliqué que les images doivent être compressées à des fins de bande passante et que les images sont actuellement compressées à environ 80% de qualité. Il a été offensé et a dit quelque chose à l'effet de
Je ne suis pas arrivé là où je suis aujourd'hui en faisant les choses à 80%, je l'ai réglé à 100%.
Nous avons essayé d'expliquer comment cela affecterait les utilisateurs, mais il n'en aurait rien. Il en est résulté le site Web "monde virtuel" le plus lent jamais créé. Cela s'est réellement produit.
Nous devons retarder le lancement du site de deux semaines car Mercury est en rétrograde et c'est un mauvais moment pour commencer de nouvelles choses.
De toute évidence, après avoir lu dans un avion un magazine professionnel sur la façon dont XML était la nouvelle technologie chaude (c'était vers 2002), l'un de nos dirigeants m'a demandé si notre application utilisait XML, quand j'ai dit non, il m'a demandé si nous pouvions l'ajouter.
Maintenant, je ne parle pas d'une fonctionnalité pour importer/exporter des fichiers au format XML, il voulait simplement qu'elle fasse partie de l'architecture pour aucune raison autre qu'elle était populaire en ce moment et donnerait de la crédibilité à notre application.
"En ce moment, les noms d'utilisateur doivent être uniques, et les mots de passe ne le sont pas. Pouvons-nous faire l'inverse?"
Il y a environ 7 ans, j'ai travaillé dans une boutique de logiciels sur mesure qui a décidé de vendre l'un de ses produits. C'était une suite d'opérations de bout en bout pour certaines industries. Eh bien, cette industrie n'était pas connue pour être super technologique, donc nous avons fini par fournir une assistance technique tierce pour leurs serveurs et leur infrastructure informatique au lieu de la confier à des consultants informatiques indépendants de petites entreprises.
Un jour, le serveur d'un client a rencontré une corruption de disque. Le serveur que nous leur avions vendu était configuré avec un contrôleur RAID Adaptec, configuré pour un miroir RAID 1. Leur base de données d'application était grillée. Ils n'avaient pas effectué de sauvegardes depuis des mois. Les sauvegardes qu'ils avaient effectuées étaient inutilisables. Ils ont fini par perdre 8 mois de données. Ils ont engagé un consultant informatique pour gérer ce travail d'enquête.
Des appels téléphoniques ont suivi et le directeur des ventes (connu pour ses fonctionnalités impossibles à promettre) leur a apparemment dit que cela serait pris en charge et l'a écrit dans un contrat.
Le directeur des ventes a promis au client que nous veillerions à ce que la base de données d'application et tout autre fichier lié à l'application ne soient jamais répliqués par les contrôleurs RAID si les fichiers étaient considérés comme corrompus. Aucune configuration ne devrait être nécessaire non plus. Oui. On nous a dit de livrer cette fonctionnalité dans 2 semaines, sinon le client nous licencierait.
Ainsi, le gestionnaire de programme - qui avait à son actif quelques produits CRM de grande entreprise et d'autres succès de développement sérieux - et moi avons eu une réunion avec le chef de l'exploitation et le directeur des ventes. Le responsable du programme expliquait à quel point c'était fou, impossible et incroyablement impossible. Le directeur des ventes (milieu militaire) lui crierait simplement au visage (littéralement!), "Je m'en fiche! À quel point cela peut-il être difficile de faire du RAID pas du RAID?! Leurs données seraient bien sur l'autre disque si le Le truc RAID ne l'avait pas foiré! "
À la fin de cette réunion, le gestionnaire de programme a démissionné avec un préavis de zéro jour. J'étais donc maintenant chargé de cela. Au cours de la semaine suivante, j'ai demandé à Adaptec et à LSI Logic de fournir un ingénieur pour une conférence téléphonique, simplement pour rire du directeur des ventes.
En fin de compte, ils ont obligé et ont respecté la fin du marché. Et ils sont allés dans le détail à quel point c'était ridiculement irréalisable. Le gars de LSI était particulièrement sévère - il n'a rien enduit de sucre.
Je n'ai pas eu à implémenter la fonctionnalité. J'ai dû implémenter un schéma de sécurité personnalisé demandé par un client, qui leur permettrait de basculer l'un des contrôles de l'application - contrôle par contrôle - comme visible, désactivé, activé, en lecture seule ou en lecture-écriture . En théorie, il y avait 146 000 combinaisons. Et si vous aviez accidentellement foiré en disant ... désactiver un groupe de contrôle, vous auriez des effets secondaires par inadvertance. Inutile de dire que lorsque j'ai reçu l'ultimatum de sa mise en œuvre, j'ai également démissionné avec un préavis de zéro jour.
Ils m'ont demandé de rechercher un produit commercial qui pourrait trouver et corriger automatiquement les bogues du code source.
Toujours à la recherche .. depuis 2001 :).
J'ai eu une fois une spécification client qui exigeait littéralement du code capable de remonter dans le temps.
Mon employeur a collecté les données pour le client, et nous devions les livrer au format de fichier X à des intervalles de dix minutes entre 9 h et 17 h, à l'exception de la livraison finale, qui était au format Y (juste X avec un pied de page différent). C'est ce que j'ai fait ... et ils ont paniqué. Nous collections des données à faible volume et n'avions vraiment qu'un ou deux points de données à livrer un jour donné.
"ARRÊTEZ DE NOUS SPAMMER AVEC DES FICHIERS VIDE !!!" ils ont pleuré. "CINQ TOUTES LES DIX MINUTES DE K COMPRENNENT NOS BANDTUBES!"
D'accord. Donc, mon code vérifié toutes les dix minutes, et livré uniquement s'il y avait quelque chose à livrer. C'est suffisant.
"MAIS LE DERNIER FICHIER DOIT ÊTRE AU FORMAT Y !!!" ils ont crié. "LA TECHNOLOGIE MODERNE NOUS CONFUSE ET NOUS FIXE! FIX IT OR WE VOUS BATTIRONS AVEC UN FEMUR MASTODON! *"
(* - Il est possible que je me souvienne mal de portions de la conversation.)
"Donc, je ne dois livrer le fichier que s'il y a de nouvelles données à livrer."
"OUI."
"Et la livraison finale de la journée est censée être un format de fichier différent."
"OUI."
"Sauf que je n'ai aucun moyen de savoir quel fichier sera le dernier de la journée jusqu'à la fin de la journée."
"OUI."
"Donc, la seule façon pour moi d'implémenter cela est d'écrire du code qui remonte dans le temps à la fin de la journée pour refaire le format sur ce qui s'est avéré être la livraison finale."
"POURRIEZ-VOUS LE FAIRE SIGNALER DES SCORES SPORTIFS? WE SAW RETOUR VERS L'AVENIR II. BIFF TANNEN NOUS REND HEUREUX."
J'ai refusé, en partie parce que violer la causalité est une pratique de programmation contraire à l'éthique, en partie parce que CPAN.org n'avait pas de module qui me permettrait de le faire. (J'ai vérifié.) Finalement, ils m'ont permis d'envoyer un fichier au format Y à la fin de la journée, qu'il contienne ou non des données réelles. Je suis sûr que leur bande passante a survécu au hit.
Sans aucune cause discernable, j'ai été amené à une réunion privée et on m'a dit de ne pas vérifier si mon ordinateur était surveillé - y compris, de ne jamais vérifier mon gestionnaire de tâches pour aucune raison. J'ai demandé s'ils surveillaient mon ordinateur et on m'a répondu (grosso modo) "c'est juste une chose préventive - vous savez, notre avocat nous a dit d'en parler aux employés - mais vous savez, nous ne pouvons pas vraiment dire - - mais je ne le surveille pas maintenant. "
(Nudge, je pense qu'ils surveillaient mon ordinateur, mais pas pendant qu'ils me disaient de ne pas chercher de programmes de surveillance. En fait, quelques semaines plus tard, je suis arrivé tôt et j'ai littéralement regardé la souris se déplacer sur mon écran comme si par à distance - alors j'ai regardé par la fenêtre du PDG et je l'ai vu cliquer à distance sur mon ordinateur depuis son ordinateur portable.)
Une fois, j'ai eu une longue "discussion" avec un patron aux cheveux pointus qui a insisté pour que nous puissions stocker un 2 dans un type de données peu car il n'était "qu'un seul chiffre".
La chose la plus stupide qu'on m'a demandé de faire est probablement une réécriture au sol d'un très gros projet. Il s'agissait d'environ 350 000 lignes, toutes en C (avec un peu de Perl mélangé pour les scripts "helper") et fonctionnaient bien, peu importe ce que les clients y faisaient.
Près d'un an plus tard, nous avons eu:
Fondamentalement, nous n'avons rien accompli qu'une refactorisation judicieuse n'aurait pu accomplir. Mais mon patron était content, nous nous sommes débarrassés des scripts d'aide.
Je considère que c'est la perte de temps et de code existant la plus flagrante que j'aie jamais vue.
Client: Nous utilisons votre logiciel de base de données depuis quelques années, développons nos propres applications avec lui et vous appelons de temps en temps pour obtenir de l'aide .
Moi: Oui, nous apprécions faire affaire avec vous.
Client: Ouais. Chaque fois que nous appelons, vous nous dites comment utiliser une nouvelle fonctionnalité, ou vous nous aidez à déboguer notre utilisation, ou à fournir une solution de contournement pour un problème.
Moi: Bien sûr, nous sommes toujours heureux de vous aider.
Client: Parfois, votre produit contient un bug réel, et votre entreprise le corrige et nous donne une mise à jour logicielle.
Moi: Nous faisons de notre mieux.
Client: Eh bien, ce dont nous avons besoin de vous maintenant est une assurance que nous n'aurons plus de problèmes.
Moi: . . .
On m'a demandé d'écrire dans une présentation de notre logiciel à un grand client potentiel multinational que nous avons utilisé la technique de codage "code spaghetti".
Bien sûr, nous sommes en Italie ... ça sonne bien.
Faites du travail gratuitement.
Changer ma syntaxe en mettant en évidence les couleurs pour qu'elles correspondent à celles utilisées dans le système de contrôle de version.
Voyons voir:
Écrire des programmes en C++
Pouvez-vous prendre ce rapport de 10 pages que je vous ai demandé de préparer en tant que document Word et d'en faire une présentation PowerPoint parce que je suis vraiment un penseur visuel et que je ne lirai pas réellement le rapport écrit que je vous ai demandé de faire?
Ok, je veux que vous numérisiez cette image d'une maison, quand je reviens, vous devriez pouvoir me montrer la partie arrière de celle-ci.
"Je n'aime pas le fonctionnement de cette base de données Oracle. Pourquoi n'écrivons-nous pas simplement notre propre base de données?"
(Certes, c'était il y a plus de 15 ans, mais quand même!)
On m'a demandé de charger des articles du site Web d'un concurrent dans un iframe qui serait à l'intérieur de la peau de notre site Web, ce qui donne l'impression qu'il vient de nous.
Pour moi, le plus fou (et très probablement le plus amusant) était
Vous voyez ces 10 millions de lignes de code (technologie Web obsolète)? Écrivez un compilateur pour le convertir en un site Asp.net fonctionnel.
Cela n'a jamais craché une version de travail (bien sûr, j'ai essayé de leur dire que c'était impossible), mais c'était quand même amusant.
L'une des principales caractéristiques d'une application développée par notre société était la possibilité de rechercher de grandes quantités de documents par le texte intégral du document. Un concurrent a fait la réclamation suivante dans une présentation marketing à l'un de nos clients,
Notre technologie de recherche est supérieure car elle ne recherche pas seulement le texte des documents, elle recherche également les "bits et octets" du fichier réel sous forme binaire.
Ils ont donné un exemple ridicule de la façon dont les représentations ascimales décimales des mots "boot" et "bateau" étaient beaucoup moins similaires que les mêmes mots sous forme binaire, lorsque vous avez comparé les chiffres numériques réels dans la représentation. Ainsi, la recherche basée sur les 1 et les 0 reflétait plus précisément la similitude visuelle de ces deux mots et améliorait ainsi le rappel.
Naturellement, j'ai été chargé de faire des recherches sur cette technique, qui, je suppose, est le résultat d'un gars du marketing qui a complètement mal compris un programmeur quelque part et de rédiger une réponse que nous pourrions inclure dans notre proposition.
Pouvez-vous rédiger un système de saisie de temps et de facturation simple pour notre nouveau bureau à l'étranger qui utilise une langue, une devise et des lois fiscales différentes?
Petite équipe de programmeurs, le patron veut que nous fassions un système de réservation de billets pour une petite compagnie aérienne (dans un délai très court, bien sûr). L'équipe dit:
- comme vous pouvez l'imaginer, nous aurons besoin de testeurs pour ce projet
Le patron dit:
- ne vous inquiétez pas, apprenez de l'industrie automobile. Ils rappellent de temps en temps des voitures: les utilisateurs feront les tests.
Je faisais partie d'une équipe de support mainframe qui a fait des changements avec d'autres équipes de support dans un centre de données. Après le quart de travail, nous tenions habituellement un briefing avec les gestionnaires et l'équipe du prochain quart de travail. Un jour, notre nouveau directeur est arrivé et a posé la question: "Pourquoi la charge CPU moyenne pendant votre quart de travail n'était que de 72%, alors que le quart précédent montre près de 95%? Je pense que si nous essayons vraiment dur, nous pourrions finalement atteindre 100% de charge CPU! "
Il y a environ 12 ans, quand j'étais à l'université, j'ai travaillé sur une application de modélisation de données pour Windows. Le projet était presque terminé après environ 60 000 lignes de code Win32, vous savez, du code ciblant la plate-forme Windows. Ensuite, le client a déclaré que l'application doit également s'exécuter "sur le Web". Elle a eu du mal à comprendre comment cette modification des "petits petits" pouvait avoir un impact aussi important sur le projet. J'ai recommencé à zéro en Java mais j'ai fini par quitter le projet avant qu'il ne soit jamais terminé.
Je travaillais sur un grand projet en 1996 où nous marquions des événements sportifs en direct. Cette conversation a eu lieu:
Boss: Sortez sur les lieux pour le prochain événement.
Moi: Qu'est-ce que tu as besoin de moi pour faire.
Boss: Soyez là juste au cas où.
Moi: Juste au cas où quoi?
Boss: Au cas où le responsable technique le perdrait. Il est trop stressé et je ne sais pas ce qu'il pourrait faire.
Moi: Et s'il le perd, que veux-tu que je fasse?
Boss: Faites-le sortir de là pour que tout le monde puisse continuer à travailler. Je me fiche de comment vous le faites.
Première semaine - Avoir une ligne de base de code distincte pour 2 clients différents (oui deux copies du même code pour 2 clients différents)
Deuxième semaine (un autre boss) - Pas de fusion des deux codes et mise IF - Sinon condition sur chaque page
Je travaillais sur un projet web dans ASP.NET qui devait remplacer une solution PHP existante. Le site PHP n'était pas mauvais, juste un peu dépassé) le nouveau projet consistait donc à le mettre à niveau à l'aide d'une nouvelle plate-forme. La première chose à faire était de configurer la nouvelle infrastructure en ayant IIS et des serveurs MSSQL ainsi qu'un système de contrôle des sources.
Quelques semaines après la création du nouveau projet, le chef de projet est devenu mécontent du processus de déploiement qui impliquait d'obtenir la dernière version du code, puis de déployer une build dans l'environnement de test. Il a estimé que cela prenait beaucoup de temps et que les gens travaillaient sur la même base de code et devaient fusionner leurs modifications dans le mauvais sens.
Sa solution était de revenir à "l'ancienne" façon de faire les choses: écrire PHP sur le serveur de production en temps réel sans contrôle de source ni stratégie de déploiement. De cette façon, vous pourriez avoir des résultats instantanés et cela n'a pas impliqué la configuration du contrôle de source ou d'autres serveurs. Inutile de dire que les choses ne se sont pas bien passées. :)
La semaine dernière, quelqu'un m'a demandé d'apporter une modification simple à un DLL (tampon de gauche, une valeur numérique avec des zéros en tête).
Il s'agissait d'une DLL COM, initialement codée en VB 6 - code source perdu depuis longtemps - qui interfaçait d'un côté avec du matériel externe (interface inconnue) et dont les fonctions étaient appelées à partir d'un contrôle Active X sur une page Web (interface, encore une fois, inconnue).
Cela ne m'a pris qu'une semaine et je n'ai dormi que deux fois sur le sol du bureau.
Mais je l'ai fait et c'est en direct sur le terrain depuis hier - travailler.
Punchline - c'était un projet du gouvernement, bien sûr.
Portez des kakis et un polo.
À l'ISP pour lequel je travaillais au milieu des années 1990, le patron était ami avec des officiers de notre police locale et des postes de shérif. Ils étaient intéressés à attraper la fraude en valeurs mobilières. Alors mon patron élabore un plan:
Écrivez un programme pour analyser les sites Web à la recherche de preuves de fraude en valeurs mobilières. C'est:
C'était à l'époque où presque tous les serveurs Web avaient une adresse IP publique unique et que les hôtes virtuels n'existaient pas, donc techniquement, c'était faisable. C'était également le cas lorsqu'un T-1 à 1,5 Mbps était vraiment, vraiment rapide.
Le problème? Même si nous pouvions analyser dix adresses IP par seconde, la tâche entière prendrait près de 5 000 jours. Oui, si nous avions adopté un tel programme, il serait en train de terminer sa première analyse de tout Internet.
La dernière entreprise pour laquelle j'ai travaillé (et a fait faillite) a reçu quelques mauvaises critiques du produit.
La décision a donc été prise par la haute direction de ne pas résoudre les problèmes, mais de renommer le produit et de le relancer. Bugs inclus.
L'autre chose qui a vraiment compliqué la tâche était le fait que le changement de marque ne consistait en rien de plus qu'un changement de nom, ce qui signifiait environ 3 échanges d'images dans l'application et quelques remplacements de chaînes. L'application avait la même apparence, s'était comportée de la même manière, s'était écrasée de la même manière.
Je ne peux pas dire que je suis surpris que l'entreprise n'ait pas duré.
Eh bien, cette fois-ci, j'ai soumissionné pour un travail d'ingénierie inverse indépendant, seulement pour découvrir qu'ils voulaient littéralement que je puisse changer le passé.
On m'a demandé d'écrire un rapport pour montrer toutes les ventes et les dépenses pour l'avenir, un module Nostradamus pour notre système de comptabilité: P Il était très sérieux, ce n'était pas censé être une prédiction mais les valeurs réelles.
La question est en gras, il fallait une accumulation.
Client: "Vous devez écrire des tests automatisés à l'aide de RFT sur notre application Web populaire"
Moi: "D'accord, dans quel environnement est-il déployé?"
Client: "Il est déployé en QA mais vous n'êtes pas autorisé à y accéder"
Moi: "Yikes"
Client: "Pouvez-vous en quelque sorte terminer d'écrire les tests automatisés sans l'application?"
Moi (dans mon esprit): "Je pourrais, si j'étais superman ou Chuck Norris"
"Existe-t-il un moyen de faire apparaître les codes-barres à l'écran pour que l'utilisateur puisse les scanner dans l'ordinateur?"
En 2003, nous étions deux développeurs et un designer qui ont obtenu ceci ...
Je veux que vous fassiez une application de serveur d'images où vous pouvez simplement faire glisser des images pour les télécharger, sans aucune extension dans le navigateur et cela doit fonctionner sur toutes les plateformes.
À vrai dire, nous l'avons tous regardé et dit quelque chose dans le sens de
Si nous savions comment faire cela, nous ne serions pas assis sur ces chaises dans votre entreprise pour le moment.
Nous avions une date de sortie de produit repoussée d'une semaine afin que nous puissions faire fonctionner le système interne de compétition de basculement footy à temps pour le début de la saison ...
Mon patron m'a dit une fois que les résultats de recherche de Google étaient tous triés par le plus offrant. Il a catégoriquement refusé de croire que Google a essayé d'ordonner ses résultats par utilité pour l'utilisateur. J'ai essayé d'expliquer avec une logique simple qu'un tel système entraînerait le pire moteur de recherche Internet imaginable en vain.
En fait, il a argumenté avec tant de véhémence que je suis sûr qu'il venait de promettre au client "la première place sur Google s'il était prêt à payer" ... mais il ne voulait pas avoir à rappeler et ressembler à un idiot.
*soupir*
Boss: Je trouve dégoûtant que vous arriviez à 11h tous les jours. Je veux que vous soyez ici à 8h, pour aider les saisisseurs de données en cas de problème, et rester et aider l'équipe de développement. Quand ils rentrent chez eux à 19 h, vous pouvez commencer à télécharger les modifications sur les sites.
Bien sûr, en raison de la sécurité de ces sites (société pharmaceutique), nous ne pouvons avoir qu'une seule connexion de notre adresse IP à leurs serveurs, et j'avais 24 sites à télécharger. J'arrivais à 11h parce que je serais au bureau jusqu'à 3 ou 4h du matin pour télécharger des sites.
Je suis parti très peu de temps après.
Pour apprendre un tout nouveau langage de programmation au cours du week-end.
je jure devant $ Deity qu'un client m'a demandé une fois de changer (a + b) * 0,5 en (a + b)/2
Pouvez-vous ajouter du post-traitement pour que la partie rouge de cette image en niveaux de gris soit plus accentuée que les parties verte et bleue?
Quelqu'un m'a demandé de créer un site Web qui "copie ce que fait Google Local Search et fusionne ses données avec d'autres informations provenant d'une base de données". J'ai dessiné quelque chose en papier et le client a dit que c'était ok; Je lui ai facturé 700 livres (1000 dollars américains) pour un travail de 5 jours.
Je l'ai développé en 3 nuits et l'ai livré. J'étais fier de ce que j'ai écrit jusqu'à ce que le client dise "C'est presque ok. Pourquoi utilisez-vous le googlemaps rubygem? Je vous ai demandé de copier, de ne pas utiliser"
PHB.
Dans mon cas, ce serait un client qui demanderait une fonctionnalité d'application Web pour "bloquer l'écran d'impression" pendant l'application, ce qui n'a absolument aucun sens car pour ce faire, vous devez soit désactiver le presse-papiers, désactiver la clé pour tout l'ordinateur , mais non, ils voulaient désactiver la clé de l'écran d'impression côté client (via javascript), ce qui la rend encore plus insensée, en plus de cela, peu importe ce que vous faites tant que vous n'affectez pas l'ensemble des fonctionnalités de l'ordinateur (qui, vous ne devriez pas), l'utilisateur pourrait contourner cela en concentrant simplement une autre application et en utilisant l'écran d'impression lorsque le focus est sur cette autre fenêtre.
Ridicule.
On m'a demandé de créer un site Web de liste noire des locataires pour les propriétaires qui gèrent des propriétés locatives.
Client: En cas de coupure de courant, la serrure de porte électronique doit se mettre en position de sécurité.
Moi: Oui, bien sûr. Juste pour clarification - la position de sécurité est "déverrouillée", non?
Client: pourriez-vous le rendre configurable dans le logiciel, que la porte soit verrouillée ou déverrouillée en cas de panne de courant?
Moi: (sans voix).
Je travaillais sur un site Web de marketing numérique où nous vendions des fichiers audio Windows Media protégés par DRM; livres audio pour la plupart. Microsoft a proposé une sorte de mise à jour de conformité requise pour tous les fournisseurs à implémenter, en supposant que les fournisseurs déploient des applications clientes de bureau sur les machines des utilisateurs finaux. La mise à jour a exigé que l'application vérifie les versions DLL sur la machine du client pour s'assurer qu'elles sont à jour. Mon patron me forçait littéralement pour toutes les manières imaginables dans lesquelles notre site Web était autorisé à vérifier les versions de fichier DLL DLL d'un client Web dans son dossier système, au point de suggérer que nous écrivions notre propre skin Windows Media Player pour ce faire.
Dans une entreprise de bureau de crédit, on m'a demandé de remplacer un service de code 100k C qui vérifiait les bases de données sur la fraude. Programmation multithread asynchrone en Java a remplacé les anciennes techniques de jointure en fourche C. Les délais étaient d'environ 400-500 ms et 1-1,5 s avec le stress. Nous avons réussi à obtenir 600 ms avec des pics occasionnels à partir des bases de données 'cache vidage.
Mon TL m'a demandé de connecter la ligne téléphonique directement à l'USB (pas de convertisseur de type MODEM entre les deux).
J'ai essayé de lui expliquer que ce n'est pas possible techniquement (la connexion directe du téléphone à l'USB). mais il ne voulait pas écouter.
Ensuite, j'ai dû lui écrire un document de 20 pages expliquant que le téléphone est analogique tandis que l'USB est numérique, donc un convertisseur est très nécessaire. Puis il a complètement abandonné l'idée.
Arrivant tard sur celui-ci, mais ... J'ai déjà travaillé au sein d'une équipe d'assurance qualité pour un ... disons un assez gros projet logiciel, qui fait finalement partie d'une grande infrastructure de télécommunications.
Voyez grand, comme vraiment grand, comme dans quelques millions de personnes l'utilisent pour bien communiquer. Écrivez, parlez. Courtes distances et trucs internationaux. Cela vient également avec la facturation pour s'assurer qu'elle est vraiment importante.
La raison pour laquelle je travaillais avec cette équipe était que la date de lancement technique approchait, et qu'ils étaient assez en retard sur le front de l'AQ et de l'identification des défauts.
Un matin, je me présente pour notre réunion debout, et le gestionnaire de programme nous dit qu'après une réunion d'examen avec les dirigeants du projet hier, ils ont décidé qu'au lieu de faire fonctionner le logiciel sur des serveurs Windows 32 bits (ce qui a été décidé comme Il y a 2 ans), ils voulaient qu'il fonctionne sur des machines HP/UX 64 bits.
Aucune raison sauf qu'à l'époque 64 bits ce qui devient tout le débit, donc ça doit être mieux non? Et totalement justifié. Il ne restait plus que 2 semaines avant le lancement technique. Facile.
Nous l'avons combattu très cher (et avec rire).
Créer des sites Web ...
Mon manager, un vice-président ayant des relations avec une société de support en Chine, m'a demandé de transférer le support de mes produits à une société externe. Lorsque j'ai essayé de lui expliquer que cela n'était pas possible compte tenu de nos obligations contractuelles envers nos clients, sa réponse a été: "Bien sûr, nous pouvons le faire - nous l'avons fait chez" xxx company "(son ancien employeur). Peu importe que les deux les entreprises fabriquaient différentes classes de logiciels et avaient différents modèles de licence.
1) Utiliser une base de données d'objets dans un système ERP
2) Utilisez une base de données EVA dans un système ERP
3) Le plus fou: Construisez un système de règles métier basé sur les visuels (à la manière d'Outlook Rules) à remettre à nos utilisateurs (sans harnais de test pour tester les règles) et "jetez-le par-dessus le mur". Donc, au lieu d'écrire des programmes pour nos utilisateurs, nous pourrions simplement écrire un langage de programmation simplifié pour eux et les laisser écrire leurs propres applications.
Q: "Voir ce mot ici, comment puis-je savoir si avant cela je dois écrire" un "ou" une "?" R: Utilisez "an" si le prochain mot commence par une voyelle Q: "Qu'est-ce qu'une voyelle?"
Pour créer un manuel d'utilisation pour un processus automatisé. Le manuel de l'utilisateur dit essentiellement "Double-cliquez sur foo.exe et attendez qu'il soit terminé"
J'ai dû créer et intégrer un serveur TCP dans une application Microsoft Access VBA.
Cela fonctionne plutôt bien, mais c'est probablement le logiciel le plus fou que j'aie jamais écrit.
Une fois, un gestionnaire m'a demandé de créer un champ dans une base de données "semi-obligatoire".
Récemment, on m'a demandé de développer une application Web dont je n'avais aucune connaissance préalable sur la base de certaines simulations JPEG de ce à quoi devrait ressembler le site Web, qui avait été créée par une agence de conception dans un autre pays qui normalement fait des conceptions d'impression et n'a aucune idée de la la toile.
Nous travaillons en équipe Scrum et faisons nos estimations pour les user stories en points d'histoire. Quand j'ai regardé mes objectifs du second semestre pour cette année, c'était une exigence, les points de notre histoire doivent être à +/- 10% des heures de développement réelles consacrées à l'histoire. Pour ceux impliqués dans Agile, vous savez que les points d'histoire sont sans unité et sont basés sur une séquence de nombres de Fibonacci. Je n'ai pas encore trouvé comment faire correspondre l'estimation à la façon dont n'importe qui pourrait imposer une telle exigence à l'équipe.