Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Qu’est-ce que ça fait d’être un développeur Dalija Prasnikar ?

smartmockups kthovtu2

Bonjour. Cet article fait partie d’une série où nous discutons avec des développeurs de logiciels professionnels, leur demandons ce que c’est que d’écrire du code pour gagner leur vie, et peut-être obtenons-nous quelques aperçus de l’industrie du développement de logiciels en cours de route.

Dans notre chaise d’entretien aujourd’hui, nous avons la tout simplement merveilleuse Dalija Prasnikar. Dalija est basée dans la ville merveilleusement historique et pittoresque de Zageb en Croatie. Vous en saurez plus dans un instant sur les antécédents de développement de Dalija, mais elle est également une photographe accomplie ainsi qu’une auteure respectée de grands livres de codage. Vous pouvez dire qu’elle est une bonne codeuse – elle est la seule à ce jour à avoir renvoyé ses réponses en utilisant MarkDown !

Table of Contents

Dalija, merci d’avoir accepté de participer aux interviews !

Merci 

Quel serait votre bref résumé des nouvelles du soir sur qui vous êtes et ce que vous faites ?

Développeur de logiciels, consultant, auteur de livres, Embarcadero MVP. Faire planter le logiciel d’autres personnes et écrire le mien depuis ’85.

Quel(s) produit(s) Embarcadero utilisez-vous a) le plus b) régulièrement ?

Delphes, bien sûr.

Comment et/ou pourquoi êtes-vous devenu développeur ?

Quand j’étais petit, je voulais être astronaute. J’étais vraiment dans l’espace, l’astronomie, la science… et tout ce qui s’y rapportait. Quand j’avais environ neuf ans, la première série de science-fiction dont je me souviens avoir regardé était Blake’s 7 . Et mon personnage préféré là-bas était Kerr Avon. Un génie informatique très intelligent, sarcastique. Au tout début de la série, il a dit « Qui contrôle l’ordinateur, contrôle le navire », et ce fut le moment crucial où « Je veux être un astronaute » est devenu « Je veux contrôler les ordinateurs ».

Bien sûr, dans la vraie vie, être développeur et sachant ce que je sais maintenant, contrôler les ordinateurs et le vaisseau est vraiment une illusion. Le plus souvent, c’est l’inverse. C’est aussi pourquoi je ne fais jamais entièrement confiance à tout ce qui est lié à la technologie.

Pensez-vous que vous cesserez un jour d’être développeur ? Si oui, quelle serait la prochaine?

Je pourrais probablement être un agriculteur… mais je serais un agriculteur qui écrit du code comme passe-temps. [ Moi aussi ! Nous devrions tous les deux parler à notre collègue développeur Alister Christie – il vit sur un bloc de style de vie – IanB]

Qu’est-ce qui vous a poussé à utiliser Delphi/C++ Builder ?

J’ai appris le Turbo Pascal au lycée, et c’est rapidement devenu ma langue préférée. Il pouvait faire tout ce que C pouvait faire, et c’était beaucoup plus rapide – non seulement pour écrire du code, mais aussi pour compiler.

J’ai commencé ma carrière en tant que journaliste informatique chez BYTE Croatie (titulaire d’une licence McGraw-Hill) et rédacteur en chef du magazine MIPS Computer. Avec l’essor d’Internet et de l’édition en ligne dans les années 90, je suis passé au développement Web. J’utilisais Java et JavaScript avant de commencer à utiliser Delphi. Issu de Turbo Pascal, que j’utilisais également depuis le début pour écrire divers utilitaires et générateurs de pages Web, Delphi était un choix naturel pour développer des applications Windows.

Dalija, in full-on MVP mode!

Sur quoi travailles-tu actuellement?

Comme vous le savez, j’ai déjà écrit deux livres Delphi : Delphi Memory Management et Delphi Event-based and Asynchronous Programming.

J’aime écrire des livres. C’est une opportunité de partager des connaissances, mais aussi une opportunité d’apprendre. Peu importe ce que vous en savez sur un sujet, il y a toujours des coins sombres sur lesquels vous devez faire la lumière afin de l’expliquer correctement aux autres.

Après avoir écrit le deuxième, il était assez facile de passer en cinquième vitesse, alors j’écris d’autres livres Delphi. Je n’ai pas encore d’autres détails à partager.
Mais oui, il y a de nouveaux livres Delphi à l’horizon.

Quel langage de programmation recommanderiez-vous d’apprendre en premier ?

Anglais 

Si vous pouviez donner un conseil à un étudiant qui envisage une carrière en tant que développeur de logiciels, quel serait-il ?

Commencez à apprendre en lisant des livres. Apprenez d’abord les concepts et les algorithmes. Les langues sont secondaires. Ils sont tous limités par leur mise en œuvre, et l’apprentissage de concepts à travers une langue conduit souvent à des malentendus. Étant donné que différentes langues implémentent les mêmes concepts de différentes manières, les modèles de codage généralement utilisés dans une langue ne fonctionnent pas nécessairement bien dans une autre.

Ne laissez pas les règles vous gouverner. Les bonnes pratiques et les règles sont plus des directives que des règles codées en dur. Ils sont destinés à aider les développeurs à effectuer des tâches courantes. Dès qu’une règle devient un fardeau, vous devriez cesser de l’appliquer. Cependant, il s’agit d’une arme à double tranchant, et les gens interprètent assez souvent cela comme une autorisation d’enfreindre les règles partout parce qu’ils ne comprennent pas pleinement le raisonnement derrière une règle particulière. De plus, avec le temps, les règles et les pratiques évoluent, pour une raison ou une autre, et ce qui était autrefois une bonne pratique ne l’est peut-être plus.

Le livre extrêmement populaire de Dalija « Programmation événementielle et asynchrone » peut être commandé ici : https://dalija.prasnikar.info/delphiebap/index.html

Un code simple vaut mieux qu’un code intelligent. Si vous ne pouvez pas réaliser quelque chose avec un code simple, alors, et seulement alors, vous pouvez appliquer des astuces intelligentes. Il est important d’écrire ce que fait un code intelligent et pourquoi, car vous l’oublierez bien assez tôt. Et bien sûr, expliquer permet à d’autres personnes de comprendre votre code plus facilement.

L’expérience ne vous empêchera pas d’écrire du code idiot et de faire des erreurs stupides. L’expérience vous aide à repérer et à reconnaître ces erreurs le plus tôt possible, et c’est la première étape pour les corriger.

N’arrêtez jamais d’apprendre.

La devise du développeur

Les développeurs ne sont pas des maîtres Jedi. « Faire. Ou pas. Il n’y a pas d’essai », ne fonctionne pas. C’est « Si au début tu ne réussis pas, essaie, essaie, essaie, essaie… essaie, essaie, réessaye.

Tabulations… ou espaces ?

Les espaces.

Style d’indentation

Allman pour les langages contreventés, GNU pour Pascal. La différence réside dans l’indentation des blocs où begin..end a besoin d’une indentation supplémentaire pour une séparation plus nette.

Quelle est la meilleure journée que vous ayez vécue en tant que développeur ?

Il y en a eu beaucoup… il est difficile d’en choisir un.

Qu’est-ce qu’il y a de pire dans le fait d’être développeur ?

Vous n’arrêtez jamais de coder dans votre tête.

Quelle est l’astuce de développement la plus cool que vous connaissiez ?

Si vous êtes coincé, prenez un bain, marchez, dormez… faites tout ce qui vous détend.

Travailler à domicile, travailler depuis un bureau, travailler dans un espace ouvert/partagé ? Que préférez-vous et pourquoi ? Arrivez-vous à choisir ?

Travail à domicile. Configuration plus confortable. Il ne perd pas de temps en déplacements. Vos propres toilettes. Vous pouvez survivre à la pandémie sans changer vos habitudes.

Dites-nous quelque chose d’intéressant que vous pensez que nous ne saurons peut-être pas.

La première version de Turbo Pascal que j’ai utilisée au lycée fonctionnait sur CP/M. J’étais également dans la première génération d’élèves du secondaire qui n’avaient pas de COBOL dans leur programme.

Si vous pouviez agiter une baguette magique « réparer l’industrie technologique », que changeriez-vous ?

Je créerais un plus grand byte-bat ! (Pour ceux qui ne savent pas de quoi je parle, il y avait une sorte de batte de baseball en caoutchouc dans les années 80 avec laquelle on pouvait frapper son stupide ordinateur sans rien casser.)

Le site de Dalija vous donne un indice sur sa personnalité effervescente !

Si vous pouviez convaincre quelqu’un d’envisager Delphi ou C++ Builder, quelle serait votre méthode, comment le feriez-vous ?

Ce que j’ai toujours aimé à propos de Turbo Pascal et plus tard de Delphi, c’est le fait qu’il s’agit d’un langage assez universel – non seulement en termes d’adaptation au développement d’applications très différentes, mais également en termes de possibilité de programmer à des niveaux d’abstraction très différents. .

Vous pouvez l’utiliser comme un outil RAD, pour un prototypage et un développement rapides. Vous pouvez écrire et utiliser des frameworks à haute abstraction, où vous pouvez réaliser des choses avec seulement quelques lignes de code. Et pourtant, vous pouvez toujours aller jusqu’au niveau du système d’exploitation et interagir directement avec les API du système d’exploitation. Sur la plate-forme Windows, vous pouvez même aller plus loin et écrire directement du code assembleur.

J’aime beaucoup cette partie assemblage. Je ne l’utilise plus trop de nos jours, mais pour les rares occasions où je le fais, je suis extrêmement content qu’il soit là.

Je ne sais pas si ce serait exactement un argument très convaincant. C’est peut-être une relique du passé, quand la possibilité d’aller au niveau de l’assemblage était un avantage extrême, mais j’adore cette flexibilité.

Quel produit technologique aimeriez-vous inventer/conçu et pourquoi ?

Quand j’étais enfant, après avoir regardé Blake’s 7 , je pensais que ce serait cool d’avoir leur ordinateur, Zen, à l’intérieur de la montre, alors j’avais de nombreux dessins montrant à quoi ressemblerait cette montre. Cela compte-t-il? [ DÉFINITIVEMENT ! – IanB, je suis aussi un fan de Blakes 7 !!! ]

Si vous pouviez revivre votre vie, deviendriez-vous quand même développeur ? Pourquoi?

Oui. Contrôler le navire…

Combien de cafés buvez-vous par jour et est-ce suffisant ?

Beaucoup. Ce n’est jamais assez.

Êtes-vous un faucon de nuit qui code jusque tard dans la soirée, une personne du matin qui se lève tôt et juste avant ou respectez-vous une sorte d’heures de bureau régulières ?

À chaque fois que l’inspiration frappe !

Dans votre carrière, avez-vous déjà « fait une nuit blanche » pour faire face à quelque chose qui devait absolument être fait ?

Oui. Mais pas autant de fois que lorsque j’étais dans l’édition. Ma plus longue course il y avait environ 30 heures.

Décrivez d’autres choses que vous avez faites dans votre carrière et qui pourraient donner aux lecteurs une idée de ce qui fait un développeur.

Je suis aussi photographe. Je pense…

Dalija, définitivement photographe

Quelle est la question la plus stupide qu’on vous pose (aucune de celles-ci ne compte !)

Combien de temps cela prendra-t-il?

Faites-vous des devis pour travailler avec des clients? Si vous le faites, sans rien révéler qui puisse vous mettre mal à l’aise, quel type de processus utilisez-vous ?

Tarif horaire. Les frais fixes ne fonctionnent que pour la personnalisation de « modèle », où vous avez un produit qui peut être personnalisé et où la personnalisation se compose d’étapes très spécifiques, connues et prévisibles.

Comment empêchez-vous les clients/gestionnaires de programme/gestionnaires de « rechercher des fonctionnalités » ?

En disant combien de temps faudrait-il pour le terminer.

Décrivez une session de codage typique pour vous. Comment ça commence ? Faites-vous des pauses ? Avez-vous des rituels/habitudes pour l’accompagner ?

This EXCELLENT book can be ordered from here: https://dalija.prasnikar.info/delphimm/

Cela dépend de ce que je fais, que j’écrive un nouveau code, que je débogue ou que j’écrive un livre. Le thème le plus courant est que je Google beaucoup et lis beaucoup de documentation.

Je fais des pauses lorsque j’écris, car il faut souvent s’arrêter et réfléchir avant d’écrire quelque chose. Une courte pause vous donne l’occasion de repenser et de vous assurer que vous n’allez pas dans la mauvaise direction.

D’un autre côté, le débogage n’aime pas les pauses, surtout lorsque vous traquez un Heisenbug insaisissable. Vous devez souvent garder une trace d’énormes quantités de logique de code dans votre tête, et toute distraction ou interruption effacera facilement tout cela et vous devrez tout recommencer.

Écoutez-vous de la musique pendant que vous codez ? Si oui, pouvez-vous nous citer quelques morceaux/artistes/performances ?

Parfois. Thèmes de films, pop et rock des années 80… Quand mes enfants étaient petits, et que je travaillais et faisais du baby-sitting en même temps, cela incluait d’écouter de la musique d’Age of Empires ou de Settlers IV toute la journée.

Utilisez-vous des méthodes ou des techniques telles que Agile, Scrum, Kanban, TDD ? Si oui, pourquoi? Si non, pourquoi ?

Réponse courte : Oui. Cela depend du projet.

Réponse longue : C’est une sorte de question sournoise. [ Eh bien, repéré! – IanB ]

Chacune des techniques mentionnées a de nombreuses variantes (ou, du moins, les gens les appliquent de manière libre). Dire oui à l’une des réponses ci-dessus ne signifie pas que vous suivez un processus donné à la lettre. Et cela ne veut pas dire qu’il est préférable d’utiliser l’un plutôt que l’autre. Tout comme les bonnes pratiques de codage n’existent pas dans le vide et que leur objectif principal est de vous aider à atteindre l’objectif final, les pratiques de gestion de projet et de qualité font également partie du même processus. Si le processus devient son propre objectif, alors vous avez perdu la capacité d’atteindre votre objectif final : terminer un logiciel fonctionnel, maintenable et de qualité.

C’est pourquoi je déteste nommer les parties du processus, car il n’est jamais figé, et il s’adapte aux exigences du projet et de l’équipe.

Suivez-vous les bugs ? Si vous le faites, que recommandez-vous?

Non, je les tue sur place. Parfois, cela les transforme en bogues zombies.

Un bon développeur de logiciels :

Un développeur émoussé, sinon ils font un sacré bordel.

Un mauvais développeur de logiciels :

Moi, hier 

iPhone, Android, Autre – et pourquoi ?

Pas de téléphones. Trop de distraction.

Pour un développeur : PC vs Mac ? Pourquoi?

PC, car Turbo Pascal et Delphi fonctionnent sur PC. De nos jours, j’utilise Mac pour le développement iOS et macOS, mais cela n’a jamais vraiment grandi sur moi. Je ne dis pas que Windows est parfait, loin de là, mais je suis plus habitué à ses bizarreries. Je ne peux pas m’habituer à ceux sur macOS.

Quelle est la seule chose pour laquelle vous voudriez qu’on se souvienne de vous ?

Mon chapeau! 

Quel est le meilleur film développeur/hacker/tech/geek ?

Que diriez-vous du meilleur livre de développeur ? Le guide de l’auto-stoppeur de la galaxie .

En ce qui concerne les films, je dirais probablement Retour vers le futur et Star Wars : Un nouvel espoir , mais les séries de science-fiction sont les meilleures. Il est difficile de les noter, car chacun d’entre eux est assez unique : Blake’s 7 , Battlestar Galactica , Star Trek , Stargate …

Aucun développeur ne devrait être vu sans : _____________________________

Un ordinateur!

Si un film était fait sur votre vie, qui voudriez-vous vous incarner ?

Angelina Jolie de 1995. 

Avez-vous un site Web que les gens peuvent visiter, si oui, lequel?

https://dalija.prasnikar.info/

Si vous utilisez Twitter, quel est votre pseudo Twitter ?

dalijap

Quelle est votre méthode préférée de contact avec des clients potentiels?

https://dalija.prasnikar.info/contact

 
Quitter la version mobile