Tech Reflections: Our Experience Building, Consulting, and Evolving in the Tech World
As observers and active participants in the tech industry, we've noticed certain patterns and trends emerging over time. Building several companies and a consultancy agency for technical software audits has given us a unique perspective on these patterns. In this article, we aim to share these insights, not as groundbreaking revelations or as original thoughts that we take credit for, but as common trends that have shaped our experiences and may resonate with yours. They serve to provide a little context and perhaps spark conversations that will help us all navigate this dynamic and ever-evolving industry better.
1. Dual Nature of Tech: Used for Good, and Potentially for Bad
Just as a knife can carve a beautiful sculpture or cause harm, technology too has a dual nature. We have often seen our creations used in ways we never anticipated. We aim to design for the "Happy path", the journey our ideal user takes. Yet, we've witnessed the surprising ways our technology can be exploited.
- Example: Our shock was when we first discovered some users employing our API for data scraping, a usage we never intended.
2. The First Technical Hand Shapes the Tech Stack
In our experience, the technology stack of a company significantly reflects the tastes and expertise of the first technical team member. They usually hold a sweeping decision-making power over the technological future of the organization.
- Example: We've seen entire companies built around PHP solely because the tech founder had a preference for PHP.
3. The Catch-22 of Migration Projects
Despite being laborious and often frustrating, migration projects are a recurring theme in many companies. We've noticed that they invariably take tenfold the time initially estimated and rarely contribute directly to the business's goals. Yet, we as an industry are often more inclined to adopt new tech rather than improving our current stack.
- Example: A migration project we once undertook led to a key developer leaving due to boredom and frustration.
4. Resistance Follows Every Major Tech Breakthrough
From our vantage point, we have seen that change, especially technological change, tends to incite fear. Each major tech advancement comes with its own resistance movement, often inciting apocalyptic concerns. Yet, we know all technologies are merely tools that can be used for both good and ill.
- Example: When we rolled out a substantial update incorporating artificial intelligence features, we were met with resistance from people concerned about potential infringements on their privacy..
5. Communication Trumps Individual Brilliance in a Team
Based on our journey building and working with various teams, we've found that a communicative and collaborative team of average engineers can outperform a non-communicative team of exceptional ones.
- Example: The most productive team we ever worked with was characterized by its communicative and collaborative spirit, rather than the individual genius of its members.
6. Product Teams Tend to Gravitate towards Immediate Goals
Product teams, comprising smart and ambitious people, often miss the bigger picture and focus on local goals. This myopic perspective can sometimes lead to choices detrimental to the company and its users.
- Example: We've seen product teams laser-focused on engagement metrics, inadvertently introducing features that ultimately harmed the company's reputation.
7. The Holy Wars of the Tech World
Although seen as super logical beings, engineers too have their irrational attachments. Debates around seemingly trivial topics like "tabs vs spaces" can turn heated, reflecting the passion and subjectivity in our industry.
- Example: In our experience, discussions about favorite text editors or programming languages can get as intense as debates over the best football teams.
8. Hiring Introduces New DNA into Your Company
We've noticed a fascinating pattern over time - when you hire someone from another company, you inevitably integrate some of that company's culture into your own. It's important to be aware of this to ensure you cultivate a diverse and unique culture.
- Example: After hiring several ex-Googlers, we noticed our company starting to adopt some Google-esque practices and values.
9. True Value Comes After the Initial Launch
The first version of a product is always celebrated, but we've realized over time that it's the iterations that follow that truly bring value to the customer. Many initial versions are rushed due to external pressures, and it's usually by version 1.0.3 that a product stabilizes and becomes genuinely beneficial.
- Example: We once launched a SaaS solution for customer relationship management, tailored specifically for small and medium enterprises. Although the initial launch was celebrated with much enthusiasm, the first version was primarily a 'Minimum Viable Product', not without its share of glitches. Our first few customers faced several issues, such as synchronization problems with third-party software and challenges in report generation. This is when we started learning from the users and the true value became clear.
10. Today’s Innovation, Tomorrow’s "Old Crap"
In tech, even the most innovative software can quickly become dated. We're all too familiar with the sentiment of looking at a decade-old software and wondering about the design choices. Remember, future generations might look at your cutting-edge software in the same light.
- Example: We once revamped a decade-old inventory management system for a client, moving from an older .NET framework to a modern Node.js and React stack. The aim was to enhance both user experience and developer maintainability. Despite the initial high investment of time and resources over a year, the benefits were substantial. However, by the time delivered the next release the framework used was already outdated once more.