Category Archives: Artificial Intelligence

Why few developers will make multi-millions but most will see their salaries flatten

This week on the app Blind there were several discussions about salaries. Specifically if technology engineer salaries have peaked.

Blind App

Google, Meta and Microsoft in particular, and some other companies in the valley, were known to pay over $1 Million for senior developers. In 2019, Google had 21 engineers making over a million and that number has most certainly gone up since. Similarly Facebook was known to have over 25 engineers making salaries over a million dollars (outside of stock RSUs and options).

To be fair, in the valley, a million dollars is a lot, but not unusual.

The discussion on Blind, the anonymous networking app, was if mid-level and senior engineers will no longer see $500K – $1M salaries without becoming Directors or VPs.

There are 3 trends to consider before I came to the conclusion that software development salaries will become more like Hollywood or professional sports salaries.

Few people at the top make a lot of money, while most B list actors make decent, but not more than the median income.

  1. With the flattening of the organization, Meta & others are seeking to be more like Amazon where there are certain metrics on span of control and ownership – minimum 6 people reporting to a manager and Directors should have at least 6-8 managers, which means their organization would be 50 – 100 people minimum. This means more developers per manager, and with AI, this will likely go higher, not lower (the number of developers reporting to an engineering manager will increase is my point).

2. The use of Artificial intelligence tools such as CoPilot and Tabnine will reduce the number of developers needed, as AI increasingly does a lot of the basic code output. This means a 10X developer will have to make 10X more than the average. If the average developer makes $150K, it makes sense for the 10X developer to make more than a million dollars.

3. 90% of the skills developers possess will become worth a tenth (e.g. actual writing of code that is reusable), but 10% of their skills (e.g. communicating with users and rapid iteration) will become more 10X more valuable.

Given these 3 trends, I predict that most developers will see their salaries remain same ($150K or so in the US as the median), but there will be far fewer developers in each team & organization.

At the same time a 1or 2 developers in each team or organization will make $1 million or more, even though they are not the manager.

Poll by Zigantic

In the poll yesterday by Zigantic, over 40% of developer (n=1362) expected their salaries to go dramatically lower. Which I dont think will happen.

While I understand the fear developers have, that’s not what I think is the way CEO’s and managers think. To prevent loss of morale, they will just hire fewer developers and make the current developers do more with AI.

AI is already reducing the number of software developers needed

I have a network of about a thousand entrepreneurs, founders, and small business owners who read my blog posts daily of the 114K subscribers to this blog. I get a chance to ask them questions and poll them once a month or sometimes more often.

Over the last few months as part of a project, I have been polling them frequently and asking them about AI and the impact at work. Most of these are software entrepreneurs (a smaller number are eCommerce founders).

The poll I conducted yesterday was:

“Are you reducing the number of people you hire because of ChatGPT, generative AI and other LLM – Large Language Models”?

– generated many emails and a few phone conversations.

One particular example was telling which a friend related to me yesterday.

The company has 10 people, 8 of them are developers. The CEO of the company provided subscriptions to ChatGPT ($20 / month) and GitHub Copilot ($19 / month) to all the developers and mentioned that he won’t hire for another year and instead the developers could use the AI tools to do their job.

  1. The CEO is happy since he hired one fewer person
  2. The employees were happy since they are getting a chance to use new tools (AI prompt engineering looks good on the resume now).
  3. The HR person is happy since they don’t have to hire and train, onboard, and recruit a new person

All around goodness.

AI is already starting to reduce the number of jobs. It is just doing it a little slowly.

Software entrepreneur prompt NightCafe AI generated

AI prompting = training a smart, new hire

There are many hustle bros on social media who will tell you that they have the secret “prompts” and that you are doing it all wrong. To get their secret prompts you have to attend their “course” or pay them for their “prompt guidebook”.

I don’t think most people need prompt engineering courses. Yes, it takes time, and may be tricky initially, but it will get easier over time.

The mental model that works for me is to think of using ChatGPT (and other LLM) is to assume you have a new hire, who is very smart, but has only learned “off the books”.

Created with Nightcafe. Prompt: Smart new hire

You have to train the new hire over time to understand your questions, the way you work and what you are looking for.

  1. Start with generic questions that are open-ended first, and then narrowing down to specific details helps. e.g. Tell me about the apprenticeship market in the US
  2. Provide context: Narrow down the overview with some guardrails on what you want more off or even what you want less of. e.g. Tell me more about the BOL programs that support apprenticeship and government assistance.
  3. Refine your prompt with nuances to help to direct the question. e.g. How many apprenticeship programs are registered and which job roles are the most at need of them.

Epilogue: I used Nightcafe studio to create the image above, with the prompt – Smart new hire. I am still figuring out AI bias and don’t know enough. I am a little concerned however and have a few questions.

  1. It assumed I meant good looking smart blonde woman
  2. Why did it not pick a person of color by default?
  3. Is this the visual representation of “smart”?

AgentGPT, BabyGPT and AutoGPT – what is the difference?

These are semi-autonomous “agents”, which can be given high level goals – “make a website for selling books online”. These agents can figure out the high level tasks, such as front-end HTML site development, payment integration, backend database, etc. and execute each of the tasks and subtasks.

They are all the same (at a high level), using recursive mechanisms to help GPT create prompts for GPT (so meta). Which means the tasks GPT outputs, now become prompts for the next task – in an automated way.

AgentGPT

AgentGPT is a platform that allows you to configure and deploy autonomous AI agents. You can name your own custom AI and have it embark on any goal imaginable. It will attempt to reach the goal by thinking of tasks to do, executing them, and learning from the results.

AgentGPT is on GitHub

AgentGPT is currently in beta, but it has the potential to be a powerful tool for a variety of tasks, such as:

  • Customer service: AgentGPT can be used to answer customer questions, provide support, and resolve issues.
  • Sales and marketing: AgentGPT can be used to generate leads, qualify prospects, and close deals.
  • Content creation: AgentGPT can be used to write articles, blog posts, and other content.
  • Research and development: AgentGPT can be used to explore new ideas, generate hypotheses, and conduct experiments.
  • Education: AgentGPT can be used to create personalized learning experiences, provide feedback, and answer student questions.

AgentGPT is still under development, but it has the potential to revolutionize the way we interact with computers. By allowing us to create autonomous AI agents, AgentGPT gives us the power to automate tasks, solve problems, and explore new possibilities.

Here are some of the features of AgentGPT:

  • Customizable: You can create your own custom AI agents with different skills and capabilities.
  • Autonomous: AgentGPT agents can think for themselves and learn from their experiences.
  • Extensible: AgentGPT agents can be extended with new capabilities using plugins and scripts.
  • Scalable: AgentGPT agents can be scaled to handle large volumes of data and requests.

AutoGPT

AutoGPT is an open-source application that uses OpenAI’s GPT-4 language model to perform autonomous tasks. It was created by Toran Bruce Richards, a game developer and AI researcher.

AutoGPT on GitHub

AutoGPT can be used to automate a wide variety of tasks, including:

  • Web scraping
  • Data analysis
  • Natural language processing
  • Image recognition
  • Code generation

AutoGPT is still under development, but it has the potential to be a powerful tool for a variety of applications. For example, it could be used to automate tasks in customer service, sales, marketing, research, and development.

Here are some of the features of AutoGPT:

  • Autonomous: AutoGPT can think for itself and learn from its experiences.
  • Extensible: AutoGPT can be extended with new capabilities using plugins and scripts.
  • Scalable: AutoGPT can be scaled to handle large volumes of data and requests.

BabyAGI

BabyAGI (or BASI) is an autonomous and self-improving agent, built on top of OpenAI’s GPT-3.5 or GPT-4 language model. It is a Python script that takes an objective and a task as input and attempts to complete the task. It can also create new tasks and re-prioritize the task list based on the objective and the results of previous tasks.

Baby AGI

BabyAGI is still in development, but it has the potential to be a powerful tool for automating tasks and solving problems. It is also a good example of how LLMs can be used to create autonomous agents.

Here are some of the things that BabyAGI can do:

  • It can solve simple math problems.
  • It can translate languages.
  • It can write different kinds of creative content.
  • It can answer your questions in an informative way.
  • It can generate different creative text formats of text content, like poems, code, scripts, musical pieces, email, letters, etc.
  • It can follow your instructions and complete your requests thoughtfully.
  • It can use its knowledge to answer your questions in a comprehensive and informative way, even if they are open ended, challenging, or strange.

BabyAGI is still under development, but it has the potential to be a powerful tool for automating tasks and solving problems. It is also a good example of how LLMs can be used to create autonomous agents.

An introduction to Vector databases

In this post I will try to answer the questions:

  • What is a vector database?
  • Why use a vector database?
  • What are the benefits of using a vector database?
  • Types of Vector databases
  • How to choose a vector database
  • Use cases for vector databases

What is a vector database?

Vectors are mathematical representations of features or attributes. Each vector has a certain number of dimensions, which can range from tens to thousands, depending on the complexity and granularity of the data.

A vector database is a type of database that stores data as high-dimensional vectors.

Why use a vector database?

There are several reasons why you might want to use a vector database, including:

  • To store and manage large amounts of unstructured data.
  • To perform similarity searches on large amounts of data.
  • To build machine learning models.
  • To improve the performance of your applications.

What are the benefits of using a vector database?

There are many benefits to using a vector database, including:

  • High performance: Vector databases are designed to perform similarity searches on large amounts of data quickly and efficiently.
  • Scalability: Vector databases can be scaled horizontally to handle large amounts of data.
  • Flexibility: Vector databases can store and manage a variety of data types, including text, images, and audio.
  • Ease of use: Vector databases are easy to use and manage, even for users with limited database experience.

Types of vector databases

There are many different types of vector databases available, each with its own strengths and weaknesses. Some of the most popular vector databases include:

  • Milvus: Milvus is a vector database developed by Tencent AI Lab. It is designed for high-performance similarity search on large-scale vector data.
  • Pinecone: Pinecone is a vector database developed by PineconeDB. It is designed for storing and managing large amounts of unstructured data.
  • Vespa: Vespa is a vector database developed by Yahoo!. It is designed for high-performance search and analytics on large-scale text data.
  • Weaviate: Weaviate is a vector database developed by Weaviate. It is designed for storing and managing large amounts of vector data.
  • Vald: Vald is a vector database developed by MemSQL. It is designed for high-performance search and analytics on large-scale data.
  • Gsi: Gsi is a vector database developed by Google AI. It is designed for storing and managing large amounts of vector data.

How to choose a vector database

When choosing a vector database, there are a number of factors to consider, such as:

  • The size and type of data you need to store: Some vector databases are better suited for storing large amounts of data, while others are better suited for storing smaller amounts of data. Some vector databases are better suited for storing text data, while others are better suited for storing images or audio data.
  • The features and functionality you need: Some vector databases offer more features and functionality than others. For example, some vector databases allow you to build machine learning models, while others do not.
  • Your budget: Vector databases can range in price from free to thousands of dollars per month. It is important to choose a vector database that fits your budget.

Use cases for vector databases

Vector databases can be used for a wide variety of applications, including:

  • Image search: Vector databases can be used to build image search engines that can find similar images based on their visual content.
  • Product recommendations: Vector databases can be used to build product recommendation engines that can recommend products to users based on their past purchases and interests.
  • Text classification: Vector databases can be used to classify text documents into different categories, such as news, sports, or finance.
  • Natural language processing: Vector databases can be used to perform natural language processing tasks, such as sentiment analysis and machine translation.
  • Fraud detection: Vector databases can be used to detect fraud by identifying patterns of suspicious activity.
  • Drug discovery: Vector databases can be used to discover new drugs by identifying patterns in biological data.

Conclusion

Vector databases are a powerful new technology that can be used to store, manage, and search large amounts of unstructured data. If you are looking for a database that can handle the challenges of modern data, then a vector database is a great option.

AutoGPT – take a BS generator and put it on steroids

GoalGPT from Nando.AI is an absolute waste of time, please dont spend your time on this.

The latest craze of the AI “experts” is AutoGPT. AutoGPT is an open-source application that uses OpenAI’s large language model, GPT-4, to automate the execution of multi-step projects.

AutoGPT works by chaining together LLM “thoughts”, to autonomously achieve whatever goal you set. For example, you can tell AutoGPT what you want the end goal to be and the application will self-produce every prompt necessary to complete the task.

An example of one is GoalGPT by Nando, which I tried and is absolutely useless.

If you know how to ask the right questions (Prompts) you can get some good information from ChatGPT. But with GoalGPT you provide it with some high-level task and it generates cliched nonsense you will find in most content-farmed blogs.

Here’s an example.

The prompt: Create a new business focused on selling courses online with $100.

The response:

📝 Task 1: Develop a website for the business with an easy to use platform and interface.
📝 Task 2: Establish one or more payment systems to handle transactions.
📝 Task 3: Create content and catalog courses that will be offered on the website.

Then it goes on to do what it wants to do anyway, which is those 3 tasks it set out for itself.

On the plus side it is fast. On the minus side – well, it sucks and does nothing that helps you do what you want it to do.