Alors vous voulez mon travail: développeur d'applications

{h1}

Une fois de plus, nous revenons à notre Alors tu veux mon travail série, dans laquelle nous interrogeons des hommes qui occupent des emplois souhaitables et leur posons des questions sur la réalité de leur travail et des conseils sur la manière dont les hommes peuvent vivre leur rêve.


De nombreux concerts liés à l'informatique et aux logiciels sont regroupés dans le même ensemble de carrières, sans réelle différenciation. La réalité, cependant, est qu'il existe un certain nombre de vocations qui incluent la programmation, le développement, la sécurité informatique, etc. L'an dernier, nous avons couvert les tenants et les aboutissants d'être un professionnel de l'informatique. Aujourd'hui, nous examinons le monde des développeurs d'applications. Nous avons discuté avec Jason Butz, qui nous donne un aperçu de ce qu'il fait et en quoi il est différent des autres carrières en programmation.

1. Parlez-nous un peu de vous (d’où êtes-vous? Quel âge avez-vous? Décrivez votre travail et depuis combien de temps vous y êtes, etc.).


Je suis né et j'ai grandi à Indianapolis, Indiana. J'ai 26 ans, mais j'approche rapidement de 27 ans. Je suis développeur d’applications, ce qui est une façon élégante de dire que je crée des applications Web. Je travaille pour mon employeur actuel depuis près de 2 ans, mais je travaille professionnellement sur des applications Web depuis environ 5 ans. Je joue avec les sites Web et la technologie Web pendant mon temps libre depuis plus de 15 ans.

2. Pourquoi vouliez-vous vous lancer dans la programmation / le développement d'applications? Est-ce quelque chose que vous avez toujours voulu faire?


En grandissant, je voulais être vétérinaire ou gardien de zoo, donc ce n’était pas exactement ce que je voulais au départ. Au collège, j'ai suivi un cours d'été d'enrichissement où j'ai appris à créer des sites Web. C'était encore les années 90, et les sites Web n'étaient pas beaux, mais j'étais accro. Au lycée, j'ai suivi tous les cours d'informatique que je pouvais et j'en apprenais davantage sur le développement Web à la maison à mon rythme. Je prenais des cours sur tout, de la programmation à la construction et à la réparation d'ordinateurs. J'ai en fait pu obtenir quelques certifications. Je ne savais pas exactement ce que je voulais faire, mais je savais que cela concernerait les ordinateurs. Une fois que j'ai commencé ma recherche universitaire, je me suis concentré sur un diplôme en informatique et j'ai découvert à l'université que j'étais douée pour les applications Web et que j'adorais les créer.



3. Pouvez-vous nous définir ce que fait un développeur d'applications? Il a tendance à être intégré à une variété d'autres carrières technologiques. Qu'est-ce qui définit votre rôle spécifique?


Avec les titres que les entreprises utilisent, les choses deviennent très troubles. Par exemple, dans l'entreprise où je travaille, un développeur d'applications peut obtenir une promotion à un ingénieur logiciel, où la seule vraie différence est l'échelle salariale disponible. J'avais un emploi précédent où j'ai fait la même chose, mais mon titre était développeur / analyste. Je suis sûr qu'il y a encore plus de titres utilisés que ceux-là, mais je ne les connais pas tous. Cela devient encore plus compliqué lorsque vous tenez compte du fait que le titre d’ingénieur logiciel est utilisé pour des tâches qui ne fonctionnent pas nécessairement avec des applications Web, mais qui font simplement une sorte de programmation.

Dans mon cas, un développeur d'applications crée et maintient des applications Web. Dans le département où je suis, nous avons 3-4 principales applications Web internes que nous avons créées et maintenues. Dans un autre département, les développeurs d'applications créent des applications Web personnalisées pour étendre les produits et services achetés par les clients.


Par exemple, l'une de nos applications internes est une suite de gestion de projet construite autour de nos processus et besoins. Quelques-uns des développeurs de mon équipe viennent de terminer le déploiement d'une refonte massive de notre fonctionnalité de diagramme de Gantt. Je suis en train de comprendre et d’élaborer un rapport financier complexe qui doit être entièrement construit avec les informations que nous avons dans notre système. Nous travaillons tous sur les mêmes outils, mais ce que nous faisons peut être très varié.

4. Comment devenir développeur d'applications? Avez-vous besoin d'un diplôme universitaire? Y a-t-il des certifications requises? Si vous allez à l'université, que devriez-vous étudier?


Un diplôme universitaire n'est pas nécessairement requis, mais il y a beaucoup d'entreprises qui ne vous considéreront même pas pour un poste à moins que vous n'en ayez un. Sans diplôme, vous aurez besoin d'un bon portefeuille de travaux et de projets que vous avez construits. Si vous avez fait de bonnes contributions à des projets open source populaires, cela serait particulièrement utile (bien sûr, un bon portfolio sera utile même avec un diplôme universitaire).

Il n'y a pas trop de certifications à ma connaissance si vous souhaitez faire du développement Web, même si je suis sûr que certaines existent. Les certifications peuvent être utiles avec n'importe quel travail technologique, mais les employeurs semblent se méfier davantage des employés potentiels qui ont une multitude de certifications mais aucune expérience réelle pour les soutenir. Il n’est pas rare que les gens se pressent pour des tests de certification et réussissent, mais ils n’ont toujours pas une réelle compréhension des informations.


Il existe plusieurs chemins que vous pouvez emprunter pour obtenir un diplôme universitaire. J'ai suivi la voie de l'informatique (CS). Certaines personnes de mon équipe sont diplômées en sciences de l'information (SI) ou en informatique et en sciences de l'information (CIS). J'ai même travaillé avec une personne diplômée en infographie. Les diplômes CS ont tendance à avoir plus de théorie informatique que IS ou CIS. Je pense avoir également vu certains collèges offrir des diplômes en développement Web, qui pourraient même fonctionner. Cela dépend vraiment de ce que le programme d'études individuel enseigne et de ce que vous voulez faire exactement.

5. Comment trouvez-vous du travail en tant que développeur d'applications? Existe-t-il différents types d'emplois dans le domaine? À quoi ressemble le marché du travail?

La meilleure façon, avec laquelle j'ai eu du mal à trouver du travail en tant que développeur d'applications, est de commencer par un stage. Mon université n’a pas mis beaucoup d’accent sur eux, ce qui a vraiment joué contre moi. Nous avons eu quelques stagiaires dans mon équipe l'été dernier; l'un d'eux a fait un si bon travail qu'on lui a presque dit qu'il serait embauché lorsqu'il obtiendrait son diplôme s'il postulait.

Il y a aussi beaucoup de recruteurs pour tous les emplois techniques. À Indianapolis, il y a en fait une pénurie de techniciens, donc les recruteurs travaillent très dur. Ils peuvent être un excellent moyen d'obtenir des entretiens et de trouver du travail, mais vous devez vous rappeler que c'est leur travail. Ils ont intérêt à vous faire embaucher quelque part, même si ce n'est pas la meilleure solution pour vous.

J'ai eu le plus de chance avec les références de ma famille et d'amis. J'ai obtenu mon premier emploi à la sortie de l'université grâce à un gars que je connaissais et qui avait obtenu son diplôme l'année précédente. Nous n’avions pas vraiment été amis à l’époque, mais il connaissait les cours que j’avais suivis et il savait qu’il pouvait se porter garant de mes compétences par le simple fait que j’obtenais un diplôme du même programme que lui. À l’école, je ne saurais trop insister sur le fait que vous devez établir un réseau avec vos professeurs, les anciens et même les gens un an ou deux avant vous. Ils pourraient être la clé pour trouver l'emploi de vos rêves. En fait, j’ai mis le pied dans la porte chez mon employeur actuel grâce au cousin de mon demi-frère. Cela semble un peu fou et fait toujours rire, mais je prendrai tout ce que je peux obtenir.

Il existe également la bonne vieille méthode d'envoi de CV. Je suggérerais de ne pas utiliser les sites de recherche d'emploi, comme CareerBuilder, si vous pouvez l'aider; envoyez simplement votre CV à l'entreprise via sa propre section Carrières. Recherchez les entreprises de votre région et jetez un œil à ce qu'elles font et aux emplois disponibles. Si vous avez une question quant à savoir s'ils ont ou non certains types d'emplois, n'hésitez pas à les appeler et demandez à parler à un recruteur RH. Vous ne savez jamais, vous pouvez avoir de la chance et obtenir une interview de cela. Le plus important avec l'envoi de CV est que vous êtes moins susceptible de recevoir un appel qu'une personne qui a été référée par un autre employé, alors allez-y et réseautez.

6. Parlez-nous un peu d'une journée de travail moyenne.

Je commence mes journées à 7h30 par choix. Le reste de l’équipe n’arrive qu’à 9 heures. Je suis une personne du matin et plus productive le matin, donc mon patron ne me dérange pas et j'aime le calme. Je commence généralement la journée en parcourant mes e-mails et le service d'assistance à la recherche de tous les problèmes que je peux résoudre ou pour lesquels je dois fournir une mise à jour. Après cela, je reprends tout ce que je faisais la veille et fais de mon mieux pour me concentrer là-dessus jusqu'à notre réunion SCRUM à 9h30. Nos réunions SCRUM sont une courte réunion où nous disons ce sur quoi nous avons travaillé et ce que nous prévoyons de faire pour cette journée. C’est aussi le moment où notre patron peut changer de priorité et nous dire de faire quelque chose de différent si nécessaire. Après cela, je continue mon travail pour la journée, en prenant de courtes pauses périodiques pour me promener et regarder quelque chose qui n'est pas du code ou mon problème actuel.

Une chose qui est un peu unique et différente dans l'équipe dans laquelle je suis actuellement, c'est que pendant le déjeuner, nous jouons presque toujours à un match. Nous avons tendance à jouer à des jeux que nous pouvons terminer en moins d'une heure, même si nous commençons à essayer des jeux que nous pouvons facilement prendre en photo et reprendre le lendemain.

Après le déjeuner, je continue mon travail jusqu'à ce qu'il soit temps de rentrer à la maison. Une chose un peu différente dans ma situation est qu'il y a un système que je suis le seul à savoir comment administrer ou développer pleinement. Ce n’est pas exactement l’idéal, mais former les autres à ce sujet n’est pas vraiment une priorité. Je reçois donc beaucoup de tickets pour le support technique du système et je suis impliqué dans des réunions chaque fois que les gens veulent de nouvelles fonctionnalités ou ont des questions. Dans l'ensemble, la journée moyenne n'est pas si mal. Je travaille dans une entreprise technologique et nous disposons d'un outil de messagerie instantanée interne. Toute la journée, l'équipe ne parle peut-être pas beaucoup, mais nous avons des conversations et des blagues qui volent constamment dans ces messages. Cela facilite la socialisation tout en étant productif.

Tous les mois ou deux, nous avons une sortie, ce qui rend les deux semaines beaucoup plus stressantes et variées. Ces semaines impliquent généralement de tester l'ensemble du système et de corriger les bogues que nous trouvons le plus rapidement possible. Ensuite, nous sortons pendant le week-end et devons publier beaucoup de petits correctifs la semaine prochaine, car les gens trouvent plus de bogues.

7. À quoi ressemble l'équilibre entre vie professionnelle et vie privée en tant que programmeur?

Il est généralement très équilibré. Habituellement, vous devez vous présenter et partir à des heures régulières, bien qu'il y ait des exceptions. Si quelque chose est gravement cassé, vous devrez généralement rester jusqu'à ce que cela soit corrigé. Si vous avez une fonctionnalité qui doit figurer dans une version et que vous manquez de temps, vous devrez effectuer un travail supplémentaire. S'il faut plus de temps pour préparer une version et qu'elle ne peut pas être repoussée à un autre jour, vous devrez probablement y consacrer plus de temps. La mesure dans laquelle l'une de ces choses interrompt votre vie dépend vraiment de l'endroit où vous travaillez et de l'identité de votre patron. Souvent, il est possible de savoir à l'avance que vous devrez consacrer quelques heures supplémentaires et vous pouvez planifier en conséquence.

8. Quelle est la meilleure partie de votre carrière?

Les énigmes. La programmation des choses ressemble vraiment à un puzzle logique géant. Je dois rassembler différentes choses pour créer une application qui fait quelque chose. On me dira peut-être que lorsqu'une personne approuve un élément dans l'application, un certain groupe de personnes doit recevoir un e-mail, mais je ne peux pas simplement le mettre tel quel. Je dois prendre cela et le décomposer à un niveau très basique. Une fois que je l'ai décomposé, j'arrange mes morceaux - le code - pour qu'il accomplisse ce que je veux. J'aime aussi créer quelque chose de nouveau. Les nouvelles fonctionnalités qui ne sont pas des rapports sont généralement très amusantes à créer. Parfois, des rapports complexes peuvent également être intéressants. Faire venir les utilisateurs vous dire «Nous avons besoin d'un diagramme de Gantt», puis le créer et le leur remettre est une expérience merveilleuse. Ils ont tendance à vous regarder comme si vous étiez une sorte de sorcier ou de magicien.

Mis à part les énigmes et la création, les gens peuvent être vraiment géniaux. Je suis une personne geek, mais tout le monde dans mon équipe est aussi geek. Les conversations que nous aurons peuvent devenir folles. Parfois, vous entendez quelqu'un raconter ce que Marvel fait avec ses bandes dessinées. Une autre fois, vous entendrez des critiques de jeu incroyablement détaillées. D'autres fois, vous entendrez des faits aléatoires mais fascinants sur les films. Parfois, les choses deviennent philosophiques. Il n'y a jamais de conversation ennuyeuse et nous nous faisons tous rire tout le temps.

9. Quelle est la pire partie?

Des projets ennuyeux ou des projets qui étaient autrefois passionnants mais qui sont devenus monotones. Créer un rapport vraiment basique qui ne répertorie que des informations n'est pas très amusant. La seule grâce qui sauve pour eux est la rapidité avec laquelle vous pouvez les terminer. Vous ne pouvez pas faire beaucoup de création et le plus gros puzzle est de savoir comment vous allez extraire toutes les bonnes informations. Le reste que vous avez fait auparavant. Parfois, les grands projets peuvent passer de vraiment intéressants à monotones et continuer à s'éterniser pendant des semaines. Comprendre comment tout faire au début et avoir toutes ces grandes idées est génial - cela combine certaines des meilleures parties du travail. Mais ensuite, vous devez faire toutes ces grandes choses que vous avez imaginées et cela peut commencer à devenir ennuyeux très vite, puis devenir frustrant lorsque vous oubliez comment vous avez fait certaines choses et que vous avez prévu de faire d'autres. Vous devez équilibrer la prise de notes et essayer de vous souvenir des choses. Plus vos idées sont grandes, plus il est difficile de faire en sorte que toutes les pièces s'assemblent correctement.

10. Quelle est la plus grande idée fausse que les gens se font de votre travail?

Les gens pensent que depuis que je travaille avec des ordinateurs, je sais tout sur les ordinateurs, y compris comment les réparer. Dans mon cas, je sais comment réparer les ordinateurs, mais ce n’est pas aussi courant que les gens le pensent. Une autre chose courante est que puisque je peux écrire des programmes, les gens pensent que je peux écrire un programme pour n'importe quoi. Je peux apprendre à écrire des programmes pour d'autres systèmes, mais chaque plateforme est un peu différente. Je ne peux pas vous dire combien de fois des gens m'ont dit: «Hé, j'ai besoin de votre aide. J'ai cette excellente idée d'application pour téléphone et j'ai besoin de vous pour la créer. » Ils ont toujours l'air un peu stupéfaits quand je leur dis que je ne sais pas comment créer des applications pour téléphone.

11. Avez-vous d'autres conseils, astuces, commentaires ou anecdotes que vous souhaitez ajouter?

Si vous voulez vous lancer dans n'importe quel type de programmation informatique, vous aurez besoin de connaître les langages de programmation, mais souvent, c'est la capacité d'apprendre rapidement les langues et le bon état d'esprit qui sont plus importants. Vous devez prendre des problèmes complexes et les décomposer en quelque chose de plus simple. Faire des trous dans les idées et trouver des cas de bord logiques est également très utile.

Une leçon importante que j’ai apprise, qui me paraît utile à tout le monde, est de toujours reconnaître vos erreurs. Dans la dernière entreprise pour laquelle j'ai travaillé, je travaillais sur le système financier et j'avais publié une mise à jour que j'avais écrite. Le lendemain, un responsable est venu à l'endroit où l'autre développeur et moi étions assis et nous a dit qu'il semblait que 2 millions de dollars avaient disparu du système. J'ai rapidement dit que c'était probablement ma faute parce que j'avais poussé du code affectant cela la veille. Admettre que j'avais raté ça a été un long chemin. J'ai également pu régler le problème et faire réapparaître l'argent dans les finances, ce qui n'a probablement pas fait de mal. L'autre développeur là-bas avait fait disparaître 200 millions de dollars et il n'avait pas non plus perdu son emploi. Reconnaissez toujours vos erreurs et faites ce qu'il faut pour les corriger, si elles sont réparables.