Hey you all!
Itβs Josep here again!
Sorry for the 2 weeks disconnection, Iβve had some time on my own!
But Iβm fully back to my weekly issues π
Today, I'm writing from Pamplona. I'm visiting friends and enjoying the famous Sanfermines festival.
The most important news of the week?
Last Tuesday I launched together with my dearest friend Andrea Valenzuela a Webinar for DataCamp called βFine-tuning Open Source LLMs with Mistralβ. You can watch it now on Youtubeππ»
Another important event?
Today at 10pm (GMT+2) Iβm having an X Space about SQL with some other great data content creators.
ππ» You can set your reminder here. Iβd love to e-meet you all in there! π
After catching up with my life, letβs move to the important stuff π¨π»βπ»
Today, I want to dive deep into AI and its impact on our professions, both now and in the future.
We are all fascinated by AI and how it is transforming our world.
However, it's important to remember thatβ¦
AI won't replace you, rather, someone who knows how to use AI will.
Thatβs why today I want to briefly recap how AI is revolutionizing the programming landscape.
Since the launch of OpenAI's ChatGPT, both beginners and experienced developers have found powerful tools to simplify and enhance the coding process.
AI-powered chatbots like ChatGPT and Gemini are transforming how developers solve complex problems and learn new technologies.
For example, Ammaar Reshi created a Gluttony game entirely using GPT-4, and his demo video gained over 3 million impressions!!! You can check it out here.
AI programming tools have come a long way, evolving from simple code completion to generating code based on natural language instructions, as seen with GitHub Copilot.
These advancements make coding accessible not just for developers but also for those without any coding experience.
So let's explore the main changes we can expect in the coming years.
#1. Bridging the Knowledge Gap
AI is democratizing programming knowledge. Whether you're a seasoned developer or a beginner, ChatGPT and other AI-based tools provide accessible information.
According to last yearβs StackOverflow survey, 83% of respondents use ChatGPT daily (83% for professional developers and 85% for learners).
Why?
Mainly because ChatGPT offers clear explanations, code snippets, and step-by-step guides, acting as a personalized teacher.
This instant accessibility reduces barriers for beginners and boosts the learning speed for experienced programmers.
#2. Enhancing Code Quality and Efficiency
Writing clean, efficient, and bug-free code remains a challenge. AI-powered tools like ChatGPT can suggest best practices, offer code reviews, and generate code snippets that adhere to industry standards.
Imagine needing a quick function to parse JSON data in Python. It can be time-consuming (and boring) to generate one from scratch. Now, ChatGPT can generate this for you with a simple input.
Does this mean these AI-powered tools will substitute us as a coder? Absolutely not!
Think of AI tools like calculators. In the past, people did calculations manually, but now we rely on computers and calculators. Yet, we remain the thinkers behind these calculations.
While tools like ChatGPT may not generate perfect code, they streamline the coding process by generating templates and base code.
And we still remain the masterminds behind this process. At least for the coming years.
Tools like GitHub Copilot, used by nearly 80% of developers daily, enhance the coding process, making AI tools invaluable in modern software development.
#3. Facilitating Collaboration and Communication
Programming often requires collaboration and clear communication. ChatGPT and AI-powered tools can generate documentation, craft useful code comments, and translate technical terms into easy-to-understand language for non-technical colleagues.
For instance, when working on a project with a remote team, ChatGPT can draft comprehensive documentation, ensuring everyone is on the same page.
AI tools integrated into platforms like Teams or Slack can also take meeting notes, enhancing team productivity and ensuring consistent communication.
Automatic notes during meetings will be the next revolution in teamwork.
#4. Automating Repetitive Tasks
Repetitive tasks can drain creativity and productivity. ChatGPT and AI-powered tools can automate many of these tasks, allowing developers to focus on more complex aspects of their projects.
This includes generating boilerplate code and setting up project templates.
For example, setting up a new project often involves creating directories, initializing version control, setting up a virtual environment, and installing dependencies. ChatGPT can automate these steps, saving time and reducing human error.
And this is all for today!
β οΈ If you have any doubt or need some guidance, answer this mail or contact me via any of my social networks. Iβll be more than happy to help! π
Are you still here? π§
ππ» I want this newsletter to be useful for everyone, soβ¦
Let me know any preference for future content.
If you have any suggestions or preferences for the newsletter to be more useful, feel free to let me know!
My latest articles π
How ChatGPT is Changing the Face of Programming in KDnuggets.
The Complete Guide to Data Warehousing on GCP with BigQuery in DataCamp
Want to get more of my content? ππ»ββοΈ
Reach me on:
I think Claude is the best for assisting in programming, and I've been using it for a year and a half.
Currently, AI tools like Copilot and Tabnine for programmers can at most elevate an ordinary programmer to an intermediate level, and that too for only certain programming languages!
In other words: Ordinary Programmer + Programming AI = Intermediate Programmer!
Therefore, to eliminate programmers using programming AI, it needs to be updated step by step.
Current state: Ordinary Programmer + Programming AI = Intermediate Programmer (for some languages) (2024)
Transition Period 1: Ordinary Programmer + Programming AI = Intermediate Programmer (for all languages) (2026)
Transition Period 2: Intermediate Programmer + Programming AI = Advanced Programmer (for all languages) (2028)
Transition Period 3: Ordinary Programmer + Programming AI = Advanced Programmer (for all languages) (2030)
Future: Layperson + Programming AI = Advanced Programmer (for all languages) (2034)
By achieving these updates in a perfect evolutionary process within a decade, programming AI will have essentially replaced "programmers."
AI will replace development teams, as well as testing, operations, and product teams! In short, it will take ten years to outsource project development to AI teams.
Thus, AI replacing programmers only means outsourcing their work to AI teams.
It doesn't fundamentally eliminate programmers, nor can it, because updating the codebase for programming AI still requires programmers.
Previously, programmers needed to continually improve code quality and programming skills; now they also need to proficiently use programming AI.
Many professional programmers are already using AI tools to enhance efficiency!
They can complete the work of an entire team alone, effectively doubling their salary!
This also gives them free time to focus on researching high-quality code. Of course, the premise is knowing good programming AI tools and how to use them well!
In this era of significant changes in work methods, knowing more AI tools and using them proficiently gives you an edge and prevents you from being left behind by the times!
This has been my experience too: "While tools like ChatGPT may not generate perfect code, they streamline the coding process by generating templates and base code."
They certainly make life easier, but for more complex tasks, its imperative to understand what's happening behind the scenes to be able to spot issues.
Great article Josep!