Breaking through pervasive negativity

Standard

It’s becoming apparent, slowly (surprise), that I deal with a lot of negative people every day. I’m willing to bet you see the same thing. Right now, I don’t have any hard data behind this observation, but I’m hoping you can help there. I’m going to make a statement and ask a follow-up question. All you need to do is give an honest answer. Sound good?

Do you see the negative in the positive?

The Statement

Do what makes sense.

The Question

What is the call to action in the statement above?

The Point

If you’re like most of the people I’ve “surveyed”, upon reading the imperative to “Do what makes sense”, you immediately think you’ve just been told to not do what doesn’t make sense. Or maybe to stop doing non-sensical things. Full disclosure: I often make the same mental leap. And that’s a shame.

It’s a shame that, in the face of indecision or even crisis, we fail to act with common sense. We fail out of fear of making a mistake, or of doing something that we won’t be able to justify to Monday morning quarterbacks. We fail because we are afraid of failure. Truly, that is a pity.

In the 21st century, more than at any point in history, we can see example after example of successful people and companies who fail. Failing fast is a badge of honor among the business and technical elite. Why, then, do we remain frozen with fear of failure?

The Challenge

I challenge everyone reading (and writing) this post to take a step out of fear’s shadow. The next time you are faced with a decision, take two simple steps:

  1. Identify what makes sense. Not what makes the most/best sense. Keep the litmus test simple by asking yourself “Could I explain the logic behind this decision in a sentence or two?”
  2. Do it. Now that you’ve identified what makes sense, follow through and act. If you want to get something “done”, you have to get something “started”. When you need a win, stop planning and start doing.

That’s it. A simple way to leave fear and negativity behind you, and make progress. Will you fail? Maybe. Will you succeed? I hope so! But, that’s not really the point. The point is, simply, to do what makes sense.

Advertisements

There Is No Enterprise Software Market

Standard

It occurs to me, and is further reinforced this excellent post on Tech Crunch, that selling software to the enterprise is becoming a losing proposition. It may take a while to dry up, but the big splashes are getting fewer and farther between. This type of sea change always reminds me of that scene in The Matrix where Neo is schooled by a young boy who tells him, simply, “Do not try and bend the spoon. That’s impossible. Instead… only try to realize the truth…. There is no spoon.” The IT industry, like Neo, may need some time to internalize this new reality. The biggest winners, though, will be the companies who most quickly realize the truth: There is no enterprise software market.

8392344566_c272835dce_b

Photo Credit: I_am_Allan via Compfight cc

Traditional enterprise software is dying as a market, but that doesn’t keep startups from trying to liberate coins from enterprise coffers. That’s a great idea, because that’s where the money is. But, here’s the thing: There are few forces at play that are kind of a big deal. Enterprises still need vendors, just not necessarily for (only) software.

  • Software keeps eating the world. Every company has to either get great at engaging their customers with software (apps) or lose. The same holds true for enterprise vendors.
  • Open source software is flat out better. Enterprises are so over proprietary vendor software. They know, with confidence growing at an exponential rate, that they can solve their technical problems with leftovers from Google, Netflix, Amazon, etc.
  • DevOps is the next “best practice” that will legitimately draw a line between winners and losers. As its simpler cousin, agility, proved, they can either adapt or die. Coding faster doesn’t help if you can’t deliver on (or, more accurately, respond to) customer expectations on their timeframe.
  • Customer expectations for adoption, integration, and business have been forever changed by mature SaaS offerings. As enterprises continue to rely less on building the supporting infrastructure they need, their desire for turnkey solutions has grown insatiable. Savvy companies are forcing themselves to rethink how to differentiate from competitors and focus all their attention in that area.
  • Speed of innovation at every layer of the technology stack is approaching Moore’s Law proportions. Enterprises, and their vendors too, can’t keep up. It’s easier, cheaper, faster, and more efficient to let someone else try to keep up with it while they reap the rewards to execute on their business goals.

What does it all mean?

The successful enterprise vendor of the future will need to serve the market with much more than software.

Serving the market, in this case the enterprise market, means building a powerhouse open source company that builds, runs and understands open source software. It means being able (and flexible enough) to provide a SaaS experience, simple in terms of business and integration. It morphs “SaaS” into “Service-as-a-Service”, counting as a simple detail whether people, process, and technology are on premise, co-located, hosted, whatever.

The value enterprises want/need/expect is expertise to bring them to the leading (but not bleeding) edge and keep them there, so they can run their business. It’s the natural extension from agility to DevOps and the right products/tools to make it happen. It’s just as critical to have thought-leadership-as-a-service, with an accompanying “warranty”, as having the right products to solve their current technical challenges. That’s the new product/market fit.

How do we fix it?

The past (current?) model of selling multi-year software licenses, leaves the buyer unable to keep up with the pace of innovation in their stack. They have learned that they are behind the curve before their purchase is even installed. If their vendor can’t continuously deliver updates to their stack, they’re just buying a new bottleneck.

Simply selling software doesn’t offer the capabilities that a modern enterprise needs to remain competitive. The new enterprise vendor is going to be have to monetize a brand new business model: one that blurs the lines between software, managed services, outsourcing, and consulting and can be continuously delivered anywhere (or everywhere, even).

If vendors want to win in the enterprise software market, it’s time to embrace a future where that market doesn’t even exist. It’s time to take continuous delivery to a new level. It’s time to realize that the recipe for success in a post-proprietary world is “People first. The rest is code. Win together.”

Want to win the talent war? Put your shoulders into it.

Standard

It seems every technology company is hiring right now. At my day job, I interview at least one candidate every day. When I’m not interviewing people, I’m receiving emails and phone calls and LinkedIn requests from other technology companies who need my help. While it’s very flattering to be in high demand, I’m humble enough to realize that it’s not about me. The truth is there simply aren’t enough software people to go around. I think we can (and should) fix that.

14009545278_7f6579f3cf_o

I’ve always referred to myself as “self-taught”. I’ve learned everything I know about software (and hardware, and networking, and security, etc) outside of a classroom. My first job at a technology company flipped a switch in my brain. I immediately fell in love with the creative nature of software development. This new-found passion grew into an insatiable appetite for understanding, and I read and experimented at a feverish pace. All of this motivation and initiative, while respectable, does not make me “self-taught”.

The truth is that no one can teach themselves. If I’m honest in my self assessment, I can list dozens of teachers who helped mold me into the technologist I am today. I’ve had hundreds of conversations and whiteboard sessions with some of the most brilliant minds around. I’ve worked thousands of hours, paired with real “rock stars” solving incredibly difficult problems. I’ve read books and websites and spent countless late nights of fighting with compilers… all of which were written by someone else. I am where I am today because I stood on the shoulders of giants. And so did you.

There’s a cartoon that I’ve seen several times on the web. It’s one of those funny-because-it’s-true situations. In it, an HR person is complaining about the difficulty of their charge: “We’re looking for someone with the wisdom of a 50-year old, the experience of a 40-year old, the drive of a 30-year old and the payscale of a 20-year old.” They almost have it right. Where it breaks down, I’d argue, is that your company (and mine) already has plenty of wise 50-year olds, experienced 40-year olds, and driven 30-year olds. What we should be looking for are young people who can benefit from our existing strengths. We don’t need wisdom, experience, or drive. We need a future.

If we are going to keep the explosive growth going in the technology sector, it is our responsibility to provide a new generation with shoulders to stand on. We can no longer afford to be shortsighted, seeking the perfect fit for a job that is described in two full pages of acronym soup. We must take the long view. We have to grow our own software talent. Not just because we can’t find them elsewhere, but because it is our responsibility. We don’t have to make this happen overnight, though. We can start solving this problem just like we did when we were getting started in this game. We can conduct a simple experiment.

The Experiment

If you are involved in the hiring process at your company, I propose you stop focusing on resumes, skills, and experience. The next time you can influence a hiring decision, look for attitude and aptitude. In my experience, the most difficult quality to find is passion. A close second is optimism. Find those two qualities, and make your move. My prediction for how this will work out? It’s hard to say, but I’ll bet on one of two outcomes:

  • Your new hire will save the company money (experience is expensive), make a positive impact on culture (a zeal for learning is infectious), and re-engage your seasoned veterans (there’s no hiding from passion).
  • You’ll find out that the high-priced, experienced specialist is the only type of worker who can help your company, and you’ll have to seriously reconsider your ability to scale your business.

Are you willing to give it a try?

Photo Credit: State Library of Victoria Collections via Compfight cc

Why should I care?

Standard

Maybe it’s a senior-level engineer who seems burned out. Maybe it’s a disaffected young dreamer, railing against the corporate machine. Or maybe it’s an “80-percenter”, content to live out their days in the cube farm, while the other 20% deliver. If you’ve been in any type of leadership role, you’ve no doubt been challenged to “light a fire” in an underperforming team member. I have an idea that just may help you…

binoculars

You’ve been there, right? Where you seem to try everything, but you still can’t seem to get through to them. It’s so common, it’s become acceptable to just give up. We’ve been conditioned to believe that there is a certain (large) percentage of the workforce who is not going to be productive. “They can’t all be rockstars, right?”

Wrong.

It’s about caring

What we’re seeing, time and again, is a fundamental disconnect between the mission and the people. We’re getting blinded by spreadsheets and deadlines, distracted from our call as leaders. It’s back-to-basics time. Time to circle back to the fundamentals.

Two simple, powerful truths are at play here, and when we accept these two tenets as fact, we move beyond attempting to “light a fire”, and focus on “kindling flames”.

  1. Everyone cares about something, and
  2. No one can force another to care about anything. 

Performance, then, is an outcome of internal motivation. No amount of coaching will lead to maximum productivity when there is no passion. Certainly people can “push” themselves, but that’s not sustainable.

It’s time to stop trying to find a trick that will motivate people to do work they don’t care about. It’s time to find the value in the work they do care about, and free them up to do it. Here’s what works for me:

  • Be what you want to see. Everyone gravitates toward their calling, and you need to do the same. Be honest with yourself: Is leadership your passion? If you don’t care about poor performance, a poor performer won’t either. Lead by example, and do what you care about.
  • See what your people see. You’re reading this and leading people because you care about it. Why are your people doing what they do (or not doing what they don’t)? One simple behavior will simultaneously show people you care and uncover what they care about: Listen.
  • Make your “show” match your “tell”. As in all interactions, you need to be clear, transparent, and consistent. Your people need to trust that you care. Demonstrate by letting them drive their work, even on something trivial at first. You have nothing to lose (performance is suffering already, right?) and you may be surprised with the results.
  • Focus together on the big picture. Explain (and be sure you understand) there will be growing pains. We are looking for a way to do what we love, but sometimes you have to “grin and bear it”. Just beware the patterns and hold each other accountable. Commit to caring for each other enough to keep communication open, and be honest if it looks like either of you is backsliding.
  • Stay focused on the goal together. As performance improves, you may find that you’ve got a happy person who can’t help your team accomplish its mission. That’s okay. Now that you have established trust, you can work together to explore other projects, teams, departments, locations, companies, industries that might work. This doesn’t mean “manage them out”. It means life is too short to be miserable.

Sometimes we all need to remember the fundamentals. I hope this helps you as much as it does me. If you feel like you’re trying too hard to motivate people, maybe you are. It’s time to stop “trying” and start “caring”. I’ve seen it work. Have you?

Personal Branding is Simple, Not Easy

Standard

Personal branding is about communication. Sending a message is easier today than at any point in human history. It’s fast, efficient, and (mostly) free. The Internet and social media allow us to connect with like-minded people around the globe. We can discover talented people, learn from industry experts, and share insights we’ve gained. The scale of it all can be overwhelming if you try to jump in without a plan. This post aims to help you gain comfort as you start your journey into personal branding.

personal_branding

I’ll start with a confession. I’m new at this. I don’t have years of experience with social media marketing. I’ve never been a blogger with thousands of subscribers, and I just finally surpassed 100 followers on Twitter.

So, why am I writing about this? Well, I think you can benefit from my experience of just getting started. The lessons I’ve learned are fresh and relevant. If you’re reading this, you’re connecting with me, and I am my brand. That’s the real point here. If you take nothing else from this post, remember this: Your brand is you.

What is a personal brand?

You are already building a personal brand. Every time you interact with someone, you are communicating your brand. These interactions (both word and deed) establish expectations for others. Given time and consistency, people will grow more and more comfortable that they can trust you to meet their expectations. That trust is the most powerful outcome of building a brand. The definition of a personal brand, then, is “a consistent set of expectations held toward you”.

Build the foundation first

The relative ease of electronic communication allows us to interact with greater frequency and reach every day. That is, at once, a wonderful and frightening reality. Before we dive in to using the web for personal branding, we need to establish a firm foundation. This will be the basis that helps us achieve the consistency we seek. Without it, our communication on the Internet will only serve to confuse our audience.

  • Understand yourself first. This is about communicating who you are. You cannot build a brand by pretending you are someone you are not. Know yourself. Be yourself. All the time.
  • Communicate with people. Before you start using the Internet to build your brand, realize that there are real people on the other end of all those connections. Act accordingly.
  • Consistency begins at home. Remember the definition of a personal brand. Don’t let the Internet craft your message for you. Be who you are at home first.
  • Appreciate persistence. What you say on the Internet can exist forever. This is not a simple warning. It means new people can engage with you all the time. That’s powerful.
  • Practice appropriate cadence. You may be tempted to share a flood of ideas with people right away. That’s natural. Building a brand, though, is a marathon. Pace yourself and be consistent.
  • Seek connection, not metrics. Another temptation is to track your success against a number (like Twitter followers). Don’t fall in the trap. Remember, you are connecting with people.
  • This is not a broadcast. Building a brand is a two-way street. You’re establishing expectations. Do you want people to expect to be “talked at”?

As the title of this post says, personal branding is simple, not easy. There are only a few steps required to start building a consistent set of expectations. Those steps aren’t easy, though. You have to be ready for the answers you find as you examine yourself. You have to be intentional about consistency. You are going to need to apply faith and hustle. Are you ready?

The Key to Success

Standard

Throughout human history, teams have been chasing the thrill of victory. Armies, companies, and sports teams put in hours of training and build years of experience in pursuit of winning. Nothing I can write will obviate the need for all of that hard work, but no amount of effort can guarantee you’ll come out on top. There is, however, a single key. Without it, I can assure you that success will always elude your team.

The key to successPhoto Credit: hoshi7 via Compfight cc

As a firm believer in talent mobility, I’ve worked with teams of all sizes in large and small organizations, across a variety of industries. One benefit of my varied background is the diversity of perspectives to which I’ve been exposed. What a blessing to have had the opportunity to learn from so many others!

I wish I could say that every one of my endeavors had met with success. Sadly, I cannot, and I’m fine with that. The educational value of my experiences with each team is beyond measure. Here’s what I’ve learned: The Key to Success lies in its Definition.

That’s it? Yup. Your team will never win if they are not working toward a single definition of success. It sounds simple, because it is. Yet, time and again throughout my career, I’ve seen teams of smart, hard working people fail because they didn’t define success. Don’t let it happen to you!

Here’s a cheat sheet to help your team:

  • The definition has to come first. We’ve all known for a long time that you have to prioritize your work, right? Well, defining success for your team is the top priority for any effort. If you’re playing poker, it comes before table stakes. If you’re playing golf, it comes before paying greens fees. If you’re working on a project, it comes before Sprint 0. Do it first.
  • There can be only one definition. The entire team must work toward a single, common definition for success. Different ideas can, and should, contribute to the definition. Once a decision has been made, though, the team has to work together to achieve success. If this is a stumbling block, your team may be trying to do too much, or may need to divide and conquer.
  • Success must be measurable. This isn’t to say that your team’s definition of success must be quantitative. A perfectly reasonable definition for success might be: “Mrs. Smith will like the web site”. Irrespective of the unit of measurement, your team needs to understand what success “looks like”, so they’ll know it when they see it.
  • The definition must be communicated. Certainly, your whole team needs to understand what it means to be successful. Beyond that, I’d argue that you should share your definition of success with every stakeholder. Being transparent in your communication allows your team to focus on achieving and preempts second guessing during the decision making process. When your motives are clear and understood, you can focus on delivering.
  • The definition needs to be central. Every conversation, meeting, or decision should be made in light of your definition of success. All of your hard work needs to contribute to success. I highly recommend kicking off every practice, every meeting, every demo by declaring your team’s definition of success. Stay focused. See the same picture all the time.

I hope this helps your team. It certainly helps me to remember this fundamental lesson. Even after all of the times I’ve seen teams fall short without it, I’m still guilty of diving in without this core component.

One final hint, on that note: If you’re on a team who doesn’t know what success looks like, stop now to define it. The pause will enable future acceleration. Your team and your stakeholders will thank you. Does your team have a definition of success?

Ready for Devops

Standard

I mentioned recently that it’s time to shift your focus from getting things “done” to being “ready”. What follows is a more specific, actionable post about what that means for your team (assuming your team, like mine, is responsible for delivering software solutions)…

Another Devops Definition

If you are in a technology industry today, you are talking about “Devops” (or “devops” or “DevOps”). Business leaders are gravitating toward that term in droves. Before the genie gets out of the bottle, though, and you’re asked to spin up a devops team, I felt it best to set the table for a valuable conversation. I’d argue that devops, done properly, is about being ready for success. Let’s break down what devops means:

  • Devops is not a tool, a team, a process or a technology. It is a culture. At it’s heart, it is about an organization focused on a single definition of success. I can’t begin to prescribe what success means for your organization, but it is generally about making customers happy with outstanding products or services. By bridging the gap between the software development lifecycle, IT service management, and business process management, devops establishes a unifying purpose and quantifiable behaviors for every individual to contribute collaboratively to the success of the organization.

Why Does it Matter?

The one thing we can count on in technology is change. In order to be responsive without being reactive, we need to agree on the some fundamentals. With the pace of change in our lives, we must be capable of truly letting go of the notion of getting “done” with our work. We are never “done”, but we must always be “ready”.

Since I tend to think in lists, I’ve built one here to help communicate what it means to be ready. I think it goes a long way to helping an organization adopt a devops culture. Unlike a traditional “checklist”, though, this post should serve as a roadmap throughout the lifecycle of an application/product/solution. Your team can then assess each stage of the lifecycle with full transparency, staying honest with themselves and their stakeholders as they travel the feedback loop together.

Even if adoption doesn’t make sense in all cases, or one team’s definition varies from another’s, the goal remains the same: Begin with the end in mind. Communicate, collaborate and commit to shared accountability for a successful solution. If you decide that a piece of this list doesn’t or shouldn’t apply to your solution, at least you’re making that decision in full light of day. Do what makes sense, and keep expectations clear with absolutely everyone. That is the mark of a technology professional.

Caveat: Don’t use this list as a project plan. Use it as a reference. Go off and prove concepts. Write code. Exploratory work is critical when you kick-off a project. Just be prepared along the way. If you think the launch is the finish line, you’ve already failed.

The Definition of Ready

  1. Success is defined. However your team defines success, there must be a single definition. Everyone who has a stake in your project has to be clear what it means to succeed. Without this building block, all the best developers or ops teams or salesman can never be enough.
  2. A solution is developed, reviewed, and tested. Whatever set of standards and best practices you decide to adopt (or create), follow them when you develop software. Hold each other accountable to them when you conduct peer reviews. Use them to help the whole team find and fix bugs in testing.
  3. The solution is documented. People understand pictures. It doesn’t matter if your team is full of ninjas or rock stars or gurus or whatever other term is en vogue. A solution is not just for developers, or even technical folks. Just draw a picture of the solution and its integration points. If you ever need to consult an outside expert or vendor, or hire a new employee, you’ll be glad you have it.
  4. The solution is deployed and accessible. Ideally, you have a handle on continuous delivery. Ultimately, though, you simply need to understand how and where your solution gets deployed. That includes the stages through testing and staging and production. Does the team understand how changes make it to a customer? Is everyone responsible for supporting the solution capable of accessing it?
  5. The solution is monitored. Every production solution needs monitoring. I can’t begin to tell you how detailed yours must be. Just be sure that your solution issues relevant, clear and identifiable information when a fault occurs and is being monitored for both faults and performance. Keep in mind, too, as it relates to operations: faults must be actionable. If they aren’t, get comfy with the pager.
  6. The solution has clear diagnostics, escalation and remediation. Your solution should be capable of being “smoke tested” with clear red/green results. Those results, just like any faults caught by monitoring, need to be clearly understood by all parties. That includes troubleshooting steps, known workarounds, automated tooling, etc. The point here is to be planning for what can break, how to fix it, and when to call in the experts.
  7. The solution is built for high availability and disaster recovery. Are you prepared for a catastrophic outage? Are your customers? Simply checking this box because you deploy to the cloud isn’t going to cut it. Is you solution capable of being completely redeployed to a different environment in a minimally invasive manner? Get rid of secret sauce and tight coupling to environments.
  8. The solution provides adequate reporting capabilities. You will be asked for data. Big or small, performance, usage, financials, outages… There are many interested parties. Be sure you are setup to provide answers. If you solution is not capable of providing data for analysis by stakeholders, you’ll be on the spot more often than not. Be ready to answer the questions you’ll get.
  9. The solution is staffed. Technology gives us tremendous scale, but there are still people charged with keeping it alive. When there are enough people and they understand how to do what is required, customers never know they exist. That’s a good thing. Remove the people (or try to get by with too few), and the customers will know one person: You.
  10. The solution has been communicated. Ultimately, your solution is not yours at all. The product or service you provide and this entire checklist is designed to be shared with the people who are staking their time, money or brain power on the success of the project. I hope you use this checklist as a point of reference to keep everyone on the same page. They need to know if you’re ready. So tell them.
  11. Repeat. Iterate. Work hard. Play hard. End of the list. Thought you were done? You’re not done. You’re ready. Ready to do it again and again and again… That’s what success looks like. Congratulations!

There you have it. That’s what I’ve learned in my career at many companies, small and large, new and old. Another thing I’ve learned is that there is much more to be learned from the perspectives of everyone else who’s breathing right now. So, leave a comment or a question. I’m ready to keep learning!