Skip to main content

Chat GPT and our(dev) future

 There's a lot of hype and anxiety over large language models like Chat GPT. Companies are scrambling to come up with their next AI offering as soon as possible to counter GPT. I've been thinking about how it will affect us as engineers and our company in the near future and in the longer term. Please read what follows with a grain of salt, as this is my opinion only.

What is GPT capable of?

  • GPT is an intelligent chat bot backed by a language model which can answer your questions contextually and make it appear creative. 
  • It allows you to do your job faster. 

Will GPT help us get to MVP faster?

  • Maybe. It can write code but only in snippets. You're still responsible for gluing the code together. 
  • Today it’s a fast stack overflow. 

Will GPT replace you? 

  • Certainly not in the near term.
  • Software engineering is about communication. A stakeholder won’t be able to communicate with GPT and get an MVP. 
  • As an engineer, you don’t want a spaghetti code that you don't understand which was spewed by AI. You want code that you can understand, debug, and extend.
  • It can't analyze and debug your app today. 
  • Code written entirely by Chat GPT may not be coherent with your project style. 
  • GPT code may be hard to debug if you rely too heavily on it. 
  • GPT works at a lower level of abstraction. When using GPT, you need to know what to ask.

What GPT does is not new. 

  • We already have tools that write code for us, such as our compilers. They are smart and do amazing optimizations 
  • In the big data world we have tools that optimize our execution graph. 
  • It’s a model which is sold as a service. 

Is it coming for your job? Let's forecast 

1 year from now? 

  • Maybe we'll start seeing better and more capable bots integrated with our workflow tools. 
  • It may be a code quality gate that improves your code.
  • Developers will use it to refactor code, perform basic code actions, and they'll have some quick start examples.
  • Programming language will become less important. You'll be able to write as fast as you can. 
  • GPT will become a learning tool in schools and universities. 
  • Investors will start putting pressure on companies to get on board the AI ladder for better productivity.
  • Model as a service will introduced as a cloud offering. SaaS PaaS LaaS and MaaS (Model as a service) and companies will start buying subscriptions for their employees. Companies will also study effects of integration on productivity. 
  • A company which doesn't adapt may start feeling nervous about been left behind.

5 years from now? 

  • Chat GPT will replace Siri and Alexa.
  • You'll start seeing chat GPT becoming part of your OS, seamlessly integrating with your workflows. You'll be reduced to using a speech to text query converter aka a Prompt Engineer.
  • You'll see deeper integration with developer tools allowing you to spawn and build projects in matter of days. For example, bug tracking software. GPT will get to work, fix a few bugs, do product testing, reporting, and software release.
  • Most of the effort will go into verification of intended functionality.
  • GPT will become a smart linter that works with you while you code. It will recommend better code along the way. 
  • This will lead to demand in engineers who can write meta tools for Chat GPT. This, in turn, will make GPT learn about your processes and code. 

10 years from now?

  • Software development will become obsolete and be replaced by AI software managers and spec writers. 
  • People who can write precise queries (specification) for chat GPT will become valuable. 
  • Meta tools around GPT will get built allowing you to make interacting with the AI easier. It’s like low code for chat GPT. 
  • Chat GPT will be capable of building a product from scratch using just the problem statement. Product testers will verify the functionality, tweak as needed, and release. 

What are the risks for Chat GPT?

  • It learns from public code and is only as good as we are. 
  • It will never be adopted for mission-critical projects like space flight, medical, aviation, and defense. It'll be used only in enterprise world and gaming world 
  • It may be hit with lawsuits for data privacy protection.
  • There will be competing models from different companies.
  • Democratization of AI may lead you nowhere, since there is no monopoly. Everyone will stop considering it critical and see it as just a fancy toy.  
  • Or democratization could make using bots the norm for programming. It’ll be your smart auto-complete.

Conclusion 

While it remains to be seen if Chat GPT takes over the world, it's some great tech! Applications in places, such as the health care industry and justice system will be amazing. Creative content writing could be one application. Coding may or may not be as impactful. GPT cannot be creative with coding yet. 

My predictions could be completely bogus, and nothing like will happen. Instead, AI gets into another winter. Either way some major projects will have to succeed or fail for the market to decide its merit. 

In my opinion, the developer community should be open to embracing this GPT tech. We should use it to get productive instead of despising it. And remember: it cannot solve problems for which there is no known solution! 


References :

Positional encoding

Attention is all you need

Neural machine translation by jointly learning to align and translate

Comments

Popular posts from this blog

Command line tools for a happy life

Hello Readers! I'm back and better than ever with another article about developer productivity. I love the Terminal. After all that's where everything comes to an end.  Or begins. (Only nerds get that joke.)  Today I'm going to discuss four (yes, just 4 ) cool *nix tools , utilities that help you get things done faster once you integrate them into your workflow. tmux tree find ripgrep   tmux tmux is a multiplexor. Do you log in to remote servers using ssh clients, like ssh and/or putty? Do you have to spawn multiple of those just to get more done? Does that slow you down? Of course it does. Well, look no further.  Spawn one terminal and invoke the tmux . That's all you need! Spawn it with: $tmux  Note:  tmux may not be available by default. To install it, use your favorite package manager. This screen cast demos how to use tmux.    Tmux, click for demo tree tree provides a nice layout of the directory structure ...

Configuring VIM

Let's configure VIM In this post, we will look at the basics for configuring Vim. Vim has some reasonable defaults, but it is malleable, so you can shape it to your needs. Master craftsmen all have a favorite tool which is custom-made and tailored to their needs. That is what Vim is for writers and programmers.  Let's get down to business. Locate your configuration file. If you're using Vim ~/.vimrc in your home directory is the file you will use to configure Vim.  If you're using Neovim ~/.config/nvim/init.vim  in your home directory is the file you will use to configure Neovim.   The standard workflow is to edit the vimrc/init file, exit Vim, and launch it again so the configuration take effects. (Optionally, you could source the file in command mode.) If vimrc is open in your terminal, just enter the following command: so % . "so" is the shorter form for "source" and "%" refers to current buffer.  This configuration is the same for ...