Title: AI programming assistant is not going to take your job away , yet!
Dear toastmasters and friends,
I am a programmer, but I am aspired to be a good programmer. Please give me a show of hands, how many people in the audience are programmers too?
The biggest hurdle to become a good programmer is to know all the details of the programming language very well. Programming concepts, algorithms and maths are interesting and are fun to learn. Memorizing all the syntaxes is very difficult.
Here is the good news. The advent of AI programming assistant is at an inflection point.
Let’s take a step back and let me explain how I did my work before AI programming assistant.
1) I wrote all the code, line by line in one language, Python. When I was unsure how to use a package, I looked them up on the internet and discussion forums. When I debugged or fixed my program, I read through all my code very carefully, and checked its printed values against my answers. The progress was slow.
2) To debug harder issues, I searched online. Only in hindsight, I realized that many solutions on the forums were wrong. The process was very time consuming and frustrating.
3) For quality assurance, I prepared many test cases to verify that the program functioned properly. Writing the test cases was very tedious; I spent much time on writing test scenarios, expected answers, template codes and so on.
AI programming assistant has come to my rescue.
1) After incorporating an AI programming assistant in my workflow, I tell the assistant where to read my code, what tasks I need to do and how to do it. The assistant then comes up with a plan. After I approve the plan, the assistant follows my instruction, writing all the code and filling in the details. All in a few minutes. Even though the assistant does not write perfect code, I edit the code by chatting interactively. The time and effort saved are enormous.
2) When I need to understand a big software project, the AI assistant crawls on the internet and reads through the entire code, hundreds of thousands of lines. This is very useful for debugging as I need to understand where the problem lies, the first half of solving it. The second half is to have a solution. I ask the assistant to try out different approaches. Be CREATIVE. Try Approach A by writing the code and testing it out. If that fails, undo approach A, try approach B. This process is much more dynamic and fun.
3) last but not least, the assistant writes the test cases for me after I tell it what the test scenarios are, what to check against.
From being negligible, to noticeable and now indispensable, AI has come a long way in a short period of time.
The assistant is not taking away our jobs yet. Instead, the assistant has lifted the burden of programming and left the good stuff behind. I am more productive. I spend more time and effort on improving software architecture, experimentation, user’s experience, software reliability and security. Programming is becoming fun. It makes problem solving on computers enjoyable! So fun that I can’t wait to get back to the office. Let’s end here Goodbye!