I don’t think that a single “perfect” organizational structure exists. Every company has different needs and therefore has different talent requirements. Some team structures are flat, some are deep. No matter how you set up your technical team, if there are processes for shared ownership of your product, you can succeed.
However, there is one position that every company/team should prioritize: senior engineers.
No matter your industry, size, or tech stack, you need senior engineering leadership to guide your software products and internal processes. Without this senior leadership, unfortunate things can happen, some more damaging than others.
Here are some of the most common occurrences that can happen when you lack senior engineering leadership. …
Bootcamp is like a box of chocolate.
There’s the computer scientist who understands theory but can’t code. There’s the lifelong banker wanting a career change. There’s the fresh-faced 20-year old looking to work in big tech.
While these boot campers have a lot to offer, they typically lack some crucial skills too.
However, because software developers are scarce, companies need to learn to embrace these boot campers…with one caveat.
You need to have a strategic, organization-wide process for developing your boot camp developers into well-rounded, knowledgeable team members.
If you do this well, you should get a nice return in the form of diverse team members, industry-specific knowledge, and improved retention rates. …
Alongside the stress and complexity of a changing economy are some exciting software development trends to look forward to. I predict the following will shape technology, how it’s developed, and how it’s used.
Here are some of the biggest software and tech trends and how you can leverage them in your 2021 strategy.
Your iPhone has more computing power than the 1969 computer that sent astronauts to the moon. This means that you can store more power, capacity, and data on smaller devices. It also means less reliance on sketchy network connections and slow data transfers.
Instant and real-time information, where people and machines can use it to make decisions quickly: this is edge computing. Think heart monitors, autonomous vehicles, and remote applications. …
When something as disruptive as a pandemic happens in a year, buying and consumer trends will shift, many permanently. Between lack of confidence in the markets and a record-high unemployment rate, people have held their money closer to their chests.
This is not to suggest we can’t still earn their business, but perhaps that we should work differently for it.
B2B vs. B2C: While companies and individuals spend their money on wildly different things, trends typically run parallel to one another. …
Technology companies and other organizations can face a number of realities throughout their lifespans.
Unfortunately, COVID has unleashed each of these realities at once. And while they’re widely out of your control, there are some things you can do to improve your position in the market. These things typically fall under one of these basic strategies.
There are many opportunities to increase revenue during a time of economic downturn, however, they all have their own set of challenges.
Reducing costs, on the other hand, is a bit more straightforward. …
Microservices have been everywhere for the past few years. YouTube is using them. Facebook is using them.
But should you use them?
Spoiler alert: Microservices probably isn’t the best solution for your cloud architecture. In this article, we’ll explain why.
Let’s start with the basics.
The two most popular paradigms are monolithic architectures or microservice architectures.
For years, a monolithic architecture has been a dependable way to compose systems. These systems have multiple components all under the same service. They leverage internal libraries and don’t require much network activity.
The other, newer, sexier option is microservices. Rather than a single service, microservices have many components, each with its own specific process. Each component has distinct lines of responsibility and is separated from one another. …
Since the mainframe computer in the 1970s, computing power has grown exponentially, doubling processing power while halving costs every year.
While server farms and data warehouses were once thought to be the final solution for speed and capacity, the pendulum is swinging back to an old-school-esque network of devices.
If you look at the evolution of computing, it’s easy to understand how cloud computing swung the pendulum from powerful devices to powerful networks. Entire business models have been built on the concept of offsite storage and fast networks e.g., …
Organizations today have larger business expenses than ever before. Security, data, tools, hardware, and development costs have all ballooned due to consumer preferences, regulations, and external risks.
It’s not hard to understand why a business would cut some of these costs by outsourcing development to an offshore company.
However, there are unseen risks associated with offshore companies that have their own set of expenses, so there are many things to consider.
Now a disclaimer: I am CTO at an onshore software development company, so naturally, I believe that onshore development almost always gives you a better product.
That being said, for some companies, it absolutely makes sense to hire an offshore development company. If that’s you, I understand (I have even been known to recommend offshore development when it makes sense). But it’s important to know what kind of tradeoffs you’ll be making in your offshore partnership. …
This past month, some of my engineering colleagues at a different company shared a perplexing experience.
They sat down at their remote setup, fired up their devices, and were met with an internal blockade. Their IT department had accidentally blocked the connection between their VPN and Amazon Web Services, rendering the team completely useless.
Rather than waiting around for an undisclosed amount of time, our friends took that snafu as an FU.
They took the day off.
This simple mistake likely cost the company tens of thousands of dollars in lost productivity.
Every time something like this (read: completely avoidable) happens, the leader of the IT team is sabotaging their entire company. …
Despite its precipitous rise in popularity, Kubernetes (also known as k8s) is a notoriously difficult concept to describe in non-technical terms. Any discussion of it relies on some knowledge of containerization, which itself is an extension of virtualization.
That’s a lot of multi-syllabic words to introduce at once, so let’s break all of that down.