When thinking about working at a new company there are a ton of things to take into consideration, and it can be quite overwhelming. There are things like salary, benefits, how “cool” the place looks, and sometimes even perks like free food and bangin’ parties. These things tend to be the primary focus during the interview process, but are those really the most crucial aspects of a job? Now, I’m not saying those things aren’t important, but when I look back at my previous jobs and places of employment, those aren’t the components that stand out. In fact, I hardly think about those things at all.
So, what does stand out? Well, when taking a step back and really thinking about it, one thing keeps coming to mind and seems to make all the difference: It’s all about the way a company solves problems. There are a few different ways to interpret this. You could say that it boils down to “company culture” or “the executive team” but in my mind those are merely byproducts of the way a company goes about arriving at a solution. Let’s look at these two byproducts so you’ll see what I mean.
1. A strong company culture can inspire confidence and passion in its employees allowing them to reach their maximum potential. A toxic culture can take those same employees and render them completely ineffective in their roles.
2. The executive team ultimately drives the culture of the company and the whole is often greater than the sum of its parts. One executive can’t make all the difference. However, when you have a truly cohesive team, singular and seemingly separate solutions to day-to-day problems end up creating an overarching culture that drives the company and attracts the right kind of talent.
Every decision becomes part of a larger problem-solving strategy, and out of that strategy comes the company culture and the true colors of the executive team that is left to manage it.
Now let’s apply this thought process to software companies and their products. Creating great software is hard, REALLY hard, and there generally isn’t a single way to do it. Rarely is there one “correct” solution to any given problem. What makes a software company great is its ability to find the balance in problem-solving. While that sounds simple, it’s far from it. The easiest way to illustrate this point is by examining the high-level lifecycle of a software project and taking two extreme examples of how a product can be handled. To illustrate this, we’ll take a look at two companies: Company A and Company B.
Company A prefers the “Wild West” style of product management. This “method” involves taking a problem, putting a very small amount of forethought into a solution, and just diving in with guns-a-blazin’. There is no project plan, there are no mock-ups, and there are no estimates. All that exists are a problem, some yet-to-be-written code, and a nebulous solution that will be released at some point in the future (hopefully before the deadline). This method results in a project full of chaos and uncertainty, and rarely produces a fantastic product.
Company B, on the other hand, subscribes to the “Spec-to-Death” method. They first attack a project by staging numerous marathon meetings to beat the crap out of the problem and evaluate its every nook and cranny. Then comes the stage where a detailed specification is developed where every use-case (and all edge-cases) are meticulously documented, pixel-perfect mock-ups are delivered, and every task is precisely estimated down to the minute. This specification is then handed to the developer with no need for further communication since everything is right there on paper. Inevitably, the development team will quickly realize a use-case that isn’t accounted for. Then, an error in the flow of the product as described by the specification is uncovered. These situations often result in the invalidation of many assumptions provided by the specification and often the spec is completely abandoned and it becomes nothing more than an out-of-date pile of paper. This method results in a project full of chaos and uncertainty, and rarely produces a fantastic product.
The Goldilocks Method:
Now here comes Company C. This company understands that neither extreme described above results in an acceptable product lifecycle, so they go with something we’ll call “The Goldilocks Method.” A large amount of thought is put into the problem before work formally begins. Those thoughts are then assembled via documentation that describes the problem and outlines some possible solutions. Broad estimates are produced in order to predict timelines and resource requirements, and a few mock-ups may be delivered to give the development team an idea of direction. Company C understands that projects are living things, and while the concepts and frameworks of a solution should be defined early on, things will change during the development process and the ability to remain open-minded and agile will ultimately help the team produce the best product possible.
Here at Phase 2, we know that Company C has it all figured out. With concepts like “Design First” our product management philosophy incorporates fantastic balance in problem-solving. This allows us to develop large scale, elegant software products that provide maximum value to our clients. This also affords us the luxury to pivot in a project should a scope change or an assumption be invalidated without having to return to the drawing board. We believe that we are at our best when solving difficult business challenges with beautifully useful software.
THIS is the stuff that is truly important in a job and in a company. Always ask yourself if your company solves problems in ways that align with your natural instincts, and if they do, all of that other stuff will fall into place. Benefits will be tweaked here and there, salaries will generally fall within a common range, but the core ways that people work will never change, and it’s what really makes a company who they are. When an extremist, a procrastinator, and goldilocks walk into a bar, we hope you can say you work for Goldilocks. If you do, everything will be “just right”.
This blog was written by someone who has been through it all, Kris Kettner. Kris is one of our product managers at Phase 2. To be a product manager you have to be uniquely experienced in software development, project management, and quality control. Our product managers are the perfect storm of problem solving talent and software development expertise to look out for our clients' best interests throughout the development process. They know what risks to look out for and areas of opportunity to pursue that our clients might have not been aware of without having technical software development knowledge. If you are in a company with a big software initiative, you need to have the right person looking out for your best interests. You need someone to have your back and solve problems the right way. The problem is that most companies do not have someone on hand who is experienced in software development that also knows the company’s goals and can manage a massive software project. That is why we have the product manager role. It is our way of lending the perfect person to help you accomplish your software initiatives and have a fantastic end product that will in turn build better business.
Learn more about Phase 2 by visiting our website or following us on LinkedIn, Facebook, Instagram, or Twitter. It is as easy as clicking the icon in the header.