1. Avoid ignorance, but embrace your naivete.
The key difference is knowing versus understanding. As a developer of bespoke software, I work with a huge variety of industries and professions. It’s my job to know what your business does, but I will trust you to show me how it works. On the flip side, I tell 95% of potential clients they probably don’t actually need an app. Trust your vendors and partners to educate you, but hold them accountable for demonstrating the value of what they’re providing.
2. Practice beginner’s mind.
Beginner’s mind means approaching problems as a beginner would – without preconceptions and with an open mind to understand it for what it actually is. As we spend more time in a profession and gain experience, we tend to go into a project or problem with a solution in mind. This can prevent us from fully recognizing our problem, which then prevents us from finding the best solution.
3. There is rarely a single “right” solution.
There’s more than one way to skin a cat, but some are gloomier than others. To arrive at the most-right approach, we have to clearly state the underlying goal and recognize the constraints we’re operating under. Why do we need to skin the cat? Is the cat already dead? Are our tools sharp enough?
4. Cultivate gumption.
In programming, software bugs are inevitable. Though a junior developer will typically spend more time debugging than someone more experienced, there is no such thing as bug-free software. This can be incredibly frustrating. Embracing the fact that problem-solving is a central aspect of the job and practicing tenacity through the unexpected is key. The same is true in any leadership position.
5. Identify your guiding principles instead of a list of rules or tactics.
Most programmers write code in multiple programming languages. This is because there are patterns and approaches intrinsic to programming itself, and almost everything else is syntax. Similarly, challenges arise in all aspects of business with infinite combinations of factors. It would be impossible to rely on an endless list of responses to specific circumstances. Learn from experience, but maintain a core set of guiding principles against which you can weigh decisions and outcomes.
6. Plan ahead and adjust before it’s too expensive to do so …
In software development, we start with nailing down the business requirements, move to wireframes and design, and then begin building it. Each step informs the next. It’s much easier to adjust functionality earlier in the pipeline, so plan and forecast with intention.
7. … but recognize that telling the future is hard, and we must meet it as it is.
All we have to go on before something is built are our assumptions and measurements. Very rarely do we get those 100% right. External factors will always be outside of your control and can be difficult to anticipate. A mark of leadership is the ability to adapt; so adapt as you go, while maintaining beginner’s mind.
8. Serve humanity in all actions.
In technology, programmers must learn to look beyond the excitement of building a piece of software and acknowledge its greater effect on the end user and society. Nonpractitioner awareness of this fact is growing through documentaries, like “The Social Dilemma,” and recent, embarrassingly impotent congressional hearings. In business, we serve humanity by looking at more than just the profits and losses, minimizing the exploitation that capitalism encourages, and recognizing our effects on our customers, employees, vendors and partners. On a personal level, we can simply practice loving-kindness and remember the golden rule.
9. Prioritize function over aesthetics.
Everyone wants a sexy website. But if your customers can’t figure out how to find what they’re looking for, it will only frustrate them. That’s why it’s critical to start with your and your customers’ functional goals, check everything you do against a goal and prioritize usability over flashiness. Any business can build hype, load up the sales funnel and convince people to give them money. But if you don’t deliver on what you’ve promised, the facade is going to collapse.
10. Measure and iterate.
In management, this idea is promoted as continuous improvement. When developing software, the digital medium is data-rich and incredibly easy to measure and get concrete feedback on what to improve. This is more difficult in business, which is why it’s so important to accurately identify your key performance indicators. In your personal life, it starts with recognizing that you can be better tomorrow than you are today. Therefore, we must accept that we are wrong about some things today. Reflect objectively and iterate.
A career pivot for a former human resources professional resulted in Bosky’s Vegan Grill; Neverending Game Store LLC made its second move in as many years; and Mercy Springfield Communities added a second Queen City clinic focused on sports rehabilitation and performance improvement.