I have over a decade of experience in the IT sector and enjoy its frequent new challenges. However, certain Agile methodologies are not my cup of tea, as I value independence and dislike the XP's two-heads-in-one-PC approach.
In 2023, as an IT Manager and AWS Architect, I faced significant roadblocks. Since the last year, I have dealt with the impact of the current economic conditions, which resulted in losing half of my team. Additionally, I struggled with an overwhelming influx of new projects and change requests while being unable to hire new coders due to a hiring freeze.
To not lose a crucial project, I had to roll up my sleeves and start coding one more time. However, this presented a new challenge as most of my experience was with .NET, which is not aligned with my current client expectations. This meant potential support challenges as none of my current team is familiar with the .NET ecosystem.
Over the past two years, I "wrote" complex Python scripts for AWS Lambda Functions. However, I relied heavily on adapting and reusing code from the internet as I had no prior experience with Python.
Caught between a rock and a hard place, I had to make a decision: take the risk of writing code in .NET, creating maintenance challenges, or learning Python in the blink of an eye. So, I surfed the web trying to find a tutorial for the first part, the SAP Hana integration, and I found what I needed:
The tutorial was written in Python and worked at the first shot. So, I had to take a leap of faith and start coding in Python. However, I didn't have time to learn it well or take a long Udemy training. What could I do?
As an early adopter of many techs, I have been using ChatGPT for the last few months daily for a variety of topics:
I have even created videos and given workshops on how you can integrate the OpenAI API with OutSystems, and I'm even building Chatbots that are integrated with voice recognition.
But the key difference between my previous and the new interactions, I used to ask questions about topics I was already familiar with. For example:
In this new scenario, I began to use ChatGPT as my Copilot and start asking questions like:
I have a crazy insert in SQL Server using Python. How can I optimize it and do it in batches of 500 rows maybe? My main challenge until I get the list of rows that come from SAP, I cannot know the total number.
ChatGPT Discussion 1
Or others like this:
How can I change in this Python script the '' into an SQL NULL?for row in rows:row_list = list(row) # Convert the tuple to a listfor i in range(len(row_list)):if row_list[i] is None:row_list[i] = '' # Change None to ''else:row_list[i] = row_list[i] # Convert value to string
ChatGPT Discussion 2
I agree that the provided code was a little bit tricky to integrate. I had no prior experience, but little by little, I went further into deeper conversations. I could even ask questions about my integration errors. Later on, I started asking about the best libraries for solving X or Y topics or even how to create Docker files:
ChatGPT Discussion 3
And chat by chat, I began to solve one challenge at a time. From time to time, I shared with ChatGPT non-critical or modified pieces of my code to discover what I had done wrong. ChatGPT could provide hints and point out my mistakes' locations only by analyzing the error logs I shared. All this allowed me to create an MVP faster than I thought. Proving to my client that we were the right team to get their business done.
You might be wondering, but everything seems too perfect to be true, didn't you face many issues? Of course, I did. I tested several pieces of code, and they didn't work at all. I had to check and try to understand its logic. Based on my new input, I asked new questions until I fixed them.
ChatGPT Error 1
ChatGPT Error 2
However, I don't regret the experience at all. On the contrary, I began to teach my current team how to use ChatGPT and Bing Chat. I want that they use the best tools and profit the most from them. It increases everybody's productivity. But it's true, it was challenging for everyone, in the beginning, to understand how to use it well. Now, they are relatively comfortable having their Copilot.
In a way, I can define my "relationship" with ChatGPT as my perfect XP partner. It's like both of us are coding with a common goal: solving complex challenges quickly. You can define it as two heads are better than one.
So, did ChatGPT save my new project? Indeed, it did. I have built a robust and secure app that supports dynamic SAP and SQL queries, including several configurations on-demand.
I cannot deny that my background as a seasoned software developer allowed me to know what I needed. I was able to tweak the auto-generated code without exposing corporate secrets. As a result, the entire solution was built in record time, less than a month.
If I can give you a couple of extra pieces of advice to be more productive:
- Avoid having everything in one conversation. If you do that, ChatGPT will get confused. I agree with the current Bing Chat limit of 20 replies max.
- Split the topics you want to solve. If you have questions about SAP, PostgreSQL, or cat breeds, avoid asking about Docker or cars in the same conversation. Focus on one topic at a time.
Hopefully, I opened your eye to new possibilities. It's your turn to be empowered by ChatGPT and reach new highs!