Monday, December 25, 2023

Cloud Computing: Confusion As A Service

All these fancy names in cloud computing—like IaaS, PaaS, CaaS, FaaS and more—can make your head spin. It seems like in tech, if you give something a name, you’re instantly seen as an expert. But do we really need to name every little thing?

Think about RESTful APIs for example — basically a method for apps/services to communicate with each other. But it's become this big thing with its own special name. Same goes for these cloud models. I’ve been using Google Cloud for years, deploying containers using GKE, creating Compute Engine instances, deploying GCP functions and never bothered by this jargon. To me, it’s just Google’s tools. Whether it’s machines or apps, I use what works without needing a glossary. This overload of cloud "models" feels like a barrier, like I’m supposed to be fluent in this secret language to belong.

Communication matters, sure but all these XaaS terms just create more confusion, especially when the lines between them blur in practice. I think the only practical approach is to understand what a cloud provider offers and use the cloud services that suit your needs without delving deep into the specific terminology. Let’s balance clarity and this unnecessary naming chaos.

The need for clear communication and the overwhelming proliferation of terms is contradictory and highlights a challenge in the tech industry. Finding a balance between naming things for clarity and avoiding unnecessary jargon is an ongoing struggle and is not helped by the competing companies making these terms into buzzwords and marketing tools, overshadowing their original purpose of facilitating understanding.

Isn't it strange? We say naming is hard and yet we name everything.

Thursday, December 21, 2023

The Missing Piece in Online Learning: The Power of Conversations

In the past, our educational journey revolved around classrooms, textbooks, and more importantly study groups. Remember those study groups where we'd stay back after class, discussing lessons, and learning from each other's perspectives? Those conversations were excellent—they made understanding complex ideas easier. Collaborative learning, bouncing ideas off each other, and discussing concepts were integral parts of truly grasping the depth of what we were taught. However, with the rise of online education and Massive Open Online Courses (MOOCs), the dynamics of learning have shifted.

Many have heralded online courses as a replacement for traditional education, boasting convenience and accessibility. Yet, amidst the wealth of information available at our fingertips, a crucial element seemed absent: the art of discussion, the back-and-forth exchange that fleshes out understanding. This is the reason why I find so many incomplete courses on my Coursera account.

Recently I tried another online course and felt that gap again. I wanted to chat with someone about the subject matter, but since it was online, I didn't have a study buddy. That's when I had a crazy idea: what if I used a chatbot like ChatGPT as my study partner?

Surprisingly, this experiment yielded remarkable results. Interacting with an AI, bouncing ideas, posing questions, and articulating thoughts seemed to fill the void of a missing study group. The experience wasn't just about finding answers; it was about fostering a deeper comprehension through conversation.

This unconventional approach raised intriguing questions about the evolving landscape of learning. Could AI companions supplement traditional study groups or serve as a bridge when physical collaboration isn't feasible? Does this mark the inception of a new paradigm in education?

While it's undeniable that the essence of in-person study groups and the camaraderie they foster shouldn't be replaced, the concept of utilizing AI as a study companion presents an intriguing opportunity. It offers a unique way to bridge gaps in learning, fostering deeper understanding, and enhancing the overall educational experience.

Integrating traditional study groups with AI companions might be the next step in learning. It's combining the charm of discussions with friends and using tech to deepen our understanding.

What's your take on this? Have you ever considered learning with an AI companion?

Sunday, January 22, 2023

Peopleware: Part Three - The Right People

Its important to hire right people. Managers often like to think that they can turn coal into a diamond but the reality is that they neither have enough leverage nor enough time to make people to change in any meaningful way. People will remain almost the same as they were on the first day of the job so it is important to hire and even more important to retain the right people.

You don't want to hire a juggler without actually looking at him/her juggle. Similarly when hiring developers, its important to see an example of their work. Asking them to bring a portfolio of their work on an interview shouldn't be a problem. When given opportunity people like to show their work.

Diversity in hiring has its benefits but they are not free. We should value the different ways of working, thinking and communicating diverse colleagues bring to the team but more diverse a team is, more effort will be required on the manager's part to get the team to jell together. If the team keeps chaning, adding or removing contractors, then it will never jell. 

The young workers today are built different. There are generational differences that need to be understood and accomodated. These young workers were born and raised in a world with phones, apps and other things that are continously trying to steal their attention. They have gotten used to splitting their attention and will tell you that they work best in such an environment but such continous partial attention doesn't work well in a creative thinking environment. It is opposite of the flow which is essential to getting meaningful work done. It stops them and others from getting into flow. It is important for their carreers for the manager to clearly articulate the contract to them. Such periods of continous partial attentions must be thought as personal time and should be reasonably limited during the work day. 

Retaining good people is even harder. The total immediate cost of replacing an employee is almost 6 months of wages but there is a hidden cost. In companies with very high turnover, people develop destructively short term view points. They are willing to sacrifice future for smaller immediate benefits. Employees are not willing to invest in long terms goals as they don't believe they will be around to see the benefits and the company is not willing to invest in its people as it doesn't believe they will be sticking around. In such companies no body, neither company nor the employee, is willing to take the long term view. In such companies the only way to retain good people is to promote them quickly. This results in a very top heavy organization chart where most of the people are "managers" and people actually doing the work are may be 20%. It is very disconcerting that in such organizations the people actually creating the producsts have very little experience as more experienced people are sitting in management. Young people may find the idea of a quick promotion to 1st level mangement good but from a corporate perspective, late promotion is a sign of health, it means people stick around. Such organizations create higher quality products as people actually working on the products have a lot of experience.

People leave a company for various reasons but three reasons account for most: 

  1. 1. Just passing through mentality.
  2. A feeling of disposability.
  3. Loyalty would be ludicrous (not sure about this one, not a reason in it self)

The insidious affect is that turnover engenders turnover. People leave quickly because company doesn't invest in its people and the company doesn't invest in its people because nobody sticks around. More important than why people leave is to understand why people stay. People stay because of the feeling of community. Because leaving a company doesn't just mean leaving your job, it means leaving some friends, leaving a community you enjoy being part of and with whom you have developed a bond. The best organization consciously try to be best. This gives people a common goal to achieve together and to bond around. It creates a sense of community. Some companies try to explicitly engender the sense of community. A common feature of companies with lowest turnover is retraining. Retraining helps build the mentality of permanence and strong sense of community. These companies are different. There is an energy and sense of belonging that is practically palpable.

The money spent in training or retraining people is not an expense, its an investment. An investment is when you trade one asset for another betting that the new asset will provide more value in the long run. Thinking of the human capital as a sunk expense causes managers to make decision that don't preserve the value of the organization's investment. Companies of knowledge workers need to understand that this human capital is their most valuable investment and matters the most.