Alexander’s Blog – The Making of LetMeGo

Archive for January 2009

Very Special 90-Day Job Opportunity

with 7 comments

Are you really good at coding? Do you want to be part of the world-wide Internet revolution? Do you want to earn COP$30,000,000 for 90 days of hard work, plus stock options?

Summary

LetMeGo is an Internet startup that will offer travelers a new way of booking lodgings. The project is being lead by me, Alex Torrenegra, from New York City. I have co-founded four other Internet companies, including the highly successful and profitable Voice123.com and Torrenegra Labs. We are looking for VERY good developers in Bogota, Colombia to help us complete the coding of LetMeGo.com and DejameIr.com. You would be part of our “Development Immersion” effort. This means that the development team, including you and me, will live together and code from the moment we wake up to the moment we fall sleep in sessions of 12 days and for a total of 90 days. In exchange, you will get COP$30,000,000, stock options that will allow you to be owner of a share of LetMeGo… oh… and free unlimited food and Red Bull.

If interested, please keep on reading. Here we describe the job, schedule, why we are doing such a crazy thing, payment, benefits, requirements, how to apply, and more info about LetMeGo and the Torrenegra Group.

Job Description

  • You would be responsible for developing part of LetMeGo.com.
  • You would be part of a development team that will consist of five to seven people.
  • Coding is being done using the CakePHP framework.
  • We will use the Rrapido Methodology (a custom version of agile development).
  • You will have to code using test-driven development techniques (heavy use of unit testing).
  • LetMeGo is being developed using a rich service oriented architecture.
  • Everything you code has been already documented using detailed use cases and wireframes. This will reduce your anxiety level.
  • You will be lead directly by me, Alex Torrenegra, one of the founders of the project.

Schedule

  • Coding will be done from the moment we wake up, until the moment we fall sleep.
  • This effort will start February 23, 2009 and will finish June 6th, 2009.
  • 90 days of work.
  • Each two weeks there will be a weekend of rest when you can leave on Friday night (7 PM). and come back on Monday (7 AM).
  • There will be special long break for Holy Week (Semana Santa) starting on Wednesday, April 8th (at 7PM) and finishing four days and half later on Monday, April 11th (at 7 AM).

Why Are We Doing Such a Crazy Thing?

Because of timing, fun, and passion. I recently wrote an article about this type of “development in residence”. You can read it here.

Payment

Payment Details for people that do not currently work at the Torrenegra Group:

  • COP$30,000,000 + stock option bonus equivalent to 0.2% of LetMeGo + benefits described below.
  • You will get paid as a contractor.
  • COP$6,000,000 on day 30 of coding.
  • COP$6,000,000 on day 60 of coding.
  • COP$18,000,000 on day 90 of coding.
  • There is no partial payment plan for those who quit or get fired before day 90 of coding is reached.

Payment Details for People that do currently work at the Torrenegra Group:

  • Your current salary + COP$20,000,000 + 10 days of extra vacation time + stock option bonus equivalent to 0.2% of LetMeGo + benefits described below.
  • You will get paid your current salary as usual.
  • COP$20,000,000 on day 90.
  • If you quit or get fired before day 90 of coding is reached, you won’t get paid the COP$20,000,000.
  • If you already have a stock option agreement with LetMeGo, the time requirement will be reduced by six months :)

Stock Option Details:

  • The stock option bonus will be effective if LetMeGo.com reaches beta before June 6th.
  • Your gain out of the stock options will depend on the value of LetMeGo as a business. If we are highly successful and one day become as large as Expedia currently is, your stock options will be making you approximately USD 4 million before taxes. Of course, this is a big ‘IF’. Most Internet startups will fail. We have a good success record, though.

Benefits

  • The work environment (probably a three bedroom apartment) will be comfortable. The sleeping area will be separate from the working and eating area.
  • Unlimited food and beverages, including of course Red Bull and coffee.
  • If interested, we will offer you healthy and balanced food.
  • We will wash your clothes.
  • The work and living environment will be kept clean for you.
  • Massages, pedicure, and manicure on the weekends.
  • You will work alongside some of the best developers you have ever met.

Requirements

  • You need to be a very good coder. Seriously.
  • Obviously, your English skills should be very good.
  • You must be willing to live and cope with other developers during those 90 days. I know this is not going to be easy, but some of us already know each other for years. We know how to have fun (legally).
  • You need to be able to focus in full on this project. You won’t be able to work in any other project during those 90 days.
  • We may limit, and in some cases don’t allow, certain types of communication with the outside world. For example, we may opt to block Facebook, chats, and cellphone use.
  • Be open and flexible to rules that may be set while the project is happening. Any rule, of course, will respect your integrity as human and professional.
  • You must take a shower every day!

How to Apply

We have designed an application process, so that even if you don’t get the job, you will be have plenty of fun applying. Here is what you have to do:

Using CakePHP, jQuery and unit testing, create a web app for the following “semi” use case:

Main Scenario:
1. System asks user to provide the id’s of the three twitter accounts.
2. User provides the three twitter IDs.
3. System pulls the recent twitter updates from twitter for the three accounts (using the twitter API).
4. System displays to the user a list of the updates order chronologically.
5. User asks system to refresh the updates.
6. Use case continues at step 3.

Note: The page should never be refreshed in full. All the information should be updated on the screen using jQuery (AJAX).

Once you complete this web app, please send an email message to jobs [at] letmego [dot] com with the following information:

  • Your name
  • Phone number
  • Link to the web app
  • Link to the page that shows the unit tests running
  • Link to your resume in LinkedIn.com

If you want to get some extra points, you can also create selenium tests (using the Firefox plugin) that automatically test your web app. If so, please also include a link to the page where the selenium tests can be downloaded.

The deadline for submitting your application is February 8th, 2009.

About LetMeGo

LetMeGo is an Internet startup that will offer travelers a new way of booking lodgings. The actual business plan is a secret for now. LetMeGo is being funded by the Torrenegra Group and lead by me, Alexander Torrenegra. I am based out of New York City. I keep a blog where I am documenting the making of LetMeGo. You can read it at http://www.letmego.com/ – The development team is based in Bogota, Colombia.

About Torrenegra Labs
Torrenegra Labs creates and invests in driven, enthusiastic and people-oriented companies that develop ground-breaking online technologies and leading-edge business models. We are motivated by our expertise, imaginations and hard work ethic to ensure dreams come true in a creative and sustainable way. Our business is to make others lives easier through technology.. Learn more at http://torrenegralabs.com/

Alexander Torrenegra

Written by Alexander Torrenegra

January 29, 2009 at 7:00 pm

Posted in letmego

Shut Up and Let Me Go… To Work. A Leadership Lesson.

with one comment

Last week, I was reminded of a great leadership lesson: ‘Why and how to shut up and trust your team.’ Here is the story, the why, and the how:

LetMeGo will allow lodging staffs to update their lodging listing information. Among many of other things, they will be able to upload pictures. As the perfectionist and web-development-control-freak that I am, I documented many detailed requirements and ideas for this feature. This technique tends to work pretty well as it reduces the level of anxiety of the designer and developer, it helps with estimates, etc.
Lucho had the responsibility of implementing and coding the requirements and screens that I had envisioned. As he started to work on it, he told me that he didn’t like some of the ideas that I had proposed. He thought that we could do better. We started discussing the issue right away. My ideas were already documented and crystal clear. Lucho’s ideas, based on the Flickr interfaces he has experienced as a photographer, were still vague. I was sure that I had enough arguments for my ideas to be considered as the best alternative.
What did I do, then? I gave up on the argument. I told to Lucho: “Okay. Go ahead and implement your ideas. Work with Maestro” (LetMeGo’s designer) “and come up with the interface to upload pictures by yourself. Do your best. Surprise me”. Lucho took on the challenge right on the spot.
A few days after, Lucho and Maestro sent me the result of their work. I was, in fact, surprised. The picture management picture they developed is, by far, the best that the lodging industry has ever seen. It is easy to use, quick, and candy to the eye. Those of you that use LetMeGo in the future as lodging staff members will be able to experience it first hand. I am sure you will agree with me.
What was my lesson from here, then? Some people may think that the lesson is simple: “Learn to trust your team“. They are right, but there is more… I was reminded of a quote from the main character in the movie “Thank You for Smoking” (the plot evolves around a lobbyist that tries to convince lawmakers that smoking is nothing worst than eating cheese). He says “That’s the beauty of an argument, if you argue correctly, you’re never wrong.” I think he is right. Knowing how to argue is good, but it can become a negative weapon in some cases. Why? Think of my argument with Lucho; It was very difficult, if not impossible, for him to win the argument. First, I am very good at arguing. Second, I had time to be prepared for the argument while he didn’t. Third, I had more motivation than him to win the argument, and finally, I am the boss. I could have gone away with my way of thought if I wanted to. Instead, I decided to lower my weapons and remember that he was at a disadvantage in the argument. It wasn’t easy for me, but I am happy now that I see the results. Thus, my lesson out of this was that sometimes we, as leaders, need to learn to shut the f*** up and let control go.
Thank you Lucho! Thank you Maestro! Both for the feature and the lesson.
Alexander Torrenegra

Written by Alexander Torrenegra

January 28, 2009 at 5:21 pm

Posted in letmego

Really. Fast. Development (and I seriously mean "fast")

with 13 comments

As technology innovators we all are conscious of the importance of ‘timing’. Alexander Bell got the patent for the telephone by submitting it just a few hours before Elisha Gray. The same happens today, and every day. For example: Yammer went live at TechCrunch 50 last year beating its competitor, Present.ly, by just three days. Present.ly had delayed their launch so that they could do it at Web 2.0 Expo in NYC. I talked to them. They regretted their decision big time. Those three days gave Yammer a huge advantage. Yammer got more than 50,000 early adopters during that short period of time. Most of those users (including the entire Torrenegra Labs) never gave a chance to Present.ly, when it went live three days later. They were happy with Yammer. Today, Yammer is the leader in that front. If Present.ly had gone live three days before Yammer, it is very likely that it would be the leader today.

Some times, as it is the case of online marketplaces, innovation requires dozens of thousands of lines of code. LetMeGo, for example, is estimated to have taken more than 24,000 hours of development. Projects like these could take months (or even years) to go live. It is very important to try hard to get the first version of the software out as soon as possible. But how is this done? Is it done with agile development, extreme programing, test-driven development, automated user testing, pre-existing dynamic and detailed documentation, etc.? All those are the most important techniques that we have available… or so I thought…

Last Friday, I attended the networking lunch at The Incubator organized by Nate. The guest was Eric Litman, founder of Medialets (and a successful serial entrepreneur having sold companies for more than 100m+). Medialets is a creative advertising network (marketplace) for native mobile applications.

I asked Eric how long it took them to work on the initial version of their software. I was shocked with his answer. Eric hired seven full time developers and seven part-time developers. They all moved into an apartment in NYC. On June 1, 2008 they started coding 24 hours a day. Sleep? Eric said that most of them were able to get away with only 20 minute naps. They had plenty of caffeine (even caffeinated chips) and delivery menus. The challenge was not to leave the apartment until the first version of the software was live. The result? On July 11, 2008 (40 days later) the 1st version of their software was live. It was the same day that the iPhone 3G and the iPhone Application Store became available to the public. They got the momentum they wanted. They are now the largest ad network for the iPhone.

Impressive, eh? Well, let’s do some math: First, let’s assume that all the developers slept a total of seven hours per day (I honestly think that sleeping several hours per day is much healthier than just having 20 minute naps) and they used another hour for personal matters. Each of the seven developers coded around 640 hours each (at 16 hours per day for 40 days). What if instead they were working on regulars office hours? It would have taken them almost five months (140 calendar days) to achieve the same goal. In other words, using Eric’s technique (which for the lack of a better name, I am calling it “Development Immersion“) they were able to code 3.5 times faster than usual. Okay, you got me: I am making another significant assumption in here, that each hour of coding is equally productive in both scenarios. I know what you are thinking, “Is it even possible to maintain high levels of productivity under such intense conditions?” Keep on reading…

Back in 1997 Andres Herrera and I took 15 or so days off towards the end of the year. We set a small LAN party in my home. During all that time we only played computer games. We never got out of my home, we seldom took a shower, and we barely ate. We would sleep just three to five hours per day (at whatever time we were tired). We would wake up and go back to our games right away. We ate in front of the computer with one hand while we played with the other. Our only pause was when my mom, mad at us, switched the electricity off so that we would go downstairs, to the dinning room, to eat with them. We didn’t get sick or go crazy. We had plenty of fun and lost any traces of sun-tanning that we had ever gotten. Looking back at it, I am amazed in what the human mind could do when it is really, really focused.

What about the personal sacrifices that Eric’s team had to do? We all have agreements and responsibilities that drive our routines. Every week we invest time (around two thirds of the time we are awake) going through our personal (non-work related) stuff. We take time to be with our friends, partners, and family, we sit down to eat, we read the news, we carefully pick what to dress, we update our Facebook profile, we go to the movies, we watch TV, and we go to the beach. We do all these things because we enjoy then. We enjoy them so much that every now and then we take a vacation from work to completely focus on these activities and enjoy them even more. So I ask, “Do you enjoy your work?”. I do. If you do, what if we take a vacation from our personal routine and immerse ourselves, for a couple of months, in our professional passion? That is what Eric and his team did. Work hard. Play hard. Live life to the fullest.

I listened to Eric three days ago. It is now Monday and I haven’t stopped thinking about this. I wonder if I have what it takes to do this. I wonder if I know the people. Do I even have to do this? Would I enjoy it? If I don’t do it, would it mean that I am not passionate enough? Would it mean that I am not as competitive as I once thought I was? I still don’t have answers for these questions, but I am starting to figure out that what really scares me is that I may never get to know the answers.

Alexander Torrenegra

Written by Alexander Torrenegra

January 26, 2009 at 4:22 pm

Posted in letmego

Osbourrne Gets a Piece of LetMeGo

without comments

Back in December, in its second week, I began documenting the requirements and user interface of the Osbourrne Scope. This scope will take care of our affiliate program. We named in it honor of Ozzy.

Although, I originally thought it was going to take me three weeks to document it, it actually took me almost six. It ended up having 13 use cases and 81 individual user interface screens and components. I also ended up being an expert on international tax law :P (this scope needs to understand how to withhold tax from payments made to affiliates residing outside the United States).

This scope will be coded only after we have reached version 1.0. In other words, it is not likely to see the light of the day until sometime in 2010. I worked on it now as I am sure I won’t be able to focus on documentation too much, after we reach alpha and open our doors to the general public. I am sure I will be very busy then…

Alexander Torrenegra

Written by Alexander Torrenegra

January 21, 2009 at 10:53 pm

Posted in letmego

The Mozarrt Scope Reaches Alpha

without comments

After 734 hours of architectural design, coding, and recording of Selenium tests by Henry, the Mozarrt Scope has reached its alpha state! Congratulations Henry :)

The Mozarrt Scope is responsible for allowing all users to exchange messages and manage message threads in the Merrcury Engine (the software behind LetMeGo). It is very powerful and flexible, and it is the first scope reaching alpha that heavily used jQuery.

We are now one step closer of reaching beta; the moment when our doors will be open to the public.

This table shows the current progress of all the scopes required to reach the beta milestone.

Scope Progress
Scope Alpha Version Ready
Web Scope
Morrison Scope
Cockerr Scope 80% of Coding
Hendrrix Scope
Sinatrra Scope 40% of Coding
Mozarrt Scope
Arrmstrong Scope 95% of Testing
Mastrropiero Scope 100% of UI Design
Kubrrick Scope 20% of Coding
Brrown Scope 100% of UI Design
Marrley Scope 100% of UI Design
Waterrs Scope 100% of Requirements
Rrose Scope 100% of Requirements

Alexander Torrenegra

Written by Alexander Torrenegra

January 15, 2009 at 6:22 pm

Posted in letmego