How to build a product
Posted: December 10, 2009 Filed under: Uncategorized | Tags: software development Leave a comment »- Developers, product management, and customers brainstorm ideas.
What problem are we trying to solve?
What market opportunity are we trying to meet? - Developers & product management write the core user stories.
- Developers build an end-to-end web site skeleton with mocks to any external systems.
- Developers spec out the core web site API.
- Developers and product management iterate over the web site skeleton adding the core user stories.
- Partnering with the customer; developers and product management push the product to market as quickly as possible.
- From customer feedback developers and product management enhance, rewrite, or create new user stories and apply those stories back into the web site.
- Repeat 1-7
Meetings
Posted: December 9, 2009 Filed under: Uncategorized | Tags: software development Leave a comment »It seems that in all my years of software development every company I work at seems to feel the need to pull people off of real work to have a meeting. Where they want to discuss some useless topic that just makes managers feel like the team is being productive by communicating status or issues. So what are good guidelines for meetings? Should we be having meetings? Here are my 3 golden rules:
- Meetings should never be scheduled; you should strive to create an environment where meetings just happen. How do you do this? Create open development environments where there are no offices or cubicles just groups of desks with lots of couches and whiteboards. In this environments meetings become organic and happen only when people need to talk.
- You should never have meetings to communicate status; that is why you use wiki’s and bug tracking tools. People who want status should just pull the status from those tools. It does not matter if you are standing up while you are giving status in a meeting or you call it agile. Status or issues should be an asynchronous activity where the people who need to know should be pulling those from the team, not slowing them down with a synchronous meeting.
- You should only have meetings for productive things like brainstorming new ideas, doing use cases, group design, discussing code, or getting the team together for drinking beer.
Erlang
Posted: September 11, 2009 Filed under: Uncategorized | Tags: erlang Leave a comment »I added another articles section for my other love language Erlang.
The first article is just a quick intro into this cool and powerful language, I will be sharing more soon..
http://carlosgabaldon.com/erlang/hello-erlang/
Why working in a large org sucks
Posted: September 4, 2009 Filed under: Uncategorized | Tags: software development Leave a comment »Great quote by Paul Graham which explains why working in a large software development organization sucks.
..we can get a portrait of the “normal” world. It’s populated by people who talk a lot with one another as they work slowly but harmoniously on conservative, expensive projects whose destinations are decided in advance, and who carefully adjust their manner to reflect their position in the hierarchy.
http://www.paulgraham.com/kate.html
My interview by Dmitry Belitsky
Posted: September 1, 2009 Filed under: Uncategorized Leave a comment »I recently did another interview by Dmitry Belitsky on “How to become successful rubyist”. Dmitry is an up an coming web developer who put together a great set of interviews with several top Ruby hackers.
http://belitsky.info/freelance/carlos-gabaldon/
My Interview on RubyLearning blog
Posted: July 21, 2009 Filed under: Uncategorized | Tags: ruby Leave a comment »I recently had the pleasure of being interviewed by Satish Talim for his RubyLearning Blog on his mini series – “How do I learn and master Sinatra?” – by top Rubyists using Sinatra.
The interview series provides insight and commentary from notable Sinatra developers, with the goal of facilitating and providing answers to the questions Ruby beginners face on how to learn and master Sinatra.
Satish Talim is a programmer, author, trainer, and speaker. A recognized expert in the field of software development with over 30+ years of I.T. experience, Satish has consulted and trained teams at various companies in India and the US.
http://rubylearning.com/blog/2009/07/21/carlos-gabaldon-how-do-i-learn-and-master-sinatra/
Sinatra rake tasks
Posted: May 25, 2009 Filed under: Uncategorized | Tags: ruby Leave a comment »Since I have been playing around with Sinatra again, I decided that what Sinatra needs is some automation for some of the boring day to day tasks. So I created a GitHub bucket to dump my Rake tasks. I only have 1 task, to create a new project, but I have a lot new projects that I will be doing in Sinatra in the coming months, so I know there will be a cornucopia of tasks.
More on Sinatra
Posted: May 23, 2009 Filed under: Uncategorized | Tags: ruby Leave a comment »I wrote another article on the cool Ruby web framework DSL Sinatra.
In my last article I wrote about the cool Ruby DSL web framework called Sinatra which is taking the Ruby world by storm. I decided that another “How to” article on some of Sintra’s other kick ass features was just what Frank would expect.
..
Sharpening your tools
Posted: May 5, 2009 Filed under: Uncategorized Leave a comment »I have always felt that every software leader should from time to time get back to the basics and do some deep dives into focused technical tasks. Such as writing automation code for any tedious task that you have one of your high paid developers doing manually.
So what do I do? I need to get back to the basics and do some hard core hacking. What does that mean? I have been actively contributing to several open source projects over the past few years. Open source is very rewarding, but I think doing a large project in my first language (C) will remind me why I love programming. Maybe write an operating system; my own BSD distro? Or maybe a new language?
Burned out
Posted: May 5, 2009 Filed under: Uncategorized 1 Comment »Over the past few months I have been feeling burned out with my career. I feel like I have lost focus on why I got into software in the first place. I am a hacker and a geek who loves things like learning new languages each year or geeking out with Order theory. But lately, I have been pulled more into the world of project management and endless meetings. I am spread so thin across so many different projects and initiatives that I spend my days planning and telling other people what to do, but very little time doing any real work myself. Of course planning and leading people is very important and if you “get it” you need to help other people “get it”, but for hard core engineers this can wear on you quickly. Every few years I tend to be get pulled out of engineering toward management, which I guess means someone thinks I am doing something right, but I have to find my way back.
So what to do? I need to get back to the basics and do some hard core hacking. What does that mean? I have been actively contributing to several open source projects over the past few years. Open source is very rewarding, but I think doing a large project in my first language (C) will remind me why I love programming. Maybe write an operating system; my own BSD distro? Or maybe a new language?








