As software developers we often get too caught up with trying to figure things out ourselves. Nothing is more satisfying than tackling a problem and getting into a zone until we eventually come up with a solution. What we often take for granted is how much we actually do rely on others while we build our next great thing. Just think about it, how many times a day do you google for code samples, tutorials, or the cause of an exception? You may not have realized it yet, but as software developers you are part of a huge online community.
A few years ago I discovered Balsamiq, if you are involved in web or mobile app development you should already be familiar with this kick-ass tool for quickly drawing wireframes of your site or app. My forte is in back-end platforms so having a fun and easy to use tool to mock-up my ideas for front-end development has proven to be invaluable.
When checking out their product I stumbled upon their blog, it was the first time I had seen a company publicly write about pretty much anything from setting up development environments right through to company policies on salaries and vacation time, their entire team is encouraged to blog! Myself being a technical lead at a startup I really appreciated the opportunity to learn from another company as they faced the same challenges that I was having. It was just as good as having a one-on-one discussion with their core team as the grew from being a small startup to becoming a big success.
I’d say that the majority of my colleagues in software development would think that this level of openness could only hurt you, if you are revealing your design philosophies and corporate culture aren’t you inviting others to copy your product? Or to steal away our best employees by offering them a similar culture with better salary?
The reality is there’s much more to running a successful company than copying another’s culture and deployment practices. No one is going to put you out of business by following your blog.
Without an active online community of developers and technical managers we wouldn’t see the fast pace of innovation that we are experiencing today. It’s thanks to blogs, tweets, and communities like Github that make it possible for new products come to market as quickly as they do. When I started in software development, if you needed to learn a new programming language you had to take a course or buy a book and start to make your way through the examples, it might take you a few weeks before you could be productive. Today, you can hire a co-op student and have them coding on their first day using tools that they’ve never used before. The co-ops on my current team were pushing code to production by the end of their first week!
Sharing is the reason I decided to start this blog. It’s a place for me to give back to the community that has helped me tremendously throughout my career. My hope is that someone out there will learn something from my posts and appreciate the contribution as I have.