Good Developer, Bad Developer

I recently read Ben Horowitz’s piece on the importance of training people in startup companies. At the end of this article he put together a document “Good Product Manager, Bad Product Manager”. Here’s my spin on it: Good Developer, Bad Developer. Enjoy, I look forward to your comments!

Good Developer, Bad Developer

Good developer is an artist, a craftsman who enjoys the process of creation. Bad developer considers himself as a programmer, responsible for generating lines of code.

Good developer understands the problems of the customers. Bad developer understands only the technical problem at hand. Good developer does not define the why, but constantly strives to understand why. He’s responsible for the how, and still sees the big picture. Bad developer is focused on building classes and methods and configuration files, but does not get the big picture.

Good developer understands the complete architecture of the product. Bad developer knows only the components he’s written. Good developer fully understands the technologies that are used within the product. He understands what they are used for, and how they work internally.

Good developer is not afraid of new technologies but embraces them by quickly getting a grip. Bad developer only sticks to what he knows. His immediate reaction to any technical change is negative.

Good developer is constantly learning and improving his skills. Good developer reads technical articles, and finishes several technical books a year. Bad developer does not have time to learn. He’s always too busy with other stuff.

Good developer cares about the product quality. He is also very much concerned with the process quality. Good developer pushes himself to create bug-free code; bad developer leaves it to QA to find bugs to fix.

Good developer develops features which create value for customers. Bad developer completes tasks. Good developer will never claim the requirements are incomplete, and will make sure to fully understand the features he’s working on. Bad developer will wait until the finest details are available. To emphasize: good developer is the CEO of the feature – he’s going to make sure he always has the information needed to accomplish the feature, and in case information is missing he’ll make sure he gets it.

Good developer is not afraid to go into anyone’s code. Bad developer is afraid of others looking into his. Good developer understands that it shouldn’t take more time to write self-explanatory and well-documented code. Bad developer always needs to allocate extra time to document and simplify.

Good developer will never feel his code is good enough, and will always continue to clean and fix. Good developer always strives to create elegant solutions but understands that his job is to deliver value to customers. Bad developer thinks only about the elegance of his code and leave the job of delivering value to others.

Is that all? Did I miss anything or got some of these wrong? Feel free to chime in the comments below!

Guy Nirpaz
Co-Founder & CEO, Totango

Building Enterprise Software Products That Don’t Suck

Aaron Levie, CEO and Founder of Box.net posted this excellent article on TechCrunch. I encourage you all to read it before reading onwards.

Levie describes a major shift in enterprise software towards ‘value to users’ vs. the old ‘perceived value to the CIOs’.

One of the key arguments in his article, that grabbed my attention is:

By focusing on building enterprise software that the users love, driving demand up to the CIO. Vendors like Workday, Jive, Yammer, or Rypple are responding by investing more in design, usability, openness, and the total user experience. They’re measuring success by user adoption, rather than feature checklists

I couldn’t agree more! Consumer products, such as the iPhone, iPad, Facebook and many others are changing the way people evaluate products, including enterprise software products.

Value to users is key decision criteria. Software vendors who fail to constantly improve and increase value to users will end up with shrinking user bases, resulting in replacement from others who will deliver the right value.

When thinking about the emerging customer facing business models of subscription (SaaS) and pay-per-use, switching costs and vendor lock-ins can not be a reason for enterprises to stick with overly complex products who fail to deliver ‘right’ value to users. We at Totango certainly appreciate vendors that do it differently, and create an ongoing dialog about value with their customers.

It is crucial for software vendors, to constantly monitor the current value their users are getting from their online software. It is the challenge and at the same time the big opportunity for the SaaS delivery model.

Luckily, measuring value is simple. Vendors can learn about the value their customers are getting by measuring how much the software is being used and how. By providing Totango Analytics service to some of the vendors Levie mentions in his article we’ve learned that  investing a small effort in determining the right information to collect, companies gain great visibility of value their clients are getting (or not).

The need to constantly increase value to customers is inherit in the SaaS model and results in alignment of customer success and the vendor’s own business success.  Successful SaaS companies realize this and constantly strive to get immediate feedback on value by monitoring increases or drops is usage. Combined with fast paced releases and methodical A/B testing, software vendors can focus on building customer-centric, value-first enterprise software products.

It’s great to share this vision with others. Enterprise customers should expect this level of value from their software vendors.

 

Get your FREE copy of our latest RESEARCH:

The 2012 SaaS Free Trial, Freemium and Pricing Benchmark

get-your-free-copy


About Totango:

Totango analyzes in real time customer engagement and intention within SaaS applications to help you grow your business

 

Increase your sales revenue!
Try Totango free for 30 days
sign-up1

Techzing Inteview – Guy Nirpaz/Totango

Two days ago I had the pleasure to tell the story of Totango to Justin Vincent and Jason Roberts of Techzing. Techzing is very active podcast for hackers. Jason and Justin operate in the space and also cover it on their show which makes their questions and interest really genuine.

Justin started to experiment with Totango by integrating his successful enterprise twitter platform Pluggio into Totango. BTW, if you’d like to see great implementation for ramping up customers on a non-trivial service, I would highly recommend to subscribe to Pluggio.

Please listen to the show and let me know what you think?

Here it is TZ Inteview Guy Nirpaz / Totango

Life in enterprise software

TechCrunch is surprised to hear that there is life in enterprise software, You can watch the video and listen to what Marc Andreessen has to say on the subject. I agree with the general sentiment of the discussion. There is a lot of potential in enterprise software, specifically when applying modern approaches to eneterprise software.

I’d like to emphasize a minor fact within this article: “Thousands of software-as-a-service and open source companies were started over the last decade to upend the category with cheaper, more flexible pay-as-you-go offerings that didn’t involve the multi-million-dollar installation costs of hardware and customization”

I’ve been talking in the past few months with several industry leaders. Few don’t really see SaaS as a big market. I beg to differ. Time will tell who’s right, but thousands of companies playing in this arena sounds big to me. and this is just the beginning. In addition, it’s clear that many enterprise software companies who didn’t apply modern web delivery models will apply those sooner or later. In order to convince an enterprise to choose a best-of-breed product, it has to lower the barriers and allow ‘frictionless’ enterprise adoption strategies.

I’m glad to hear reinforcement from someone like Marc.