Universidad Simón Bolívar - Code Retreat
In the beginning of 2012, we had the opportunity to share with the students of Simon Bolivar University a weekend of learning Ruby and fun programming.
We were invited by Elias Matheus to give a workshop on REST, help out and share some knowledge with the group.
This was certainly an awesome and growing experience.
Replicating ActiveRecord objects to MongoDB
One of our team members, Ivan Acosta-Rubio, had the opportunity to present at RubyConf Brazil the work he has been doing with one of our clients, Venue Driver. The talk is about doing real time replication of Active Record objects from MySQL to MongoDB. It may sound crazy, but it is an effective way to move data between several data stores.
Lately I have been debating this topic, is it good or bad that technology is going so fast that there are a lot of people facing the fact that their careers or jobs have been replaced by machine? or simply a line of code?
The world is changing, and technology is making it change even faster. We as a human race need to learn how to take advantage of all the wonders technology has to offer, instead of feeling bad because it is taking jobs out of the market. The only reason why technology is claiming jobs is because those jobs do not have to be performed by people anymore. The time has come when technology can "free" us to do more interesting things with our time.
The other day I saw two people, one man driving the truck and the other man watering the plants. Can these two human beings be spending their times doing more interesting things than watering the plants? Also thinking how much water we are wasting right there....there you go two jobs can be replaced with sprinklers.
Learn to think, learn to innovate.
"Emancipare yourselves from mental slavery. None but ourselves can free up our minds" Bob Marley.
Managing clients expectations
Not so long ago I received this note from a potential client:
Red flags appeared everywhere, and my question is why would somebody think they can build an app similar to facebook, myspace and twitter with a fixed price or limited budget? Don't they realize that each of these apps have millions of dollars in funding behind them?
The way to build web apps start by an idea, followed with a proof of concept. Once your concept is proofed, you may follow by building the actual app based on users feedback, what they need, what they dont, etc.
People in general or potential clients think that building a web app is not so complicated and that you can just say it will be $1,000 $10,000 or $50,000 but the truth is that you never know how much an app will cost. I think the question I have heard the most during my career is "How much will this cost?" or "How much time will this take?" My answer always is "fixed budget represents fixed time".
The idea in the end is to build a successful product, and that you can nourish your relationship with your client so that you can make it a long lasting one. Fixed prices always bring friction between the team and the client. The concept of something being done can be very subjective.
Advice, don't be afraid in managing your client's expectations, and in charging what your time is worth. It is better to say NO in time, than to later on be stuck with a never ending project.
Where are you going to put the pianos?
Mike McDerment - Marketing Metrics
Estimates by tools for reducing team friction
A lot of the stress in teams comes from a single question. This can be presented in many ways like:
• When is it going to be ready?
• When are we going to finish?
• How long does it takes?
• Are we in course for meeting the deadline?
A lot has been written about agile estimation and the waterfall model, but using a single tool to do the estimation for you can alleviate much of the stress while keeping your team in sync. This post is not about a specific tool, but rather any tool that estimates when a task is going to get done.
You eliminate the possibility to blame a person for giving you an inaccurate estimation by using a tool. Moreover, you can play with different scenarios and priorities and adjust accordingly.
Working with real data instead of assumptions is even better. Therefore, A tool that takes into account what you have done in the past to estimate how long in going to take to complete a task in the future is what you are looking for.
Personally I don't want to meet anything call deadline. This is a word that fires up a red flag in our client relationship system. It means that the client or team is not delivering sufficient value in a period of time; Therefore, it is sound to "kill" the project instead of keep spending without receiving any real value. The solution is quite simple, yet hard to achieve.
Producing value every week is the solution for this. You can say that you have a deadline every week, but it is not really the case since nobody dies if the deadline is not meet - no pun intended. It is just a week of work and it is a much smaller lost than killing an entire project.
People are going to end up doing the estimation, but on a much smaller scale - At the story level instead of the project level. If we use tools to reduce the friction that hard questions present, we can work much more efficiently. At the end, responsibility lies within the team.
The surprising truth about what motivates us
Moleskines: Unleash your thoughts
Sometimes people think that designers just come up with ideas...have you ever encountered a person or prospective client that throws a project/idea at you and immediately says...so what do you think? do you have any ideas? It has happened to me...and it is just funny because at that point you can say so many things, have so many ideas...and all of them can be so far away from reality.
The reality is that every designer has a process, my process lives in Moleskine notebooks.
Another funny question I have been asked is 'and how do you use a Moleskine' and the answer is there is not right or wrong way, depends on how you feel comfortable working, anyhow, I will share my way...
• To-dos: It is important to know what you have to do. This is key for me, every email I get, Basecamp message, phone call, etc. I erase and write it in my Moleskine. Why? Because if you only had one thing to do every I am sure you will not forget about it, but when you have several things to do, you will forget something. Anyhow, the secret of productivity relies on not leaving anything to your memory. Treat your mind, like you treat your computer, try to have it as free as possible so it can work faster on the tasks you need it to work on.
• MITS: Most Important Tasks. So, out of those 029472393409274 to-dos you need to know what your priority is, some to-dos might need to be done ASAP, and some others might be done in a more relaxed way. Your MITS will let you know if there is something of urgency you need to do.
• Briefs: A new project will always be briefed, what is the concept? target? keywords? tone? so many things to think about, that if you do not have all this information in one place so that you can organize your ideas, the quality and effectiveness of your project might suffer because you missed something.
• Research: Gather information, nowadays that we live in an overload information world, it is a sin for you to not study your brand. Research the industry, who are the competitors, learn from them.
• Unleash your thoughts: Create roughs, very very roughs, nothing pretty, nothing like the final product...just ideas. This will be your base so that you know what direction you are going.
"Moleskine was created as a brand in 1997, bringing back to life the legendary notebook used by artists and thinkers over the past two century: among them Vincent van Gogh, Pablo Picasso, Ernest Hemingway, and Bruce Chatwin."? www.moleskine.com