Having worked in the technology industry for quite a while, I’ve noticed there are some key drivers that make a tech company successful. These are, in order: people, product, process, technology and tools. Let me explain:
“People are your company’s greatest asset”, so the saying goes. And it’s true. No matter what the business, it takes brains, creativity and sheer human willpower to make a company successful.
Jim Collins (author of From Good To Great) made the astute observation that it’s important “to get the right people on the bus” first before determining how to get to your destination. Sometimes even before charting your course.
Along with people comes the topic of teamwork. If a group of people can come together to achieve a common goal it can become the X Factor for an organization. For a good read on this pick up The Orange Revolution by Adrian Gostick and Chester Elton.
Above all else, managers are responsible for making all this a reality. That is, to recruit, develop top talent. Our software engineers are facing serious challenges posed by the technology industry and its dynamic markets and global competition. As such they need to be competent, versatile, durable and play well together.
And don’t forget the managers themselves. When we develop organizations we ought to be building our leaders. The future of the company depends on it.
In other words, people come first.
Belief in your product is vital.
Products are the face of the company. If I say “Walt Disney” you see Mickey Mouse from Steamboat Willie. If I say “Apple”, you think iPhone or iPad. If I say “Ford” you see a shiny red Mustang.
Since these products represent the company, we should understand the value they bring to the company. In other words, people all throughout the organization should familiarize themselves with the products (and services) to the point where they could sell them themselves.
Products also implies vision: the ability to foresee new products and innovations that mark the future of your company.
It’s at this point you become a true believer. To really become a driving force in your organization you need to believe your products make a difference.
Without an established process, all your great people and their product ideas will be banished to emails, meeting rooms and water cooler conversations.
In other words, process translates your ideas into action.
Process includes such lofty topics as program governance, planning/budgeting, innovation, product management, product design, business analysis, software development methodology and application life cycle management,
Whatever the process, it must be clear and requires buy-in by the stakeholders. Why? Because process is designed to move the organization and get things done. You’d like all this activity to result in success, right?
An important aspect of process is repeatability. Once success is achieved you’ll want to foster an environment and put mechanisms in place to ensure it can happen again and again. This is what Jim Collins refers to as “the flywheel effect.” Making your process repeatable is key to sustained success.
After all, this is about technology isn’t it?
Technology is the enabler. It enables the Davids to take on the Goliaths. It’s the “game changer” that creates the Googles, Apples and Microsofts of the world. And it’s the lifesaver of old, lumbering corporations that want to regain their competitive edge.
Technology does not stay still. The Sony Walkman is no longer king of personal audio devices. And does anyone remember what NCR stands for (National Cash Register)? These blue chip companies have to constantly reinvent themselves and re-establish their positions in the technology market. And the way they do it is through compelling, innovative technologies.
If you are a software company, perhaps you are building “the killer app” that will take the country by storm. Twitter is an example of this. Or maybe you’re creating the next “enabling software”, such as RSS, HTML5, or virtualization technology. Or perhaps leveraging cloud technology and providing a SAAS service to your customers. Or perhaps bundling COTS software to create a custom solution tailored to your market.
Whatever your sweet spot, as a technology professional you understand that it’s key to the success of your company.
So here’s my advice: hone your technical mojo. Build your expertise, and leverage your tech skills to build a better product. Create a scalable, well-architected enterprise platform. Contribute to your team’s best practices. Launch a test-driven development initiative. And evangelize your solutions throughout the organization.
The company is waiting for your technical innovation so go out there and be a game changer.
More subtle, and yet quite powerful, is the concept of tools.
Just as software makes the customer more efficient, tools make the developer more efficient as well. Think about it: how many carpenters still rely on manual screwdrivers and hammers. Forget it! Now it’s all Bosch or Makita power tools.
Tools are the bread and butter of software developers. They could come in the form of plugins, such as SVN for Eclipse. Or maybe entire application suites, such as Github for code management or JProfiler for application profiling.
There are also what I’d call “internal tools” or applications written to help the organization support its business. For example, management tools that allow IT to deploy and monitor software that keeps its data centers and offices humming around the world 24/7.
Tools will make you a smarter, more effective technology professional and over time will enable your software engineering team to deliver increasing value to the organization.