it技术烂大街

by Alvaro Videla

通过Alvaro Videla

我是如何从在大街上卖食物到在顶尖的技术公司工作的方式 (How I went from selling food in the street to working for top firms in tech)

In this series of articles I want to share with you how I got into the world of programming. I never went to university to study IT, but I found a way around it. If you like the series and want to see a book out of this, please leave a comment below.

在本系列文章中,我想与您分享我如何进入编程领域。 我从未上过大学来学习IT,但是我找到了解决之道。 如果您喜欢该系列,并希望从中收获一本书,请在下面发表评论。

At the end of 2006, I arrived at a crossroads in my life. My hopes of becoming a secondary school linguistics teacher had vanished in an instant, as several factors had come together and made it impossible for me to continue with my studies.

2006年底,我走到了人生的十字路口。 由于几个因素共同作用,使我无法继续学习,我成为中学语言学老师的希望瞬间消失了。

Back in my hometown of Durazno, Uruguay, my wife was working long hours for a meager $160 (USD) a month. Yes, that’s $1,920 a year. We had sacrificed our time together so I could become a teacher and get a better job because we were dreaming of a better future.

回到我的家乡乌拉圭的杜拉兹诺,我的妻子长时间工作,每月只有微不足道的160美元。 是的,那是每年1,920美元。 我们在一起牺牲了时间,所以我可以成为一名老师并获得更好的工作,因为我们梦想着拥有更美好的未来。

The problem with dreams is they tend to vanish when you wake up, and life’s alarm clock had just gone off.

梦的问题是,当您醒来时,梦往往会消失,而生活的闹钟刚刚熄灭。

Because my career trajectory had suddenly strayed off course, I moved back to my hometown to figure out my next steps. Needless to say, I was depressed at the way things were, and our living situation only made things worse. It was good to be back with my wife, but the reasons for it were stressful.

因为我的职业轨迹突然偏离了路线,所以我搬回了家乡找出​​下一步的工作。 不用说,我对事情的现状感到沮丧,我们的生活状况只会使事情变得更糟。 能够和我的妻子一起回来是件好事,但是造成压力的原因是。

Additionally, we were sharing a house with my wife’s aunt, so our privacy was restricted to our bedroom, and we always felt like we were overstaying our welcome.

此外,我们与妻子的姑姑合租一所房子,所以我们的隐私仅限于卧室,我们总是觉得自己对我们的欢迎超过了。

As a way to bring in extra income, we tried to sell homemade pasta on the streets. I would go door-to-door collecting orders for the weekend. “Hello, do you want to order ravioli to eat this Sunday?” I’d ask person after person. “Yes, they’re homemade. Just give us a time and we’ll deliver them.”

为了增加收入,我们试图在街上出售自制面食。 周末我会送货上门。 “你好,你想在这个星期天点馄饨吃吗?” 我会一个人问一个人。 “是的,它们是自制的。 请给我们一点时间,我们将为您提供帮助。”

Then, after people ordered them, we spent our entire weekends making 2,000 ravioli only to end up with 500 pesos in our pockets, which comes about $20, not counting expenses.

然后,在人们点了他们的菜后,我们整个周末花了2,000顿馄饨,结果口袋里只有500比索,约合20美元,这还不算费用。

The whole situation was disheartening, and it made us feel hopeless. My wife would work hard all week, then come home only to spend her weekends helping me prepare the ravioli. She couldn’t even have one day of the weekend for herself. She begged me to stop selling ravioli, even if that meant we would end up with less money to pay our bills. Eventually I agreed, but it meant I had to try to find a job — and finding a job wasn’t so easy in our rural hometown. Anxiety and desperation were starting to set in.

整个局势令人沮丧,这使我们感到绝望。 我妻子会整周努力工作,然后回家只是度过她的周末来帮助我准备馄饨。 她甚至连周末都没有一天。 她恳求我停止出售馄饨,即使那意味着我们最终用更少的钱来支付账单。 最终,我同意了,但这意味着我不得不设法找到工作,而在我们的农村故乡,找到工作并非易事。 焦虑和绝望开始开始。

One night, I was talking with a friend who was studying computer engineering at the university in Montevideo. He told me about the various job opportunities one could find in the capital city, with salaries that were the stuff of dreams for someone living in the countryside. “There’s this big company in Montevideo, Live Interactive,” he told me. “They’re always looking for programmers; maybe you could try to get a job there. They pay really well.”

一天晚上,我和一个正在蒙得维的亚大学学习计算机工程的朋友聊天。 他告诉我有关在首都可以找到的各种工作机会,而工资却是生活在乡下的人梦the以求的东西。 他对我说:“蒙得维的亚有一家大公司,Live Interactive。” “他们一直在寻找程序员。 也许您可以尝试在那里找到工作。 他们支付得很好。”

The salary he mentioned was around three times what we were making at the time, and I couldn’t help but imagine all the things we could do with that much money. We wouldn’t need to worry anymore about putting food on the table. We could finally pay for our own internet connection, get proper clothes and shoes, and even have our own washing machine!

他提到的薪水大约是我们当时的三倍,我不禁想像这么多钱能做的所有事情。 我们不必再担心将食物放在桌子上了。 我们终于可以为自己的互联网连接付费,买合适的衣服和鞋子,甚至拥有我们自己的洗衣机!

Not only that, but I already had experience with computers. I always liked working with them, mostly because they appealed to my knack for problem solving. Programming reminded me of having to crack a code or find the solution to a difficult puzzle — but in addition to being challenging, it was fun. What’s more is that I saw programming as a career with a lot of potential for growth.

不仅如此,而且我已经有使用计算机的经验。 我一直喜欢与他们合作,主要是因为他们吸引了我解决问题的诀窍。 编程提醒我必须破解代码或找到难题的解决方案-但是除了具有挑战性之外,它还很有趣。 更重要的是,我将编程视为具有巨大增长潜力的职业。

But there was one small problem: to work as a computer programmer, one usually needs to know how to program computers. Me? I could install Linux on my own, but that was probably the extent of it.

但是有一个小问题:作为计算机程序员,通常需要知道如何对计算机编程。 我? 我可以自己安装Linux,但是大概就是这样。

How do you land a job as a computer programmer when you have almost no programming experience and you lack a university degree to prove your knowledge? How do you learn to program without internet access at home, without mentors to connect with, and without access to programming books? That was my problem back in 2006, and this is the story of how I tackled it.

当您几乎没有编程经验并且缺乏大学学历来证明您的知识时,如何找到计算机程序员的工作? 您如何在家里没有互联网访问,没有导师连接和没有编程书的情况下学习编程? 那是我在2006年遇到的问题,这就是我如何解决这个问题的故事。

早期 (The Early Days)

I’ve been dabbling with computers since I was a teenager — most of the time when visiting a friend who had a PC. While we often used the computer to play games, I wasn’t interested in playing that much. Why? Back when I started secondary school, a friend’s father let us use his ZX Spectrum computer. He had good stack of cassettes with plenty of games for it, and of course, we could play all we wanted, but one day he showed me something that blew my mind: people could make their own games by programming the computer!

从我十几岁开始,我就一直在研究计算机-大多数时候,当访问一个拥有PC的朋友时。 当我们经常使用计算机玩游戏时,我对玩那么多的东西不感兴趣。 为什么? 回到我初中的时候,一个朋友的父亲让我们使用他的ZX Spectrum计算机。 他有很多游戏用的卡带盒,当然,我们可以玩所有想要的游戏,但是有一天,他给我看了一些令我震惊的东西:人们可以通过对计算机编程来制作自己的游戏!

He showed me some tricks in BASIC, like how you could generate random numbers using the RAND function. I was amazed. At that point, I realized computers were more than a glorified Nintendo with a keyboard: you could actually tell them to do things for you — cool things, like drawing lines using trigonometric functions and then painting them by applying random colors! You could even make music with them by passing different frequencies to BEEP. In fact, once I brought the Spectrum to my house and spent an entire afternoon playing different kinds of beep sounds on my TV — I’m sure my mom loved it.

他向我展示了BASIC的一些技巧,例如如何使用RAND函数生成随机数。 我惊叹了。 到那时,我意识到计算机不仅仅是带键盘的光荣任天堂:您实际上可以告诉它们为您做事-很酷的事情,例如使用三角函数绘制线条,然后通过应用随机颜色进行绘制! 您甚至可以通过将不同的频率传递给BEEP来与他们一起制作音乐。 实际上,一旦我将Spectrum带到我的房子并花了整整一个下午的时间在电视上播放各种哔哔声,我肯定妈妈会喜欢的。

How do you land a job as a computer programmer when you have almost no programming experience and you lack a university degree to prove your knowledge?

当您几乎没有编程经验并且缺乏大学学历来证明您的知识时,如何找到计算机程序员的工作?

Later on, during my teenage years, I continued spending time with friends who had their own computers, and naturally we played games on them. Meanwhile, with my more tech-savvy friends, I learned a few operating system tricks — mostly MS-DOS.

后来,在我十几岁的时候,我继续与有自己计算机的朋友在一起,而我们自然会在上面玩游戏。 同时,与更多精通技术的朋友一起,我了解了一些操作系统技巧-主要是MS-DOS。

Every once in awhile, we would try some BASIC programming by copying, character by character, the code snippets that appeared in old computer magazines. To us, they seemed like magic spells or technological incantations. One thing we really liked was trying to edit the text messages a game would show for different situations. We thought we were such hackers!

有时,我们会尝试逐个字符地复制旧计算机杂志中出现的代码段,以尝试一些BASIC编程。 在我们看来,它们就像是魔咒或技术咒语。 我们真正喜欢的一件事是尝试编辑游戏在不同情况下显示的短信。 我们以为我们是这样的黑客!

By the early 2000s, I managed to convince my grandfather to buy me a computer: a Pentium MMX with 32MB of RAM! What a machine! I installed Linux on it for the first time, using a SUSE CD that came for free with an Argentinean computer magazine. I spent quite a lot of time on that computer: trying different Linux distributions, getting familiarized with the command line, and so on, but never really doing any programming.

到2000年代初,我设法说服祖父给我买了一台计算机:具有32MB RAM的Pentium MMX! 真是一台机器! 我使用一本阿根廷计算机杂志免费提供的SUSE CD首次在上面安装了Linux。 我在那台计算机上花了很多时间:尝试使用不同的Linux发行版,熟悉命令行等等,但是从来没有真正进行过任何编程。

When I look back to those days, I can’t understand why I wasn’t learning C programming — or any kind of programming for that matter. A friend even offered me the bible of C programming by Kernighan and Ritchie, so not having access to a manual wasn’t an excuse. But for some reason, after reading a few examples, it didn’t spark any interest in me, as I didn’t understand how what it covered would be useful for me. In any case, playing with Linux was the only thing I was doing with computers back then.

当我回想那些日子时,我不明白为什么我不学习C编程-或与此有关的任何类型的编程。 一位朋友甚至向我提供了Kernighan和Ritchie编写的C编程圣经,所以没有使用手册不是借口。 但是由于某种原因,在阅读了一些示例之后,它并没有引起我的兴趣,因为我不了解它所涵盖的内容对我有什么帮助。 无论如何,那时我只用Linux做游戏。

From that point on, I had several minor jobs, played in a rock ’n’ roll band, and tried to become a linguistics teacher, all while getting married and moving all over the country together with my wife.

从那时起,我开始了几项小工作,参加了摇滚乐队,并试图当一名语言学老师,并且一直在结婚并与我的妻子一起在全国各地流动。

Fast forward to November 2006 and I found myself in need of somehow becoming hirable by a software company. I had to become a credible computer programmer.

快进到2006年11月,我发现自己需要被软件公司雇用。 我必须成为一名可靠的计算机程序员。

达成目标的时间 (Time for Some Goals)

If I wanted to get hired, the first thing to do was evaluate my skillset as a programmer. I had to be honest with myself so I could know where to focus my efforts.

如果我想被录用,那么要做的第一件事就是评估我作为程序员的技能。 我必须对自己诚实,这样我才能知道应该把精力集中在哪里。

At the time, I knew a bit of ActionScript for Flash MX and the very basics of PHP programming. Earlier that year, I had started learning those technologies as a hobby. I’d also started a pet project to learn programming, thinking maybe it could become a secondary source of income.

那时,我对Flash MX的ActionScript以及PHP编程的基础知识有所了解。 那年早些时候,我开始以业余爱好学习那些技术。 我还启动了一个宠物项目来学习编程,认为它可能会成为次要的收入来源。

I came up with the idea of making a digital map of my hometown where you could drop pins that would point the user to the location of businesses, shops, and interesting locations. I would then charge those businesses money in exchange for appearing in my online map application.

我想到了制作我的家乡的数字地图的想法,您可以在其中放置图钉,将用户指向商家,商店和有趣的地点。 然后,我会向这些商家收取费用,以换取它们出现在我的在线地图应用程序中。

Of course I know what you’re thinking. “That’s just Google Maps,” you say. Yes, but back in 2006, the only thing Google Maps knew about my hometown was that it was crossed by a big national highway. Given that, my map seemed like a good idea. Also, I figured this project would be the perfect way to showcase my skills to a prospective employer. I had a clear goal of what I wanted to build; I just had to get down to work and make it happen.

我当然知道你在想什么 您说:“那只是Google Maps。” 是的,但是早在2006年,Google Maps对我的家乡唯一了解的就是它被一条大国道横穿。 鉴于此,我的地图似乎是个好主意。 另外,我认为该项目将是向潜在雇主展示我的技能的理想方式。 我有一个明确的目标,就是要构建什么。 我只需要努力工作并实现它。

So at the end of 2006, I set myself a deadline: come February 2007, I had to have a working concept of the map application. This had to include a Flash frontend, served by a PHP backend, using MySQL for data persistence. The technologies I’ve just mentioned might not seem too relevant today, but the point here is that I had to nail down every detail of my plan so I would know which problems to tackle first, since time was ticking: every day that went by was another day where my wife was overloaded, working overtime to get food on our table.

因此,在2006年底,我给自己设定了最后期限:在2007年2月,我必须对地图应用程序有一个可行的概念。 这必须包括一个由PHP后端提供服务的Flash前端,并使用MySQL进行数据持久化。 我刚才提到的技术在今天似乎不太相关,但是这里的要点是,我必须详细确定计划的每个细节,这样我才能知道首先要解决的问题,因为时间紧迫:每一天过去了还有一天,我的妻子超负荷工作,加班加点时间在我们桌上吃饭。

Additionally, to even have a shot at getting a programming job, I had to show potential employers that I could program in those particular technologies, because that was part of the job description. Naturally, I had nothing related to these skills on my resume, so I had to build up my knowledge from scratch, and my app would serve as the showcase of my programming expertise.

此外,即使想获得编程工作,我也必须向潜在的雇主证明我可以使用那些特定的技术进行编程,因为这是工作说明的一部分。 自然,我的履历表上与这些技能没有任何关系,因此我必须从头开始积累我的知识,而我的应用程序将成为我编程知识的展示。

The plan was to land an interview at the company my friend had mentioned before, and hopefully, with the combination of my skills and my app, I would end up getting a job there. Even then, I knew the importance of setting clear goals for yourself in order to achieve what you want.

计划是在我的朋友之前提到的公司进行一次面试,希望通过我的技能和我的应用程序的结合,我最终可以在那里找到工作。 即使那样,我仍然知道为自己设定明确目标以实现自己想要的目标的重要性。

学习项目:地图应用程序 (Learning project: a Map Application)

The map application I created was called Aleph Maps — a reference to Jorge Luis Borges’ 1949 story, “El Aleph,” about a place in the universe where everything — past, present, and future — is contained. Not ambitious at all, right? And to bring the idea into existence, I would have to learn how to program web apps.

我创建的地图应用程序称为Aleph Maps,它是对Jorge Luis Borges 1949年的故事“ El Aleph”的引用,该故事涉及宇宙中一个包含过去,现在和未来的一切的地方。 一点都不野心吧? 为了使这个想法变为现实,我将必须学习如何对Web应用程序进行编程。

Having no internet at home is a real challenge for a future web developer. When I started, ADSL broadband adoption was almost nonexistent, limited only to businesses and maybe wealthy households. For the average family, connecting to the internet meant dialing in on a modem connection and paying high prices for a slow internet experience. I couldn’t afford that, which meant I had to go and bother friends every time I needed to access some online tutorial that explained how to program in PHP.

对于未来的Web开发人员而言,在家中没有互联网是一个真正的挑战。 在我刚开始的时候,几乎不存在采用ADSL宽带的情况,仅适用于企业甚至富裕的家庭。 对于普通家庭来说,连接到Internet意味着要通过调制解调器连接拨号并为缓慢的Internet体验付出高昂的代价。 我负担不起,这意味着每次我需要访问一些解释如何使用PHP编程的在线教程时,都必须去打扰朋友。

So even though I had a computer and the will to learn, I still didn’t have easy or regular access to the information on how to do it. But I was determined to get that job, and I knew that even these setbacks wouldn’t deter me from learning PHP. When you don’t have time to waste, you don’t have time to feel desperate; instead, you have to focus on finding solutions.

因此,即使我有一台计算机并愿意学习,但我仍然无法轻松或定期地获得有关该操作方法的信息。 但是我下决心要这份工作,而且我知道即使是这些挫折也不会阻止我学习PHP。 当您没有时间浪费时,您没有时间感到绝望。 相反,您必须专注于寻找解决方案。

Meanwhile, due to the lack of internet access around town, cyber cafes started popping up in the city, charging around half a dollar for one hour of surfing. This struck me as a better solution than constantly bothering my friends. But this also meant finding an extra 50 cents and a couple of floppy disks in order to get to a cyber cafe, find the information I wanted, copy it onto one of those diskettes, and get it home onto my computer. More often than not, data got corrupted in the process of extracting it from the floppy disks.

同时,由于城镇周围缺乏互联网接入,网吧开始在城市中兴起,一小时的冲浪收费约半美元。 与不断打扰我的朋友相比,这给我提供了更好的解决方案。 但这还意味着要多花50美分和几张软盘才能到达网吧,找到我想要的信息,将其复制到其中一张软盘中,然后将其存放到我的计算机上。 在从软盘提取数据的过程中,数据经常被破坏。

Imagine how angry and frustrated I was: I had made a trip to a cyber cafe and wasted 50 cents for nothing. Half a dollar! This might not sound like much, but at that time where we lived, you could buy a burger or a bottle of beer for a dollar. For us, it was a lot of money: it meant our daily bottle of milk or a loaf of bread.

想象一下我有多生气和沮丧:我去了一家网吧,一无所有地浪费了50美分。 半块钱! 这听起来可能并不多,但是在我们居住的那个年代,您可以花1美元购买一个汉堡或一瓶啤酒。 对我们来说,这是一笔不菲的钱:这意味着我们每天要喝一瓶牛奶或一条面包。

During those days, my routine consisted of trying to solve problem A to get to point B. Sometimes the tasks were rather easy and I felt like I was making quick progress. Other days, it felt like I was going nowhere. For example, say I had to implement a feature like “insert new data into the database.” This meant writing down all the obstacles I had to solve to achieve that — from how to write an SQL INSERT statement to how to execute it using PHP — and then integrating everything into the app.

在那段日子里,我的日常工作包括试图解决问题A到问题B。有时候任务很容易,而且我感觉自己进步很快。 其他日子,感觉好像我什么都没走。 例如,假设我必须实现“将新数据插入数据库”之类的功能。 这意味着要写下实现该目标所要解决的所有障碍-从如何编写SQL INSERT语句到如何使用PHP执行它-然后将所有内容集成到应用程序中。

Each of these tasks was an item on my daily “shopping list” for when I went to the internet cafe. I would take a couple of floppy disks with me, and then I would google for blog posts, tutorials, and guides that would help me solve the items on my list. Once that was complete, it was time to save them on my diskettes and head home, all the while hoping the data had successfully saved and would be easily accessed on my computer.

当我去网吧时,这些任务都是我日常“购物清单”上的一个项目。 我会带几个软盘,然后在Google上搜索博客文章,教程和指南,以帮助我解决列表中的问题。 一旦完成,就该将它们保存在我的软盘上并回家了,同时希望数据已成功保存并且可以在我的计算机上轻松访问。

Because of the uncertainty involved, the bicycle trip back would be fueled by the worst anxiety ever. “What if the data isn’t there at all?” I wondered. “What if the bike shakes too much and the data gets corrupted? I really don’t have another dollar to spare until tomorrow, so this better work when I get home.”

由于不确定性,有史以来最严重的焦虑会助长自行车后退。 “如果根本没有数据怎么办?” 我想知道 “如果自行车摇晃太多而数据损坏怎么办? 我真的没有多余的钱要花到明天,所以当我回到家时,这项工作会更好。”

I was determined to get that job, and I knew that even these setbacks wouldn’t deter me from learning PHP. When you don’t have time to waste, you don’t have time to feel desperate; instead, you have to focus on finding solutions.

我下决心要这份工作,而且我知道即使是这些挫折也不会阻止我学习PHP。 当您没有时间浪费时,您没有时间感到绝望。 相反,您必须专注于寻找解决方案。

Suffice to say, this wasn’t practical at all. Once I was back home, I’d use the information I’d brought back to help me accomplish the task in progress, but once it was complete, I lacked the knowledge to perform the next step. This means I was left sitting at home, thinking about a problem, and waiting until the next day, when I could squeeze another 50 cents out of our budget to go to the cafe and repeat this routine. Though at the time it seemed like my only option, eventually I had to admit to myself that it was time for a new strategy. I needed something that contained most of the information on how to write a web application with PHP and Flash MX, with guides explaining how to perform the most trivial of tasks, all in one single place. Not the internet, but books!

可以说,这根本不可行。 回到家后,我将利用带回来的信息来帮助我完成正在进行的任务,但是一旦完成,我就不具备执行下一步的知识。 这意味着我被留在家里,思考问题,等到第二天,那时我可以从预算中再榨出50美分去咖啡馆,重复这个程序。 尽管当时这似乎是我唯一的选择,但最终我不得不承认,现在是制定新战略的时候了。 我需要一些内容,其中包含有关如何使用PHP和Flash MX编写Web应用程序的大多数信息,以及一些指南,这些指南说明了如何在一个地方完成最琐碎的任务。 不是互联网,而是书籍!

It seems like such a no-brainer, but for someone in my situation, the kinds of books I needed weren’t necessarily in reach. The problem is that when you’re part of a marginalized sector of society, accessing books isn’t so easy. The closest thing to a programming book you could find at the public library would be some outdated manual on how to repair a computer — maybe some dusty MS-DOS guide, or perhaps a BASIC or Delphi book if you got lucky — but not much more.

看来这很容易,但是对于我这种情况下的某人来说,我所需的书不一定能达到。 问题是,当您身处社会的边缘化阶层时,阅读书籍并不容易。 在公共图书馆可以找到的与编程书籍最接近的东西是关于如何修复计算机的过时手册—也许是一些尘土飞扬的MS-DOS指南,或者如果幸运的话,也许是BASIC或Delphi书籍—但仅此而已。

Well, at least one could buy books, right? Not really.

好吧,至少有人可以买书,对吗? 并不是的。

In most towns in Uruguay’s countryside, technical books are usually absent from the bookstore shelves, and my town was no exception. Add to the problem the fact that most of the tech books — particularly those talking about cutting-edge technology — are written in English, and you can just forget about the local bookstore. In the end, this left me with only one option: Amazon.

在乌拉圭乡村的大多数城镇中,书店的书架上通常没有技术书籍,而我的城镇也不例外。 问题在于,大多数技术书籍,尤其是那些谈论尖端技术的技术书籍都是用英语写的,而您可能会忘记当地的书店。 最后,这只给了我一个选择:亚马逊。

But it wasn’t that easy either. To buy books on Amazon, you need a little piece of plastic called a credit card, but to get access to a credit card, you need a good credit history — which for most people is not a problem. In my case, though, I was living in a completely different world: everything we bought was paid for in cash. We didn’t have the money or the economical certainty to enter into a credit plan.

但这也不容易。 要在亚马逊上购买图书,您需要一小块称为信用卡的塑料,但是要使用信用卡,您需要有良好的信用记录-对于大多数人来说这不是问题。 但就我而言,我生活在一个完全不同的世界中:我们购买的所有商品都是用现金支付的。 我们没有钱或经济上的把握来制定信贷计划。

For us, it worked like this: if we wanted to buy something more expensive than our monthly income, we either saved month after month until we got enough money to buy what we wanted, or we asked some family member to buy the product for us and worked to pay them back later.

对于我们来说,它的工作方式是这样的:如果我们想购买比我们的月收入更昂贵的东西,我们要么一个月一个月地存钱,直到我们有足够的钱来购买我们想要的东西,要么我们要求某个家庭成员为我们购买产品并努力在以后偿还。

And even if we’d had the option of buying books on Amazon, we hadn’t factored in the fact that shipping alone from the United States to Uruguay was nearly the cost of the book, not to mention it would take a month for it to arrive.

即使我们可以选择在亚马逊上购买图书,我们也没有考虑到仅从美国到乌拉圭的运费几乎就是这本书的成本,更不用说要花一个月的时间了到达。

In my case, though, I was living in a completely different world: everything we bought was paid for in cash. We didn’t have the money or the economical certainty to enter into a credit plan

但就我而言,我生活在一个完全不同的世界中:我们购买的所有商品都是用现金支付的。 我们没有钱或经济上的把握来制定信贷计划

Sometimes the solution to these kinds of problems is closer to home than we think. Eventually, we ended up resorting to asking for help from family. My wife has an aunt who had been living in the US for quite a while, so we figured it was worth a shot to ask and see if she would buy me a couple of programming books. So on one of my internet excursions, I wrote an email to her explaining my situation, hit send, and basically crossed my fingers and prayed to every deity out there that she would help us. After a couple of days, I had a new email in my inbox. It was her answer, straight to the point: “Tell me which books you need and I’ll order them from Amazon.” After doing some research, I ended up asking for the Flash MX Bible and the PHP 5 and MySQL Bible.

有时,解决这类问题的方法比我们想象的要离家更近。 最终,我们最终求助于家人。 我的妻子有一个姨妈,她在美国生活了很长一段时间,因此我们认为值得一问,看看她是否会给我买几本编程书籍。 因此,在我的一次互联网旅行中,我给她写了一封电子邮件,向我解释了我的处境,点击发送,并基本上交叉了手指,向那里的每个神灵祈祷,她会帮助我们。 几天后,我的收件箱中有一封新电子邮件。 她的回答很直截了当:“告诉我您需要哪些书,然后我从亚马逊订购。” 经过研究后,我最终要求使用Flash MX BiblePHP 5和MySQL Bible

Those two books proved incredibly helpful in the weeks to come. They were both so thorough that I was able to make steady progress without needing to constantly visit the internet cafe in search of missing information. I could finally make headway on understanding what I needed to know to build my maps application. And finally, with access to the information I needed, it was time to sit down in front of my computer and get to work.

在接下来的几周中,这两本书被证明是非常有用的。 他们俩都非常彻底,以至于我能够不断取得进步,而不必经常去网吧寻找丢失的信息。 我终于可以在理解构建地图应用程序所需了解的知识上取得进展。 最后,可以访问我所需的信息,是时候坐在我的电脑前上班了。

希望您喜欢第一部分。 在下一篇文章中,我将讨论如何为申请职位做好准备,并告诉您面试过程如何进行。 (I hope you liked this first part. On the next article I’ll discuss how I prepared myself for applying to the job position and tell you how the interview process went.)

Credits: The illustration on top was made by my friend Sebastián Navas. If you want to see more of his art go to his Deviantart profile: https://polacostyle.deviantart.com or get in touch with him via Facebook: https://www.facebook.com/sebastian.navas.16

鸣谢:顶部的插图是由我的朋友SebastiánNavas制作的。 如果您想了解他的更多艺术作品,请访问他的Deviantart个人资料: https : //polacostyle.deviantart.com或通过Facebook与他联系: https : //www.facebook.com/sebastian.navas.16

翻译自: https://www.freecodecamp.org/news/become-how-i-went-from-selling-food-in-the-street-to-working-for-top-firms-in-tech-6aa61a2d0629/

it技术烂大街

it技术烂大街_我是如何从在大街上卖食物到在顶尖的技术公司工作的方式相关推荐

  1. 老公吵架把我扔街上_我是如何从在街上卖食物到为顶尖的技术公司工作的方式-第2部分:获取......

    老公吵架把我扔街上 by Alvaro Videla 通过Alvaro Videla 我如何从在街上卖食物到为顶尖的技术公司工作-第2部分:找到工作 (How I went from selling ...

  2. [转载]选相机的三个原则 保证不会让你选到烂产品_我是亲民_新浪博客

    原文地址:选相机的三个原则 保证不会让你选到烂产品作者:Sean 旅行拍照,大家还是愿意选择使用相机,而不仅仅是用手机拍摄.有了孩子的也会这样.但是现在准备买相机的人基本上对相机都是完全不了解的.下面 ...

  3. adas技术实现途径_未来实现100%清洁电力的途径,带来巨大的健康和工作

    adas技术实现途径 By Sonia Aggarwal, Mike O'Boyle, and Amol Phadke 通过 索尼娅AGGARWAL , 迈克·奥博伊尔 和 阿莫尔Phadke 150 ...

  4. 技术交底软件_【干货分享】软件类产品如何进行专利挖掘与技术交底书撰写?...

    "导读:在很多人的认知里,软件著作权是软件著作权,专利是专利,两者并没有太多关联.甚至有的人认为,软件产品只能申请软件著作权保护,不能申请专利保护.但是,当有人抄袭你的软件设计理念,而你无法 ...

  5. 计算机科学与技术专业导论_“课程思政”建设经验分享 | 王振武:专业导论(计算机科学与技术)...

    为了深入贯彻全国教育大会和全国高校思想政治工作会议精神,把思想政治工作贯穿教育教学全过程,学校积极推进课程思政工作.2019年计算机系的"专业导论(计算机科学与技术)"课程有幸入选 ...

  6. 现实需求巨大_技术尚未成熟_学界与业界思维大碰撞

    原文链接 作为人工智能皇冠上的明珠,自然语言理解不断吸引着学术界与产业界的目光.然而,在这个极具挑战性领域,若干理论问题和技术难题尚未得到根本解决,而现实生活和社会中又面临着巨大的应用需求.如何通过学 ...

  7. 产品技术方案范例_紫光展锐推 85Hz 高刷护眼墨水屏技术方案,首款产品将于 6 月面市...

    紫光展锐通过虎贲移动平台在平板类产品全面进军,通过其新旗舰.高性能及价格上的优势组合,已经与海信.步步高.酷比魔方.台电同步推出了基于紫光展锐虎贲平台的新款平板产品. 而近日紫光展锐围绕着平板大生态战 ...

  8. java对菜单项的监听_我是新手,请问大神java菜单项和下拉列表添加监听和监听方法???有变量和方法就行了...

    展开全部 import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionLi ...

  9. 宝石光是什么石头_天龙八部:尖晶石当初烂大街,现如今比红宝石还贵,售价150金...

    位看官老爷们,晓峰来报道啦.每日一看,每日开心,一直看一直开心.作为一个资深的天龙八部玩家,五年的游戏史,从天龙八部端游到手游,对这个游戏是存在着深厚的感情.今天小编重下载了游戏,看到一幅幅美丽的风景 ...

最新文章

  1. 真香!精心整理了 100+Python 字符串常用操作
  2. 内核知识第八讲,PDE,PTE,页目录表,页表的内存管理
  3. 10分钟看懂, Java NIO 底层原理
  4. c语言中的字符变量用什么保留字来说明,第1、2章C语言基础练习题
  5. VTK修炼之道53:图形基本操作进阶_多分辨率策略(模型细化的三种方法)
  6. linux 内核连接跟踪,Linux内核连接跟踪锁的优化分析(1)
  7. oracle收集统计信息sql,Oracle自动统计信息的收集原理及实验
  8. 在mac上用文本编辑器写python_Mac系统Python解释器、PyCharm编辑器安装及使用方法详解...
  9. 多特征自动植物病害识别与检测
  10. 提问的智慧 程序员成长之路
  11. 用java代码模拟鼠标双击事件
  12. 谷歌浏览器插件 清除 CSDN广告
  13. 有道翻译API接口的服务开通与使用Python进行接口调用实例演示,有道智云·AI开放平台
  14. 使用js完成文字根据输入框内数字在屏幕上移动
  15. “反悔”贪心 烤鸡翅
  16. 万字拆解Gucci:率先迈向数字化的奢侈品,后来怎么样了?
  17. 是时候转移百度网盘的文件了 MultCloud 来帮忙
  18. vscode里面如何配置库_怎么为vscode添加库文件_编程开发工具
  19. python链家二手房_python 爬取链家二手房信息
  20. element rules 校验

热门文章

  1. IIS协议和UDA1341TS音频编解码芯片简述
  2. Pacbio测序原理以及SMRT bell文库构建流程简述
  3. allegro如何删除没有网络的走线,查还没有连的网络线
  4. C++: 函数重载(c++函数原型、函数重载要素)
  5. 星空主题设计理念_请星星设计理念
  6. (转)The Neural Network Zoo
  7. (小米系统系列四)小米/红米手机获取root根目录权限
  8. 求出其中最大的元素值,以及其所在的行号和列号。
  9. Druid连接池加密处理
  10. Vue实现京东登陆页面(仅实现部分功能)