How I went from selling food in the street to working for top firms in tech
I’d like to share with you how I got into programming in this series of posts. I never went to university to study information technology, but I found a way to get around it. Please leave a remark below if you enjoy the series and would like to see a book made from it.
At the end of 2006, I found myself at a fork in the road in my life. My dreams of becoming a secondary school linguistics teacher had evaporated in an instant, as a series of events conspired to prevent me from continuing my education.
My wife was working long hours for a measly $160 (USD) per month in my hometown of Durazno, Uruguay. That’s $1,920 each year. We had given up time together so that I could study to become a teacher and earn a better career because we hoped for a better future.
The trouble with dreams is that they usually evaporate as soon as you wake up, and life’s alarm clock had just gone off.
I returned to my hometown to seek out my future steps when my job path abruptly veered off course. Needless to say, I was upset about how things were going, and our living arrangement just served to exacerbate my feelings. It was lovely to see my wife again, although the circumstances were difficult.
We were also sharing a house with my wife’s aunt, which limited our privacy to our bedroom and made us feel like we were overstaying our welcome.
We tried selling handmade pasta on the streets to supplement our income. I’d go from house to house gathering orders for the weekend. “Hello, would you want to order ravioli for Sunday dinner?” I’d go around asking people. “Yes, they’re prepared from scratch.” Just give us a day and time, and we’ll bring them to you.”
Then, after customers requested them, we spent our weekends preparing 2,000 ravioli, only to walk away with 500 pesos in our pockets (about $20 after expenses).
It was a depressing circumstance that left us feeling helpless. My wife would work hard throughout the week and then come home to help me make ravioli on weekends. She couldn’t even take a day off during the weekend. She pleaded with me to stop selling ravioli, even if it meant we’d be unable to pay our expenses. I eventually agreed, but it meant that I’d have to look for work, which wasn’t easy in our little town. Anxiety and despair had begun to creep in.
One night, I was talking with a friend who was a computer engineering student at Montevideo’s university. He told me about the many work prospects available in the capital city, all of which came with incomes that were the stuff of dreams for someone from the rural. “In Montevideo, there’s this gigantic company called Live Interactive,” he explained. “They’re usually on the lookout for programmers; perhaps you could apply there.” They are really highly compensated.”
He cited a salary that was around three times what we were earning at the time, and I couldn’t help but think of all the things we could do with that kind of money. We wouldn’t have to worry about putting food on the table any longer. We’d finally be able to afford our own internet connection, good clothing and shoes, and even a washing machine!
Not only that, but I had prior computer experience. I enjoyed working with them since they tapped into my problem-solving abilities. Programming reminded me of deciphering a code or solving a difficult puzzle, but it was also enjoyable. Furthermore, I regarded programming as a vocation with a lot of room for advancement.
However, there remained one minor snag: in order to work as a computer programmer, one must be able to programme computers. Me? I could probably install Linux on my own, but that was about it.
How can you get a job as a computer programmer if you’ve never programmed before and don’t have a university degree to back up your claims? How can you learn to programme if you don’t have access to the internet at home, no mentors to connect with, and no programming books? That was my issue in 2006, and this is the narrative of how I dealt with it.
The Early Days
Since I was a teenager, I’ve been playing with computers, mostly when visiting a friend who had one. While we frequently used the computer to play games, I wasn’t really fond of them. Why? A friend’s father let us use his ZX Spectrum computer when I was in high school. He had a large stack of cassettes with a variety of games for it, and we could play as much as we wanted, but one day he showed me something that blew my mind: anyone could programme the computer to develop their own games!
He showed me various BASIC methods, such as how to use the RAND function to produce random numbers. I was blown away. At that time, I learned computers were more than just a glorified Nintendo with a keyboard: you could order them to do fascinating things like create lines with trigonometric functions and then paint them with random colours! By passing different frequencies to BEEP, you may even generate music with them. In fact, I’m sure my mother enjoyed it when I brought the Spectrum home and spent a full afternoon on my TV making various beep sounds.
How can you get a job as a computer programmer if you’ve never programmed before and don’t have a university degree to back up your claims?
Later in my adolescence, I continued to spend time with friends who owned computers, and we naturally played games on them. Meanwhile, I picked up a few operating system tips from my more tech-savvy acquaintances, mostly for MS-DOS.
Every now and then, we’d try our hand at BASIC programming by copying code snippets from old computer publications character by character. They appeared to us to be magical spells or technological incantations. Trying to change the text messages that a game would display for certain situations was one of our favorite things to do. We felt we were the best hackers in the world!
I persuaded my grandfather to purchase me a computer in the early 2000s: a Pentium MMX with 32MB of RAM! What a beast! I used a SUSE CD that was free with an Argentinean computer magazine to install Linux for the first time on it. I spent a lot of time on that computer, experimenting with different Linux distributions, learning the command line, and so on, but I never did any programming.
Looking back, I’m not sure why I wasn’t learning C programming — or any form of programming for that matter — back then. Because I didn’t have access to a handbook, a buddy provided me the C programming bible by Kernighan and Ritchie. However, after reading a few examples, it didn’t pique my interest because I couldn’t see how what it covered would be relevant to me. In any case, playing with Linux was the extent of my computer experience at the time.
I took a few little jobs after that, joined a rock ‘n’ roll band, and attempted to become a linguistics teacher, all while getting married and moving across the nation with my wife.
Fast forward to November 2006, and I was in desperate need of a way to make myself hireable by a software firm. I needed to establish myself as a reliable computer programmer.
Time for Some Goals
If I wanted to get recruited, the first thing I needed to do was assess my programming abilities. I needed to be honest with myself in order to determine where I should concentrate my efforts.
I knew a little about ActionScript for Flash MX and the very beginnings of PHP programming at the time. I had started learning such technologies as a pastime earlier that year. I’d also begun a side project to learn programming in the hopes of turning it into a second source of income.