H-1B: iOS Developer Path from Honduras to Silicon Valley

Original author: CARLOS HERNANDEZ
  • Transfer
Today I live in the wonderful city of San Francisco. I have a job that I love, a job that I dreamed about for many years. Everything at the moment seems so easy ... but it was not always like that.

How it all began

I was born in San Pedro Sula , a small town in the northwestern region of Honduras. He began to program when I was 12 years old. It all started with BASIC. I once played a video game, and it crashed with an error. When I saw the screen filled with error codes and messages, I was intrigued, and I began to study some BASIC commands, which eventually led to the purchase of several books on programming in Clipper, Turbo Pascal, C, C ++, etc. That was great. All the time I spent programming everything I wanted: no time limits (except for the school, which was not taking up as much time as a full-time job) or the obligations of adulthood.

A few years later, when I was 15, my father had problems with some crappy accounting software. I told him that I could make the version better without realizing what I'm getting into (I have never even seen an SQL database). So I bought some more books and got to work. (Note. This was at a time when the Internet was not as widespread as it is today: I lived in a third world country, and the Internet appeared around the end of 1997, 5 years after I started programming).

Dreams and ambitions

I remember saying to myself: “I want to be a computer engineer.” Of course, I had no idea what this concept included, but I knew that I loved computers (I’m talking about those old slow computers with square green monitors, with DOS - it's terrible, of course, especially now that we have all these new cool operating systems).

I remember very well how, on my second or third trip to the USA (we went to rest), I decided that I wanted to live there. Everything was so advanced! Of course, today, in the context of globalization and the Internet, the differences are not so noticeable, but the gap in development and progress regarding infrastructure development, political instability, crime, etc. is still noticeable.

So, as a naive twenty-four year old, I decided that I wanted to immigrate to the United States: of course, this is a long and thorny road.

At that time, my father ran an audit firm, and they began to have problems with accounting software. The developer was stubborn and did not want to help, so my father began to look for alternatives. He wanted me to reach the required level as a programmer, so I went to a local university - the only place where I could get advanced books on programming and get everything I needed. It was a new world for me: I got one of the new (at that time) computers with a green screen, with a 5 MHz processor, 256 KB memory and 10 MB hard disk. It contained those old mechanical discs, each movement of which was clearly audible. The keyboard was mechanical and every keystroke was pleasant to hear. Fast forward 10 years and I'm still working on the same audit software. However, now I sell it to customers: it is software with an interface for Windows, SQL databases and the ability to interact with the Internet.


At that time, I decided to drop out of school and create my own company. I worked with my father in some way: we divided the earnings from the income that the audit software brought (although this was my idea and execution, he invested a lot of time teaching me accounting). Thus, we split up: he continued selling the current version of the program, and I left to work on creating a new one. But, as I soon realized, the software development business in Honduras is not an easy task: customers do not want to pay for your services, and they always consider software development a relatively simple task, since it does not require interaction with a physical product; often, they don’t see the importance in the software, because it does not bring quick profits, and all this makes it even less sold.

As for business, I hired some of the best students (which I found when I returned to college). But over time, I took on too many roles: CEO, accountant, controller, customer service and support agent, project manager, and (my favorite) developer. I just wanted to write code, but it became too complicated, since all these roles began to weigh me. In the end, this led to problems - our customers did not pay on time, and we struggled to find new projects: when you have unique specialists, they want to be paid well, and we paid well, while our customers behaved not as expected. In addition, a stay in a third world country nullified any investment interest. I had to anticipate this and pursue a different business model, but I was too busy trying to cope with all the roles. In the end, the company went bankrupt, and I was left with a bunch of debts, furious employees, and an unpleasant feeling inside. It was necessary to start everything from scratch.

IPhone SDK

The most important thing is victory after defeat and what we learn from our mistakes. A new beginning is a frightening prospect, you need to rethink everything, but this is what I was obliged to do. My wife helped me through those difficult times, it was she who pushed me to an activity in which I doubted my ability. So I started working on my audit software again, excluding marketing expenses, in this form it was too difficult to promote. The income was scanty, and I had to help my family. I had to change tactics. Around the same time, Apple introduced the iPhone SDK . It was a new risky platform for me, and I was new to the Mac. (My transition to Mac started with iPhone and Hackintoshwhich allowed me to try OS X without the cost of an expensive car). Some of my friends laughed and completely ignored me when I said that I was going to become a developer for the iPhone, but I sincerely believed that you could make money using the App Store. 150,000 paid downloads later, I realized that I was not mistaken, although, of course, these figures alone do not give a complete picture: the economy of the App StoreIt’s complicated, and you really need to invest in your product and find customers to recoup costs. For this you need a team. Therefore, even if my application worked perfectly, it was not so stable (from a business point of view) that I continued to develop it myself. Despite this, I proved myself capable of it, so one fine morning I woke up and told myself that I was finally immigrating to the United States.

I found that immigration to the USA is not an easy task. Probably the easiest way is to get a Green Card through a family member, but the closest option was my brother, who was born in the USA, but lived with us in Honduras and could not apply for anyone, since he did not work at that time. And even if he had such an opportunity, the process could drag on for 15 years (Note:siblings have the lowest priority for Green Card sponsorship over other family relationships). My decision was to create a company in the USA. I had a friend who could become an investor, and we began to create iPhone and iPad games. On paper, everything looked great, but, of course, the economy of the App Store could refute our arguments. Soon we needed more money - my friend did not expect this. Finally, we published one application (the second was under development, but it was not completed due to financial problems). Again, everything looked grim. I decided to use what seemed to me the last resource: to work for an American company.

Getting a Job

It’s hard to be hired by an American company while abroad. I submitted a resume for several positions, but the first problem was that I needed to change my place of residence, which, in turn, required an application and sponsorship for a work visa from the employer. The process was expensive in terms of time (up to a year if a visa is not immediately available) and money (that is, legal costs). Instead, I started looking for work through the freelance website. Basically, this is a good service. But first of all, you need to earn trust, which is quite difficult. There are also a bunch of developers whose requests are below average, just to get noticed: for this reason, it’s hard to find a good payment. In the end, I decided to take only one project for an 8-hour work day.

Later, Toptal came to me, which seemed like a pretty good opportunity: they hire a lot of developers and connect them with clients. In addition, I could work from home while working in an American company. I appeared on their radar thanks to work in the App Store, but I still had to go through a rigorous selection process, doing everything from a reading test to programming questions, from optimizing algorithms to programming for a while. The most memorable one was my last interview, in which we discussed and examined my code with an engineer from Toptal to prove that the code is really mine.

After Toptal accepted me into its development network, I was put on a waiting list. As soon as the client showed interest in a particular developer, he conducted an interview with this candidate (as an interview for any normal job) to make sure that he was suitable. Before the first interview, I was very nervous. It all started with the customer explaining what was expected of me, as well as the project as a whole, and endless questions to see if I understood everything. The interview did not go as well as I had hoped, as the questions became more specific and technical. They eventually hired someone else. Remembering later, I realized that it was great that they didn’t want me: a week later I had an interview with that company, which ultimately became my full-time job.

I prepared more seriously for the next interview, which went as I expected: we talked more about my experience as a developer, and the company got acquainted with my approach to solving problems. Three days later, a contract was signed and I started working for this new client through Toptal.

I have been working on Life360 through Toptal for at least 9 months. Their flagship product is an application for determining the location of family members, but initially I worked alone in a couple of third-party projects: the first is an earthquake alert application , the second is a police scanner. For several months, my workflow for the most part consisted of receiving high-level requirements from Life360, sending back layouts and questions, and putting their wishes into applications. And this cycle was repeated several times. I contacted the designer and several Life360 employees (there were only five or six in the company at that time), but I had a lot of independence. Work from home gave a sense of freedom: no need to get to work for a long time, and I created an environment without distractions.

Soon I noticed that I was getting deeper and deeper into the team - with these two initial projects I proved my worth, let’s say so. By December, they asked me if I wanted to join the team and work full time in San Francisco - I willingly agreed, and they began to draw up documents. By January, I attended daily scrum meetings (virtually, since I was still in Honduras), describing my previous working day and my tasks for the coming one. My workflow has become more organized, I have become more involved in working with the company.


It was a dream come true. I did a lot of work for the American company, and was already on the way to moving, but still there were several obstacles. Firstly, I did not graduate. Although it is not strictly necessary to work for a tech company today, you still need a bachelor 's degree to qualify for an H-1B visa. So I had to finish my studies. It was a major six-month project, but I had enough time to do it.

The lawyer filed documents on April 1, the day H-1B visa processing begins(at the time of filing the documents, he indicated the diploma as “in progress”, as H-1B visas are limited, and the documentation can be sent later). I completed my project on time, went to the graduation ceremony and received a diploma.

From this moment, first of all, the company that hires you should be very open and very patient. The visa application process begins in April, and if you fall under the priority processing option , you will receive a response from the US Migration Service in two weeks. After that, you still have to go through an interview, and at this point you may still be denied a visa, but if everything goes well, you can enter the United States after October 1, six months after the application date, Not earlier. This means that you cannot work in this company until you receive an H-1B visa, which can be a problem: the company must find a way to work remotely while they wait for the visa to be activated. In my case, the company decided to hire me as a freelance developer, paying for work as professional services, without violating either immigration or labor law.

I flew to San Francisco on October 1, 2012. The goal that I took care of as far as I can remember is finally achieved.

Also popular now: