LLMs are trained on public data, the limitation to grow is not the hardware or parameters but it is the quality of content that is available to further train the model. With these new tools, newer content will be generated at a pace that can’t be consumed easily by humans and we may need to use these tools again to summarise and create action items for us to follow. A new risk that has emerged is that we will be stuck in a content whirlpool where these tools create more content based on the content they had already created.

Photo by Q. Hu01b0ng Phu1ea1m on Pexels.com

This is similar to what many algorithmic feeds are doing to us already. You get thrown similar content that you have watched, songs that you have heard and articles that you have read. Those algorithms can be worked around by going private mode at least for that window so that the serendipity factor increases. The LLMs and similar tools in a way work from a same public data set, making them behave like coupled systems. The more self generated data they feed on the public domain the more synced they are. This is very similar to what is explained in Kuramoto model. When the underlying foundation is the same and more content generated is being added to the same foundation from different models, then models may begin to converge on what they can generate.

There are paths possible that this convergence does not happen. One is to start getting into personal and proprietary data which is out of the bounds of the models now. Who gets access to what will start getting to matter a lot, our personal data is a goldmine and will be monetised well. The other is to advance the technologies to start reason well with first principles and heuristics, this will require less magnitude of data and may be years away. So the first option to getting into private data is more of a possibility, entities with fiduciary responsibilities of data will be tempted to go for legal ways of monetising which can be loop holes that may not be in the best interest of a layperson.

Before more reasoning capabilities are built, it is better to live in the content whirlpool than feed the private lives to insane computing power of these models.

I come across a lot of people who proudly claim that “I am a process person” and say processes are nothing but practices that are standardised. With more and more people coming into software management after a 3 day course to claim themselves as a master in managing software development, the more cargo cult processes come to dominate the industry.

Processes are necessary and they bring a predictable output for a given set of static conditions. It is useful for working on predictable items like visa applications, pasteurising milk, preserving food, approving loans etc on a scale. Practices on the other hand deal with dynamic systems, it is like the race drivers going for a track sighting before the race or the chefs using only simple english to talk to their cooks. Practices are negotiable, it is backed with a value and intent and requires discipline to get it followed while processes are non negotiable and usually enforced through a compliance mechanism.

Photo by Ellie Burgin on Pexels.com

Processes are helpful as an abstraction, when the person following the process does not worry about what they are doing as long as they are compliant. A good example in the cooking space is the difference between a cook in a fast food chain’s kitchen vs a cook in a fine dining restaurant. The fast food chain cook will always set the oil temperature to the exact specified temperature, fry the pre cut potatoes (which were cut to certain specifications) for the exact amount of seconds prescribed and put it out on the plate. This can be done by cooks with zero knowledge of cooking (easy to train and staff), if something goes wrong or any step in the process has been missed, then you have run into a mess. If the potatoes are of a different cultivar, the production stops. There is no resilience but it is incredibly efficient.

On the contrary a cook in the fine dining restaurant may have a set of practices like waiting for the oil to come to near smoke point, test frying a piece of potato for tasting it, then adjusting the cut sizes if required to perfect the fry before serving the meal. There is so much of resilience but it is inefficient compared to the fast food chain. You also need very capable and knowledgeable people.

Both processes and practices have their respective places, it is trouble when people use it interchangeably in software development. Majority of the development related tasks need sound practices based by value and intent in place. If a practice is not feasible, replace with another which will help realise the value. If clean code has to be ensured, a process person will put a detailed code review process in place with hierarchy of responsibilities and often keep code under lock and key. A person who is keen on the intent and value of code reviews will come up with many different practices like integrating lint and static checks in IDE, pre commit and pre push hooks to catch obvious guideline deviations early, mob reviews once in a while and spot refactoring etc. Each of the practices are negotiable and interchangeable as long as the value and intent remains the same.

The fast food chain approach does not work for all aspects of software development. Processes expect many things to be static and developers need not know the big picture. Processes require work that can be broken down, carried without knowledge from other parts and can be assembled later. Instead in reality there is so much of interaction between broken down work and you need developers who are well skilled in both communication and technology to get the job done in a dynamic landscape, along with the big picture. Practices are not processes.

The sudden buzz in the AI field and the predictions of what it can do has been a storm in the recent days. The news which carried most of the weightage was about replacing jobs currently held by humans by AI. This is a general trend in the capitalist societies, because the ones who could try on new tech is the one with the access and control to capital, who can hire either tech or labour.

So the conversations are about how to create a cheaper present and save capital instead of dreaming up newer future with the advancements. What job does a new technology disrupt? Different technologies disrupted different jobs over time, generally the one that is disrupted has been a hard to learn skill. Before the emails, and messaging became ubiquitous; a career as a typist made a lot of sense. That job quickly became redundant with word processors giving formatting & correcting abilities which encouraged a lot of DIY.

I have a personal example when I was a billboard maker during my college days. We were reliant on artists for painting billboards and getting their time and negotiating the rates were quite difficult. Within a span of a year or two I witnessed computers becoming very cheap and desktop publishing becoming more common. All of a sudden we were able to DIY entire design in a PC, get feedback from customer and quickly iterate, deliver it in a record amount of time compared to hand painted billboards.

Photo by Pavel Danilyuk on Pexels.com

The crux of disruptions have always been DIY or cheap automation. If we see from that point of view, what executives are dreaming of a cheaper present in the software industry by replacing programmers with AI is not feasible, instead it is the other way around. Programmers are mere translators of business solution into what a computer can understand. Even with AI, executives won’t be having the patience or the skill to get the AI to understand and solve their business problems through technical solutions. Using AI will either become a higher order programming or augmentation to programming in the near term.

On the other hand AI will provide abilities of a CFO, CEO, COO and other executives in a cost effective, time efficient way to a board or a young inexperienced executive, who can compete so easily with veteran executives by teaming up with AI. It is this position that is under risk due to AI than the run of the mill programming jobs who just needs to skill up on how to team up with AI or equip AI. That is the new future we are heading towards.