"Le diable m'a poussé à aller travailler au bureau" - 10 questions au programmeur, 9ème édition



D'une manière ou d'une autre, il s'est avéré que presque tous les huit problèmes que nous avons rencontrés avec des développeurs de bureaux n'ont pas interrogé la vie des pigistes. Aujourd'hui, enfin, nous le réparons. Rapporté par Denis Kazakov ( nrcpp ). Il a écrit le premier programme à 14 ans sur Pascal, et à l'université, il a développé son compilateur frontal C ++ et a arraché un article sur ce jackpot karmique sur Habré.

Il a pris Kush plus réaliste sur Upwork - 60 projets terminés et des sommes bien rangées (enfin, pour moi) dans le graphique de l'argent reçu. Mais sous la coupe, il n'y a pas de vantardise et de motifs dans l'esprit du «vous aussi». Au contraire - une histoire sur l'expérience de bureau amère pour un pigiste expérimenté.


1. Parlez-nous de la fonctionnalité que vous avez implémentée et dont vous êtes fier.


Le premier «long métrage» a été le premier semestre à l'université. Je suis arrivé à l'université déjà préparé et j'ai passé la session automatiquement. Il n'était peut-être pas apparu à l'examen, mais ses camarades de classe ont demandé à rester et à se tenir dans le couloir, pour l'aider si cela. 15 minutes après le début de l'examen, la quasi-totalité du groupe, à son tour, "voulait utiliser les toilettes". Et cela représente environ 25 personnes.

Chacun a enduré une feuille, puis deux. Partout, avec une touche nerveuse, quelque chose comme «Ajouter 2 éléments maximum dans un tableau» ou «Trouver un élément dans un tableau plus grand que X» est rayé.

Une heure plus tard, c'était tout un convoyeur. Deux piles se sont développées à côté de moi - dans l'une, de plus en plus de nouvelles feuilles, dans l'autre - des tâches déjà résolues. Une personne est sortie, a sorti une nouvelle «fête» et a pris des solutions toutes faites. Ainsi, tout le groupe a réussi la session à 4 et 5. Depuis lors, nous sommes amis.

La deuxième fonctionnalité est mon propre compilateur C ++, que j'ai écrit presque tout le semestre d'études à l'université. Depuis lors, je n'ai pas réussi à sortir mon propre projet seul sur un seul enthousiasme. Où les gens trouvent-ils leur force pour leurs nouveaux projets?

Et le troisième projet est un test de vision régulier. Je l'ai créé à partir de "Fichier -> Nouveau projet" et se terminant par les ventes. Mais le vrai buzz est que vous voyez comment les gens utilisent votre idée originale, et cela les aide à identifier les problèmes de santé.

2. Et maintenant - sur le fakap le plus féroce


Je ne travaillais pas chez Google, je n'ai pas écrit de logiciel pour les chirurgiens et la science des fusées, donc je ne me souviens pas des fakaps brillants à cause de mon code. Je vais vous dire mieux comment je prokapapilsya d'être chef d'équipe.

Après de nombreuses années de travail à la maison, le diable m'a poussé à aller travailler au bureau, dans une grande société d'externalisation, avec un client encore plus important (l'un des leaders mondiaux de l'industrie). La situation est stressante pour moi, je ne travaillais pas vraiment au bureau avant, et ici j'organise aussi une foule de gens. Au début il y en avait 6, puis 10, puis 18, et à la fin c'était 25! Je ne comptais pas sur une telle crèche. Après tout, chacun est pour lui. Il a pris une carte à Jira et s'est scié silencieusement. Et vous ne voulez pas couper.

Cela ne fonctionnera pas ici. À 10 h à la réception, taisez-vous et soyez gentil, dites «je travaille à ma tâche» au stand-up. À 16 heures, j'ai téléphoné au client. Vous dites la même chose, seulement à lui et en anglais. Entre ces deux classes, vous êtes tiré par les juin, stagiaires, comptables, nettoyeurs. Bien sûr, la responsabilité de tout est sur vous.

En général, j'ai commencé à sentir que je ne pouvais pas faire face, et une telle organisation du travail n'est pas pour moi. J'ai perdu tout intérêt pour le travail, mais mon salaire et ma volonté m'ont gardé dans l'esprit du «tu peux!» Ne le faites pas.

Lorsque le Timlid n'a aucun intérêt, le chaos apparaît. Un juin a assumé 50% des tâches, simplement parce qu'il était assis à côté de moi dans l'espace ouvert. Un autre stagiaire a suivi un module autonome critique, qui a été complété par presque toute l'équipe.

Je suis tombée pendant un mois à cause de problèmes de santé, et à mon retour, le projet a ordonné "de vivre longtemps". Et l'équipe s'est dispersée sur d'autres projets du même client. Après un certain temps, je suis retourné à mon pigiste habituel.

3. Décrivez votre espace de travail: du fauteuil et du moniteur aux environnements de programmation et à vos utilitaires préférés. Et joignez des captures d'écran si vous le pouvez


La grande table est la clé de la productivité, je pense.



Le fer est complètement changé tous les 5-6 ans. Maintenant, je tire le maximum de la deuxième génération d'i5, avec un SSD de 500 Go + un ancien disque dur et 16 Go de RAM DDR2. Il a longtemps été difficile de mettre à niveau les mains, surtout lorsque le pourcentage surchauffe. Mais soit les crapauds pressent, soit il est plus facile de changer la pâte thermique. Cet été, avec un grincement, je suis passé de Windows 7 au top dix, car sous Xamarin, il est plus facile d'écrire dessus.

Il existe également un MacBook Pro 2011 en retard, pour les projets iOS. Poêle nocive en raison de l'âge. Encore une fois, le dilemme consiste à économiser de l'argent pour un appartement ou à acheter un nouveau MacBook qui ne cuit pas.

De Tula - à partir de la 99e année de Visual Studio. Et avec chaque nouvelle version, je suis convaincu que rien de plus n'est nécessaire. Quelques très petites extensions, comme Ctrl + Clic pour aller à la déclaration de méthode et au combat.

Pour Git - SourceTree. Pour tester sur différents systèmes d'exploitation - VmWare. Parfois, ils demandent au programme d'installation de le faire - pour cela, le programme d'installation avancé. Tout le reste se fait soit sur le web, soit dans notepad.exe. Lorsque Java était nécessaire, IntelliJ.

4. Selon quel principe choisissez-vous un emploi? Pile, produit, conditions de vie, argent?


S'il y a des commandes à la pige - vous êtes à cheval, il n'y a pas de commandes - je suis prêt à exploiter la nourriture 24/7. Dieu merci, ces temps sont passés il y a environ cinq ans. Mais il est arrivé que des curseurs aient fait des étudiants indiens, et d'autres Malvari muets ont été invités à écrire. Maintenant, je travaille sur ce qui est intéressant. Par exemple, les projets récents sont l'automatisation Web et la PNL.

J'ai 32 ans, et maintenant je suis moins enthousiaste à m'intégrer à certaines tendances nouvelles. Mon travail de bureau idéal est quelque part à cinq mètres de la maison, de préférence au prochain étage. Un bureau séparé, avec une table confortable, un fauteuil et un fer à repasser. Et les technologies que je connais. Peut-être encore 10 à 20% du temps de travail lorsque vous pourrez en expérimenter de nouveaux. Cependant, j'ai décrit comment je travaille aujourd'hui.

Vous ne pouvez pas toujours vous renseigner sur un produit en matière d'externalisation. Mais s'il existe un zoo de technologies différentes, de Fortran à Go, alors probablement pas.

Je demande généralement de l'argent juste au-dessus du marché, mais ce n'est pas critique.

5. Quelles technologies et langages que vous utilisez souhaitez-vous corriger?


La toute première chose qui vous agace avant de grincer des dents est le manque d'interface utilisateur multiplateforme pour .NET. Ou pour plus de simplicité, WPF pour macOS. Le deuxième point est la qualité du projet Xamarin lui-même aujourd'hui. En particulier la vitesse d'assemblage et de déploiement des applications Xamarin, le Xamarin XAML Previewer s'envole constamment, pour des raisons inconnues, des erreurs apparaissent qui disparaissent uniquement après le redémarrage de l'IDE.

Dès que je me suis assis pour écrire ma première application sérieuse sur Xamarin Forms (Forms est le bas, je sais, mais il n'y avait pas le choix), je suis devenu fou sur le nombre de tambourins nécessaires pour sortir l'application de la boîte pour iOS / Android. Mise à jour complète du logiciel tiers dont dépend Xamarin - la situation a changé.

Je voudrais créer un squelette du programme en plusieurs lignes. Il décrit un modèle de domaine et l'EDI a généré un ViewModel, une maquette d'interface utilisateur, des classes pour travailler avec les configurations, les journaux, la capture d'exceptions, DAL, BAL, SAL - c'est-à-dire les enveloppes autour de l'API.

C'est comme ça, comme l'échafaudage dans ASP.NET MVC, ou c'était similaire à la fin de LightSwitch. Mais dans le complexe, comme je l'ai décrit, pour que tout soit généré ensemble - non.
Chaque nouveau projet, dans la plupart des cas, est un copier-coller de code du passé. Puis reliant les composants de la nouvelle base de code les uns aux autres, à travers des couches d'abstractions.
Je pense que la situation va changer très bientôt, et nous allons générer 90% du code d'application sur plusieurs lignes de DSL. Bien que les tentatives avec la «balle d'argent» ne se soient pas arrêtées depuis la création du premier programme.

6. Où vaut-il mieux apprendre de l'expérience de quelqu'un d'autre - à l'université, lors de conférences, sur Habré? Quelque part ailleurs?


Prenez-le et faites-le. Écrivez simplement le code. Mais en général, à chacun le sien. Par exemple, j'ai lancé des programmes d'écriture, comme dans les films sur les pirates. Je suis allé aux cours Turbo Pascal. A écrit le premier programme qui ajoute deux nombres. Il l'a lancé et m'a traîné trente kilomètres à travers tous les portails de l'univers. Et puis j'ai réalisé que c'était à moi.

Les deuxième et troisième programmes étaient déjà plus difficiles à maîtriser - il y en avait si et pendant. Et je ne suis plus allé aux cours. Mais le désir est resté. Et comme il n'y avait pas de collègues expérimentés, puis de professeurs, je viens d'acheter des livres. J'ai réécrit les listes de programmes et acheté à nouveau.

Puis il a commencé à inventer quelque chose qui lui appartenait. J'ai pensé à écrire mon compilateur C ++. Trois ans se sont écoulés. Et j'étais déjà prêt pour le projet dans des conditions réelles, pour lesquelles de l'argent est payé. Projet par projet, s'améliorant en cours de route, est passé à Microsoft MVP, MCP et a réalisé 60 projets.

Mais il n'a pas appris à écrire des exploits, comme dans le film "Hackers".

7. Si vous aviez des ressources illimitées (temps, argent, pouvoir, personnes), quel projet prendriez-vous?


Vous savez, je voudrais créer un système qui changerait fondamentalement l'approche du développement. Plutôt, le processus d'écriture de code.

Rappelez-vous comment le personnage principal du film "Password Swordfish" a créé son Khidra? Chaman Aki, agitant ses mains et faisant tournoyer un cube de rubik. Ou comme dans le film Iron Man. Oui, c'est la norme hollywoodienne: agiter les mains sur un écran translucide, des cubes pliants. Je voudrais créer une telle chose et la mettre dans les masses.

Soit dit en passant, très sérieusement, j'ai déjà investi dans un outil similaire pour les programmeurs qui travaillaient sur l'iPad. Mais apparemment 3 pigistes et 20 000 $ ne suffisent pas pour une révolution dans la programmation.

8. Comment vous détendez-vous? Que faites-vous en dehors du travail?


Quand ils me posent des questions sur les loisirs et le temps libre, je tombe dans la stupeur. Imaginez immédiatement l'interlocuteur dans une combinaison de ski, descendant célèbre des montagnes alpines. Ou un voyageur dans les forêts amazoniennes.

Je n'ai pas de passe-temps spécifique. Auparavant, il était professionnellement impliqué dans le football, jusqu'à l'âge de 16 ans, il était capitaine de l'équipe des jeunes de la ligue majeure. Et puis j'ai écrit le premier programme ... Maintenant, j'aime regarder des matchs de haute qualité, parfois je sors me courir.

J'aime marcher seul dans le centre-ville. Apprenez une nouvelle technologie, mais le fusible suffit pour deux à trois semaines. Accrochez-vous à un site complètement trash, comme la lèpre.

Récemment, j'essaie de comprendre comment créer une vidéo. J'ai créé une chaîne YouTube où je parle de freelance. Bien que ce soit plus une expérience.

Et donc, j'ai deux petites spingroses et une femme qui ne me laissent pas m'ennuyer.

9. Parlez de 3 livres préférés - éducatif, science populaire et fiction.


Sciences de l'éducation et des sciences populaires - Donald Knuth, «L'art de la programmation» (1er et 3e volume)
Artistique - Dunno on the Moon. Je l'ai lu à l'âge de 7 ans, après ça, je ne me souviens de rien pour commencer à me lire. Peut-être que la biographie de Jobs a parcouru un long chemin. De la dernière chose que j'ai lue - Sapiens. Une brève histoire de l'humanité.

10. Si, juste sous vos yeux, l'IA se réveille, que lui direz-vous?


Eh bien, premièrement, je crois que l'esprit et l'âme ne font qu'un. Un tas de fer ne peut pas avoir d'âme par définition. Bien que mon ordinateur réagisse différemment si vous le criez ou le louez, pour une raison quelconque.

Mais si nous imaginons hypothétiquement que l'IA s'adapte aux conditions de vie sur Terre, elle adoptera les habitudes comportementales des gens, tout comme un enfant, lorsqu'elle apprend à marcher et à parler. Ensuite, probablement, je demanderais comment guérir les maladies incurables et éviter les guerres, puis la surpopulation de la Terre.

Question du héros précédent


Que feriez-vous pour une expédition intergalactique de plusieurs générations?

Bien sûr, je coderai et automatiserai les besoins de l'expédition.

Et si vous rêvez, et supposez que je ne vieillis pas, il n'y a pas de temps ni de cadre de consommation, alors j'essaierais de visiter autant de planètes adaptées à la vie que possible. Échangez des contacts avec les habitants de Gliese 581g, buvez de la bière sur Mars, lancez une startup sur Andromeda, dormez avec un extraterrestre.

Question pour le prochain héros


Quels conseils vous donneriez-vous à votre retour il y a 10 ans?

Source: https://habr.com/ru/post/fr426947/


All Articles