Today I live in the wonderful city of San Francisco. I have a job that I love, work that I dreamed of for many years. Everything at the moment seems so light ... but it wasn’t always.
How it all began
I was born in
San Pedro Sula , a small town in the northwestern region of Honduras. I started programming when I was 12 years old. It all started with BASIC. Once I was playing a video game, and she flew out with an error. When I saw a screen filled with error codes and messages, it intrigued me, and I began to learn some of the BASIC commands, which ultimately led to the purchase of several books on programming for Clipper, Turbo Pascal, C, C ++, etc. That was great. All the time I spent programming everything I wanted: no time constraints (except for the school, which was not as time consuming as a full-time job) or the obligations of adult life.

')
A few years later, when I was 15, my father had problems with some kind of cheesy accounting software. I told him that I could have made the version better without giving myself an account of what I am getting involved in (I have never even seen SQL databases). 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 about 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 didn’t guess what this concept includes, but I knew that I loved computers (I’m talking about those old slow computers with square green monitors, with DOS - 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 tangible, but the gap in development and progress in terms of infrastructure development, political instability, crime, etc., is still perceptibly noticeable.

So, as a naive twenty-five years old, I decided that I wanted to immigrate to the USA: of course, this is a long and thorny path.
At that time, my father ran an audit firm, and they began to have problems with accounting software. The developer was stubborn and not eager to help, so my father began to look for alternatives. He wanted me to go to the required level as a programmer, so I went to a local university — the only place where you could purchase advanced programming books and get everything you need. It was a new world for me: I had one of the new (at that time) computers with a green screen, with a 5 MHz processor, a 256 KB memory and a 10 MB hard drive. It contained those old mechanical discs, every movement of which was clearly audible. The keyboard was mechanical and every keystroke was pleasant to the ear. 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.
Bankruptcy
At that time, I decided to quit school and create my own company. I worked with my father, in some way: we shared the income 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 divided: he continued to sell 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 because it does not require interaction with the physical product; often, they do not see significance in software, because it does not bring quick profits, and all this makes it even less salable.
As for business, I hired some of the best students (whom I found back at college). But over time, I assumed too many roles: CEO, accountant, controller, customer service and support agent, project manager, and (my favorite) developer. I wanted to just write the code, but it became too difficult, since all these roles have become me. In the end, this led to problems - our clients 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 pay well, while our clients did not behave as expected. In addition, being in a third world country nullified any investment interest. I had to anticipate this and pursue another 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, angry employees, and an unpleasant feeling inside. It was necessary to start everything from scratch.
Iphone sdk

The most important thing is the victory after the defeat and what we learn from our mistakes. A new beginning is a scary prospect, you need to rethink everything, but this is what I had 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, eliminating marketing costs, as such it was too difficult to move. The income was meager, and I had to help the family. I had to change tactics. Around the same time,
Apple introduced the iPhone SDK . For me it was a new risky platform, and besides, I was new to Mac. (My move to Mac started with iPhone and
Hackintosh , which allowed me to try OS X without the cost of an expensive machine). 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 with the help of the App Store. 150,000 paid downloads later, I realized that I was not mistaken, although, of course, these figures do not in themselves give a complete picture:
the App Store's economy is complicated, and you really need to invest in your product and find customers to recoup the 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 myself. Despite this, I proved to myself what I can do, so one fine morning I woke up and told myself that I would finally immigrate to the USA.
I found out 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 intercede with anyone, because he did not work at that time. And even if he had such an opportunity, the process could be delayed for 15 years (Note:
brothers and sisters have the lowest priority for sponsoring the Green Card compared to other family relationships). My decision was to create a company in the USA. I had a friend who could become an investor, and we started creating iPhone and iPad games. On paper, everything looked great, but, naturally, the App Store’s economy could refute our arguments. Soon we needed more money - my friend did not expect this. Finally, we published one application (the second was at the development stage, but was never finished due to financial problems). Again, everything looked gloomy. I decided to use what seemed to be the last resource: to work for an American company.
Getting a Job
It is hard to be hired by an American company while being 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 on a work visa from the employer. The process was expensive in terms of time (up to a year if the visa is not immediately available) and money (that is, legal costs). Instead, I started looking for a job through the freelance website. In principle, this is a good service. But, first, you need to earn trust, which is quite difficult. There are also a bunch of developers whose requests are below average, just to be noticed: for this reason it is difficult to find a good payment. In the end, I decided to take only one project on an 8-hour working 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 for an American company. I appeared on their radar thanks to the work in the App Store, but I still had to go through a rigorous selection, doing everything from reading tests to programming questions, from optimization of algorithms to programming for a while. The most memorable 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 his developer network, I was put on a waiting list. As soon as the client showed interest in a particular developer, he conducted an interview of this candidate (as an interview for any normal work) to make sure that he was suitable. Before the first interview I was very nervous. It all started with the customer explaining what is 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 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 was interviewed with the company that 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, I had a contract, and I started working for this new client through Toptal.
I worked 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
application for warning of earthquakes , the second is a
police scanner . Within a few months, my workflow for the most part consisted of getting high-level requirements from Life360, sending back layouts and questions, and putting their wishes into the applications. And this cycle was repeated several times. I contacted the designer and several employees of Life360 (the company at the time there were only five or six), but I had a lot of independence. Working from home gave me a feeling of freedom: you don’t 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 value, let's say. By December, I was asked if I wanted to join the team and work full time in San Francisco — I readily 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 upcoming one. My workflow has become more organized, I have become more involved in working with the company.
Moving
It was a dream come true. I did a lot of work for the American company, and was already on my way to relocation, but there are still a few obstacles. First, 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 the documents on April 1, the
day when the processing of H-1B visas begins (during the submission of documents, he indicated the diploma as “in progress”, since H-1B visas are limited and documentation can be sent later). I finished my project on time, went to the graduation ceremony and received a diploma.
From this point on, first of all, the company that hires you must be very open and very patient. The visa 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 stage you may still be denied a visa, but if everything goes well, you will be able to 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 are waiting 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 any immigration or labor laws.
I flew to San Francisco on October 1, 2012. The goal, which I nursed as much as I can remember, was finally achieved.