Aujourd'hui, je vis dans la merveilleuse ville de San Francisco. J'ai un travail que j'aime et que je rêvais d'avoir depuis longtemps. Tout semble facile maintenant, mais il n'en a pas toujours été ainsi.
Je suis né à San Pedro Sula , une petite ville du nord-ouest du Honduras. J'ai commencé à programmer quand j'avais 12 ans. Tout a commencé avec BASIC. Un jour, je jouais à un jeu vidéo et il s'est écrasé. Quand j'ai vu un écran plein de codes d'erreur et de messages, j'étais curieux - j'ai donc commencé à apprendre quelques commandes BASIC, ce qui m'a finalement amené à acheter des livres sur la programmation en Clipper, Turbo Pascal, C, C ++, etc. C'était super. J'avais tout le temps du monde pour coder ce que je voulais: pas de limite de temps (autre que l'école, qui n'était pas aussi exigeante qu'un travail à plein temps) ou de responsabilités d'adulte.
Plusieurs années plus tard, à l'âge de 15 ans, mon père avait un problème avec un mauvais logiciel de comptabilité. Je lui ai dit que je pouvais faire une meilleure version - sans vraiment comprendre dans quoi je m'impliquais (je n'avais même jamais ouvert une base de données SQL). J'ai donc acheté quelques livres supplémentaires et j'ai fait le travail. Note: C'était à l'époque où Internet n'était pas aussi répandu qu'aujourd'hui: je vivais dans un pays du tiers monde et Internet n'est arrivé que vers la fin de 1997, 5 ans après avoir commencé à programmer.
Je me souviens m'être dit: 'Je veux être ingénieur en informatique'. Bien sûr, je n'avais aucune idée de ce que cela impliquerait, mais je savais que j'aimais les ordinateurs (je parle de ces PC lents, carrés et à vrai écran avec DOS - terrible, bien sûr, maintenant que nous avons ces magnifiques nouveaux systèmes d'exploitation. ).
programmation c++ pour les débutantsDonc, naïf comme quelqu'un dans la vingtaine, j'ai décidé que je voulais immigrer aux États-Unis - bien sûr, c'est un chemin long et difficile.
Je me souviens très clairement que lors de mon deuxième ou troisième voyage aux États-Unis (nous allions en vacances), j'ai décidé que je voulais y vivre. Tout était si avancé! Bien sûr, aujourd'hui, avec la mondialisation et Internet, les différences ne sont pas si vastes, mais les écarts croissants et croissants peuvent encore être observés à travers le développement des infrastructures, l'instabilité politique, les taux de criminalité, etc.
Donc, naïf comme quelqu'un dans la vingtaine, j'ai décidé que je voulais immigrer aux États-Unis - bien sûr, c'est un chemin long et difficile.
À cette époque, mon père avait un cabinet comptable et ils ont commencé à avoir des problèmes avec le logiciel comptable qu'ils utilisaient. Le développeur était têtu et ne voulait pas aider, alors mon père a commencé à chercher des alternatives. Il voulait accélérer mon apprentissage en tant que programmeur, alors il est allé à l'université locale - le seul endroit où ils vendaient des livres de programmation avancés - et a rassemblé des ressources. C'était un nouveau monde pour moi: j'avais l'un de ces nouveaux (à l'époque) moniteurs verts avec un processeur 5 MHz, 256 Ko de mémoire et 10 Mo d'espace disque. Il utilisait ces vieux disques mécaniques pour que vous puissiez entendre tout ce que le disque dur traitait. Le clavier était mécanique et le son de chaque touche était agréable à entendre. Avance rapide de 10 ans et je travaille toujours sur le même logiciel de comptabilité; maintenant, cependant, je le vendais à des clients, avec une interface Windows, une base de données SQL et une connectivité Internet.
A cette époque, j'ai décidé d'abandonner l'école et de créer ma propre entreprise. Je travaillais avec mon père, d'une certaine manière: nous partagions les revenus de la vente de logiciels de comptabilité, car malgré mon idée et mon exécution, il a investi beaucoup de temps à m'apprendre la comptabilité. Nous l'avons donc divisé: il continuerait à vendre la version actuelle du logiciel et je créerais une nouvelle version. Mais comme je l'ai vite découvert, l'activité de développement de logiciels au Honduras n'est pas une promenade dans le parc: les clients ne veulent pas payer pour nos services et ils voient toujours le développement de logiciels comme une tâche facile qui ne nécessite pas de travailler avec un produit tangible. ; ils ne se rendent souvent pas compte de la valeur du logiciel car il ne génère pas de revenus immédiats, ce qui le rend encore plus difficile à vendre.
Côté affaires, j'ai embauché certains des meilleurs étudiants de premier cycle de la région (que j'ai rencontrés à mon retour à l'université). Mais au fil du temps, j'ai commencé à porter différents chapeaux: PDG, comptable, RH, service et support client, chef de projet et (mon préféré) développeur. Je voulais vraiment juste coder, mais c'était très difficile puisque tous ces chapeaux me consommaient. Finalement, nous avons eu des problèmes car nos clients ne payaient pas à temps et nous avons eu du mal à trouver de nouveaux projets: quand vous avez les meilleurs talents, ils veulent être bien payés, et nous payons bien; mais nos clients ne répondaient pas comme prévu. Et pourtant, vivre dans un pays du tiers monde avait dissuadé tout intérêt des investisseurs. J'aurais dû m'y attendre et chercher un autre modèle commercial, mais j'étais trop occupé à jongler avec toutes mes tâches. Finalement, l'entreprise a fait faillite, et je me suis retrouvé avec beaucoup de dettes, des employés en colère et un goût amer dans la bouche. J'ai dû recommencer à zéro.
Ce qui compte le plus, c'est comment nous nous relevons après la défaite et comment nous apprenons de nos erreurs. C'est intimidant de recommencer, de tout repenser, mais c'est ce que j'avais à faire. Ma femme m'a aidé à traverser ces moments difficiles et m'a poussé à faire des choses dont je pensais ne pas être capable. J'ai donc recommencé à travailler sur mon logiciel de comptabilité, mais sans argent pour le marketing, c'était très difficile à promouvoir. Les revenus étaient rares et j'avais besoin de subvenir aux besoins de ma famille. J'ai dû changer de vitesse. Vers la même période, le Apple a présenté le SDK iPhone . Cela ressemblait à une nouvelle plate-forme risquée pour moi; et pourtant, j'étais nouveau sur le Mac lui-même. Ma transition vers le Mac a commencé avec l'iPhone et un Hackintosh , ce qui m'a permis de goûter OS X sans dépenser pour une machine coûteuse. Certains de mes amis ont ri et m'ont totalement ignoré quand j'ai dit que j'allais développer pour l'iPhone; mais je croyais vraiment qu'il y avait de l'argent à gagner sur l'App Store. Après 150000 téléchargements payants de mon application , J'ai prouvé que j'avais raison; bien que, bien sûr, ces chiffres à eux seuls ne racontent pas toute l'histoire: le système économique de l'App Store est complexe , et vous devez vraiment investir dans votre produit et rechercher des clients pour créer de la valeur à long terme. Pour cela, vous avez besoin d'une équipe. Donc, même si mon application fonctionnait bien, il n'était pas durable (d'un point de vue commercial) de continuer à la développer par moi-même. Quoi qu'il en soit, j'avais prouvé ce que je pouvais faire - alors un jour je me suis réveillé et je me suis dit que j'allais enfin immigrer aux États-Unis.
c ***********
Comme je l'ai découvert, immigrer aux États-Unis n'était pas une tâche facile. Le moyen le plus simple serait probablement d'obtenir une carte verte via un membre de la famille, mais mon option la plus proche serait mon frère, qui est né aux États-Unis; cependant, il vivait avec nous au Honduras et ne pouvait transmettre la pétition à personne, car il ne travaillait pas à l'époque. Et même s'il le pouvait, le processus pourrait durer jusqu'à 15 ans (note: les frères ont moins de préférence parrainer un membre de la famille pour la carte verte). Ma solution a été de créer une entreprise américaine. J'ai un ami à investir et nous avons commencé à créer des jeux pour iPhone et iPad. Sur le papier, tout avait l'air super; mais bien sûr, le système économique de l'App Store nous prouverait le contraire. Donc, nous avons besoin de plus d'argent; mon ami n'avait pas prévu cela. Au final, nous avons publié une application, une autre était en développement, mais nous n'avons jamais terminé en raison de problèmes de financement. Encore une fois, les choses se sont refroidies. J'ai décidé de poursuivre ce que je pensais être mon dernier recours: travailler pour une entreprise américaine.
Il est difficile d'être embauché par une entreprise américaine à l'étranger. J'ai postulé pour plusieurs postes, mais le premier problème était que je devais déménager: ils devraient soumettre une pétition et me parrainer grâce à un visa de travail. Le processus était coûteux en temps (jusqu'à un an, s'il n'y avait pas de visa disponible à ce moment-là) et en argent (c'est-à-dire en frais juridiques). Alors, à la place, j'ai commencé à chercher du travail via un site Web en ligne pour les pigistes. En théorie, c'est un bon service. Mais vous devez d'abord instaurer la confiance - ce qui est difficile. Il y a des hordes de développeurs qui facturent en dessous de la moyenne juste pour se faire remarquer; à cause de cela, il est difficile d'être bien payé. J'ai fini par faire un seul projet sur le site Web, qui valait 8 heures de travail.
Plus tard, j'ai été contacté par ApeeScape, ce qui m'a semblé être une très bonne opportunité: ils embauchent de grands développeurs et les mettent en relation avec les clients. Et je pourrais toujours travailler à domicile et pour une entreprise américaine. Je suis apparu sur leur radar pour mon travail sur l'App Store, mais je devais tout de même passer par un processus de veto strict, allant de la compréhension de la lecture aux questions de programmation, des optimisations d'algorithmes aux sessions de programmation chronométrées. Le plus mémorable a été mon entretien final, qui comprenait la discussion d'un de mes projets et l'examen de mon code avec un ingénieur ApeeScape pour prouver que c'était vraiment le mien.
Après qu'ApeeScape m'a accepté dans son réseau de développeurs, j'ai été mis sur une liste d'attente. Une fois qu'un client montre de l'intérêt pour un développeur particulier, le client interrogera ce candidat (comme dans un entretien d'embauche régulier) pour s'assurer qu'il convient. Avant ma première interview, j'étais très nerveuse. Cela a commencé avec le client expliquant ce que l'on attendait de moi, ainsi que le projet en général, et posant des questions à tout moment pour voir si je comprenais tout. Au fur et à mesure que l'entretien se poursuivait, les choses ne se passaient pas aussi bien que je m'y attendais, car les questions devenaient plus spécifiques et techniques. Ils ont fini par choisir quelqu'un d'autre. Rétrospectivement, c'était génial qu'ils ne voulaient pas de moi: une semaine plus tard, j'ai interviewé qui allait devenir mon employeur à temps plein.
Je me suis davantage préparé pour cette prochaine interview, ce à quoi je m'attendais: nous avons davantage parlé de mon expérience de développeur et l'entreprise s'est familiarisée avec mon approche de résolution de problèmes. Trois jours plus tard, j'avais signé un contrat et commencé à travailler pour ce nouveau client via ApeeScape.
J'ai travaillé pour Vie360 via ApeeScape pendant au moins 9 mois. Leur produit principal est une application de localisation de famille, mais au départ je travaillais seul sur des projets personnels: d'abord, un application d'alarme sismique ; et deuxièmement, un scanner de police . Pendant quelques mois, mon flux de travail consistait principalement à: recevoir des exigences de haut niveau de Life360, renvoyer des modèles et des questions, et intégrer leurs commentaires dans ces applications, en répétant plusieurs fois cette boucle. J'étais en contact avec un designer et un couple d'employés de Life360 (l'entreprise n'en comptait que 5 ou 6 à l'époque), mais j'avais beaucoup d'autonomie. C'était libérateur de travailler de chez moi: je n'avais pas à bouger et j'avais créé un environnement sans distraction.
Bientôt, je me suis retrouvé intégré de plus en plus profondément dans l'équipe - j'avais fait mes preuves, pour ainsi dire, avec ces deux premiers projets. En décembre, on m'a demandé si j'aimerais faire partie de l'équipe à plein temps à San Francisco - j'ai accepté avec enthousiasme et ils ont commencé par la paperasse. En janvier, je participais à des réunions de mêlée quotidiennes (pratiquement, puisque j'étais toujours au Honduras), décrivant mon travail de la veille et mes projets pour les prochains jours. Mon flux de travail est devenu plus organisé et je me suis davantage engagé dans l'entreprise.
C'était un rêve devenu réalité: j'avais fait un excellent travail pour une entreprise américaine et je me dirigeais maintenant vers le changement - mais j'avais encore beaucoup d'obstacles à surmonter. Premièrement, je n'avais jamais terminé l'université. alors même que pas être strictement nécessaire travailler pour une entreprise de technologie aujourd'hui, vous besoin d'un diplôme universitaire pour se qualifier pour un visa H-1B. J'ai donc dû terminer mon cours; cela a nécessité un engagement de six mois dans un projet à grande échelle, que j'ai eu le temps exact de terminer.
Bien qu'il ne soit pas strictement nécessaire de travailler pour une entreprise de technologie aujourd'hui, vous avez besoin d'un diplôme universitaire pour être admissible à un visa H-1B.L'avocat a terminé la paperasse le 1er avril le jour de l'ouverture du processus de visa H-1B (au moment de la soumission, il a laissé le diplôme «en attente», car les visas H-1B sont limités et ils pourraient envoyer la documentation plus tard). J'ai terminé mon projet à temps, assisté à ma cérémonie de remise des diplômes et reçu un diplôme.
À partir de là, avant tout, l'entreprise qui vous embauche doit être très ouverte et très patiente. Le processus de demande de visa commence en avril; si vous choisissez le option de traitement premium , vous obtiendrez le résultat de l'USCIS dans deux semaines. Après cela, vous devez encore passer par un processus d'entretien et votre visa peut toujours être refusé; mais si tout se passe bien, vous pouvez entrer aux États-Unis après le 1er octobre - six mois après la date de la demande, et pas avant. Cela signifie que vous ne pouvez pas travailler pour cette entreprise tant que vous n'avez pas obtenu le visa H-1B, ce qui peut être un problème: l'entreprise doit trouver comment continuer à travailler à distance pendant qu'elle attend que le visa devienne actif. Dans mon cas, l'entreprise a décidé de m'embaucher en tant que développeur indépendant, facturant mes heures en tant que services professionnels, et n'a enfreint aucune loi sur l'immigration ou le travail.
qui a créé le langage de programmation c
Je me suis envolé pour San Francisco le 1er octobre 2012. L'objectif que j'avais poursuivi dès que je me souvenais était enfin complet.
Contenu traduit par Eduardo Kienetz, membre de Transbrunko , un marché pour les traductions techniques. »