28 Jan 2015
Running & Health
- Run all year long, at least twice per week.
- Run 365 miles during the year.
- Run one half-marathon in 1h40 or below.
- Run a marathon in 3h40 or below.
- Run a ultramarathon.
- Target Weight: 166-170 pounds
- Save 24% of annual salary
- Write 12 essays, at least once per month.
- Read 12 books, at least once per month.
- Measure how much time I am wasting watching/reading useless stuff.
- Reduce the amount of time I spend on this stuff by 50%.
- Take 2 classes about Machine Learning
- Develop skills in Customer Development
- Experiment with at least 3 business ideas.
- Generate 1,000$ revenues with a business project.
- Measure time spent in meetings and reduce it.
19 Nov 2012
For the last few years, I’ve been participating in Hackathons, a type of event where hackers and designers meet to build a project in a limited amount of time. I’ve seen awesome products get built, but I also witnessed a great deal of failures. These failures were generally not caused by a lack of work or talent in the team. These projects failed because the team aimed too high. Their vision was so big they didn’t know where to start from, resulting in an unclear product solving no problem.
As a first step to any project, ask yourself what is the core element of it. What is the one thing your app needs to do to be useful? Think small. You will have to say no to many features in order to stay focused. As humans, we get motivated when we feel we’re having an impact. Building a product in small steps is incredibly motivating. A small feature that is going to affect people tomorrow is a lot more engaging to work on than one that will be released a year from now. Furthermore, taking small steps is a great way of minimizing the risk of building stuff you don’t need.
This philosophy of taking small realistic steps is not limited to Hackathons or web products. You can apply this to almost any kind of endeavour. Whatever you have in mind right now, think about the first smallest step you could do in order to get closer to your goal. You want to build an international food chain? Why not start that by cooking a meal for your friends? Don’t try to drink the river.
30 Oct 2012
"As a rule, each step should have a feeling of entrance. This is beginner’s mind -the state of becoming.“ - Shunryu Suzuki, Zen Mind, Beginner’s Mind
4 weeks into it
It’s already been an intensive four weeks since I started learning to program. Four weeks since I dropped everything to move to Chicago and attend The Starter League. These four weeks have been extremely challenging, and have pushed me to my limits. I have learned a lot of new things, from general programming concepts and design patterns to Ruby and Rails.
Not only I am learning a lot about programming and product development, but moving to the States has taken me out of my comfort zone. From pitching startup ideas at different hackathons in front of more than a hundred of people, to leading different technical projects and networking with Chicago’s best and brightest entrepreneurs and VC’s. I feel like I’ve been firehosed with knowledge both on the technical and business side.
A long journey
Although I am learning a great deal so far, I also know that I am at the beginning of a long journey. Talking with different software craftsmen, I realize that the knowledge I am gaining is only the tip of the iceberg. I am a still a beginner, I still have a long way to go.
While this would discourage some people, I feel more energized than ever. My perspective on this craft is still fresh and my passion strong. I am still wearing my white belt.
The title and quote were inspired by Dave Hoover’s Apprenticeship Patterns
22 Oct 2012
«If you’re not embarrassed by your 1st version, you waited to long to release» - Reid Hoffman
It’s easy not to ship. You can be working all of your free time on a project and never show it to the world. In fact, you have all the reasons in the world not to ship: you just need to add this one feature, your design is still not as good as you want it to be, etc. The fact is that you shouldn’t be comfortable releasing your first version, your product will probably never be as good as you want it to be.
Not shipping is more often worst then actually shipping a mediocre but functional product. Why? Getting a product out there helps you get real feedback from real users, I am not talking about your best friend who said your app «was sick». I am talking about real users, ideally real customers. This feedback helps you understand your users and their needs, leading you to craft a better product faster. In the case you are building a Pacemaker, you might want to take your time planning out the project but in most cases, get it out there and fast.
But what will people think of me? The fact is most people won’t even bother really looking at what you built, seriously. The small amount of people who actually use your product are the one you need to focus on. They are the one who actually need what you built. Shipping is a state of mind. Determine the core feature of your project, build it and ship it. Repeat the process.
Just like programming, designing and copywriting, shipping a product is a skill by itself. Like any other skill, practice is key to success. So how do you practice shipping? Get involved in many short projects and ship them. You don’t even have to be passionate about the project, be passionate about the process of shipping.
11 Oct 2012
“Don’t let education get in the way of learning.” - Mark Twain
Today I attended my first Learning Lab. These two-hour long weekly workshops hosted by Adam Lupu, resident Learning Architect at Starter League (SL), aim at teaching Starters to be better learners. At first, I was kind of hesitant about going to this event. I mean, what can I learn there that is worth sacrificing two precious hours of coding? I decided I would give it a try and I’m pretty impressed by the result. Here are my four take-aways from this first lab:
Set goals and constantly review them.
Setting goals is a great way of reflecting on what kind of outcome you want of a certain process. As a student at Starter League I am in a three month programming training process. What do I want out of it? Do I want to be a software developer or do I want to start a business? The answer will greatly affect my time allocation. I better be investing my time towards what I want. As you know, time is a scarce resource.
Surround yourself with people of all levels.
I feel pretty lucky being taught Ruby & Rails by Jeff Cohen, a PragProg author that is well-known in the Ruby community. But, learning isn’t only about having experts teaching you new concepts. Learning is also about being a teacher and helping other people out. It’s about working with other people sharing complementary skill sets. As part of a learning process you better be surrounding yourself with people of different levels, not only experts, in order to progress.
Re-shape what you know.
Learning is hard. Unlearning is harder. In order to learn, you need to forget some bad habits. My keyboard typing isn’t great. I’m having a hard time using all of my fingers while typing. For the last weeks, I’ve been trading off my typing speed in order to learn to type the right way.
Reflecting on learning is time well-invested.
This isn’t limited to learning. Spending time reflecting and getting feedback on any process is time well-invested. This process can either be the development of a product (ever heard of Lean Startup and Customer Development?) or the method you are coding (ever heard of Test-Driven Development?). Do yourself a service. Take a step back and reflect on what you are doing, you won’t regret it.