I have been running a low profit company offering services to non-profits that is normally breaking even or paying little for about one year now. That means that if I cannot provide generic, low cost, results that continue to yield dividends through modularity, automation, infrastructure-as-code, and autonomation, my firm will cease trading.
To be certain, our products are also finding increasingly lucrative markets and I have learned who needs IT solutions and who has managerial or other issues when dealing with clients. For instance, one of the non-profits we first worked with showed some tell-tale signs of needing top down revision before they could consider looking at their support infrastructure. Counselors hardly perform their work and barely record information and there is a significant communications issue, all of which they know they need to address. That pales in comparison to our established, grant winning partners.
While the insight helps, there is another lurking problem I have discovered among IT firms that limits growth and productivity. There is a serious culture problem failing to promote skill and often leading to a lack of will power to tackle serious issues. I may be speaking for Denver only but with 2/3 of my last salaried and contract positions showing signs of this strain, it is an issue.
This article addresses several of the key problems I have seen over the last 6 years that have led to my desperate attempt to turn my B-corp into a source of steady income. These are:
- leadership without knowledge or care
- failure in leadership to base decisions on actual results
- a bad hiring process leading to unskilled labor
- focusing on what looks good and not what makes good
- a fixation on things that are easy to learn instead of on skill
- a lack of will power from the resulting complexity
Not every organization I worked for, with the exception of one that I spent too long at, exhibited these traits. However, any one of them can kill growth or an entire firm.
The remainder of this article offers examples of these practices and their detrimental outcomes.
Quality comes from the top. Every program and test in QA and QC offers this essential knowledge. That means projecting values and enforcing middle management practices if you decide not to have a hands on approach. An open door policy that addresses issues is a must. Brushing things under the rug or simply firing complaining employees is not a good solution. Letting employees complain constantly and disrespect everyone while barely working as a glorified computer operator whose skill is eaten by his tools is another.
One of my recent contracts displayed a clear lack of capability in this regard. The leadership was absent, unwilling to make an attempt at understanding its field, and hardly presented clear objectives or goals. Decisions were simply based on a gut feeling with seemingly few objectives. There was no quality policy and an over-reliance on SAAS. Worse, there was no attempt made at actually understanding employee capabilities. The employees flying by the seat of their pants were more highly regarded because of their culture fit than the ones able to actually perform skilled tasks. This led to an extremely high turnover rate.
The result was a 16 person company doing the work of 4, 1/20 the number of clients, and a company whose employees complained constantly. While I do not condone sites like Kubuntu, the 1.9/5 quality rating from employees is a good indicator of how this company is performing. The mess being created will likely destroy this firm as they rely 100% on a few contacts from a previous life and continually fail to pick up new business. This is in part from a lack of understanding of the organizations issues and capabilities. As someone who would never pick up stock in a company like this based on the potential for failure, this company already seems doomed. Their revenue less than 1/7 than that of their nearest competitors. They offer much less.
A Gut Full of Fat
Fat can block useful processes in the body and cause heart failure. The same goes for a company. Over time, our biases preclude us from acting with reason. We often grow more irrational because we fail to see the truth and try to rely only on instinct. If that instinct is horrible from the start, that is another problem.
Again resorting back to the previous example. In this instance, the gut of my boss led to elaborate spending on SAAS, an absolute bias against building simple modular and healthy programs to do work, and an absolutely atrocious instinct leaving him to promote individuals who take years to do what my team or even myself were completing in a matter of 30 minutes in anywhere from 1-2 years.
The result is a doomed company as already stated.
Failing to Focus on the Necessary Systems
We all like things that look good but that can kill a company as quickly as bad instinct and a lack of care. Focusing on a website and neglecting the back-end is a true problem.
Consider another firm I worked for. Their focus on the front-end as priority led to a backend with hundreds of tickets per team, spaghetti code, and a lack of progress from highly skilled individuals. Failing to maintain basic software engineering principals is finding a company that would have grown to thousands of clients stuck at 200.
What needs to happen is a focus on the irreplaceable systems. Web frameworks are nice in that they are interchangeable. Pick one up today and you can exchange it for something better tomorrow. Your back-end needs to last and should take the same approach as creating a lasting framework. Good components are singular in mass and capable of great flexibility, scale, and expansion with ease. I have already cut enough costs out of the process following this method to have an entire development team and pay for our server resources for up to 200 clients. Tickets are solved in minutes with solid configuration and good code practices instead of needing to resolve 8 layers of abstraction while a client is threatening legal action on someone who just picked up your ticket and has only been with your company for 2 months.
Wrapped Up in Unskilled Fads and SAAS
On the whole, fads are way too popular. We are basing our idea of skill on something that erases skill. Not long ago it seemed that Docker was more valued than Python or being able to actually administer a system. The sad truth is that anyone with an IQ of 80 can probably learn Docker in 5-10 minutes well enough to deploy it in the field. I was deploying an entire test system in Docker in that time, building from no knowledge and creating a few scripts to run my growing distributed processing system built from the failures of the aforementioned companies. The same is true of ETL systems.
Now consider what being wrapped up in a fad does. It builds over-complexity and an unskilled labor force. Labor needs to be able to work with systems flexibly and interchangeably. Folks that are relevant for only one reason are a waste of resources. This is why here today, gone tomorrow is the new normal.
Consider the first example. This company hired individuals because they can work on Alteryx. This is an easy to learn tool, much easier then even Pentaho. However, these individuals cannot even program. I actually wrote an internal document on what an API was. This also left me explaining things as simple as escape characters, employees who looked at you without a clue as to how to perform a network request, and people taking weeks to learn basic regex. Regular expression can be learned on the fly with instant results. It also left me laughing, at home of course, about a mid-tier employee with no data skills who had difficulty understanding basic regression. This same employee decided to try working with a neural network, obviously not a math/CS background or even GS1550 capable person here, on extremely dirty data where it was impossible to even cover cases regarding names and addresses, the fill rate was so bad it was impossible to obtain an accurate model for predicting anything.
Obviously, the result is employees who could be replaced by a freshman in college or high school student with a few AP or community college courses under their belt. That hurts everyone. The other detriment besides a skills deficit was a reliance on $200000 of hardware and software where $45000 was required. The $45000 is the cost of the 2 Kahu bricks with storage and backup costs. Add the 12 extra employees doing less work at $50000 – $75000 and you start to see the problem. With 2 people running a similar number of employees, the inefficient company is running an over $800,000 deficit. As my own business picks up, this deficit will likely come down to $500,000 but that is not a small number.
Hiring on Likability Without Testing Skill
Hiring is an intimate process. It is expensive to have high turnover. People need to grow and develop at an organization. You need to make sure that they are capable of doing so.
Consider the individual who was not given a code test that would have led to him not being hired. He was improperly using loops, failing to understand XML and other forms of configuration, and generally 10-15 times slower than anyone else.
This one should be obvious. It leads to the same issues explained before.
Combining any of these factors creates overly complex systems that fail to achieve operational efficiency. It slows down work, creates a significant cost burden, and ultimately can lead to the downfall of an organization. It also reduces will power, reflected in complaints and the quality assessment scale.
When a system becomes overly complex, employee productivity shrinks. At eight levels of abstraction, a simple task is done and the employee leaves for quite some time. I have worked at firms where the level of stress generated by complexity led some workers to drink and smoke weed at work. Honestly, I blamed the system built on a lack of care. They were attempting, through capable yet busy hands, to monkey patch the system into something easier and more powerful but the damage being done is approaching irreversible.
These issues, summed up before, are severe hindrances to progress. They are also easy to overcome:
- rely on fact
- hire for generic capability, knowledge, and skill as much as cultural fit
- do not rely solely on your gut
- use software engineering principals
- analyze your company, find out what will need to be solid and what can be placed onto a framework, and use principals like modularity
- think before tackling a fad, do not get wrapped up in it as the concept is likely more important
- display quality leadership
Simple, yet way too often not performed.