My Experience of using ChatGPT

Despite lacking prior knowledge of the Kotlin programming language or android development framework, I successfully harnessed the capabilities of ChatGPT to autonomously build this application.

Design

While an experienced mobile developer might have completed the task in a day, my aim was to demonstrate the feasibility of relying solely on ChatGPT to build the app, showcasing the potential for anyone to learn and acquire new skills.

Here are steps to guide those interested in undertaking a similar endeavor: (*Disclaimer - I used ChatGPT 3.5 Free version, i guess the latest models may perform more effectively. Additionally I haven't got a chance to try co-pilot yet so probably some of these things i mention here should be possible in IDE copilots)

Step 1: Choose a task related to your current job or personal life to maintain motivation towards completion. Random tasks may lead to loss of interest. The best tools to build are the ones that you will or can use in your day to day life (personal or professional).

Step 2: Engage in a conversation with ChatGPT about your intent, expanding on the dialogue as if communicating with a human. Keep asking questions until you develop a clear idea, then proceed to design, as illustrated in the architecture diagram prepared before initiating development.

Step 3: Before coding, supplement your knowledge by exploring YouTube videos or Udemy content. I started from scratch with Android Studio and the basics of the Kotlin programming language, watching relevant videos for a preliminary understanding of the development process.

Step 4: ChatGPT provides entire code segments for your requirements, use them directly without fully understanding the syntax. However, as you progress, you'll gain an understanding of how the code operates but be cautious of certain pitfalls:

- Code Effectiveness: On some occasions, ChatGPT provided functional but less-than-ideal code. For instance, the code for the scanner did not work due to deprecated dependencies. With additional tweaks based on YouTube tutorials and stack overflow, I was able to overcome the issues.

- Effective Prompt: I cannot emphasize enough, the importance of writing good prompts. Be mindful that ChatGPT's code is only as good as the prompt. Use specific file and variable names for relevant questions during the coding process, allowing for easy integration into your code. Don't just copy blindly, read the responses carefully and if needed tweak the prompt iteratively.

- Refactoring: After completing a segment of functionality and testing it, return the code to ChatGPT and ask for a refactoring. This iterative process, while building, ensures continuous improvement. This was probably the most important step of the exercise. Refactor as you go along otherwise you may have a working code but it will not be very effective.

- Alternative Solutions: Ask for alternative code snippets by providing context for better solutions, resulting in more efficient code., ChatGPT will give you better code if you ask for it. You just need to provide more context like better performance etc in your prompt. So keep on refactoring the code to improve it as you go along.

- Debugging: While ChatGPT is proficient at fixing mistakes, don't rely solely on it. It's advisable to verify solutions on platforms like Stack Overflow for a comprehensive understanding. On multiple occasions, i felt ChatGPT went into a loop giving me same answers in different way without really solving my problem and i had to look it up on Stack Overflow to eventually solve it

- Patience: Take your time to thoroughly read ChatGPT's responses, avoiding rushed decisions.

Its funny that interview questions ask syntax related questions, in the world of AI, you don't need to know syntax or programming language, you only need good creativity ,logical reasoning and good programming ethos and how to best use generative AI with tools like ChatGPT, BARD, Copilots etc . Happy programming in the world of AI. If i am interviewing a candidate, i am sure that would be my first preference.

Navin Mathurawala

Lead Consultant Specialist at HSBC | AWS Cloud | K8s | API Architecture | Spring | Spring Boot

8 个月

Truly Inspirational

Vipul Patil

Sr. Engineering Manager at Hsbc Global Technologies Private Limited

8 个月

Good article Uday ?? . Will definitely try out one use case of mine .

要查看或添加评论,请登录

Udaya Narayan的更多文章

  • The wave of layoffs !!

    The wave of layoffs !!

    So there goes another round of layoffs..

  • ChatGPT and Beyond

    ChatGPT and Beyond

    I am sure by now everyone is aware of ChatGPT, the new big thing that has got Google worried and Microsoft happy. I…

    6 条评论
  • Will machines take over??

    Will machines take over??

    Preface Is it really possible to achieve "Singularity" in Artificial Intelligence? This subject that has garnered a lot…

社区洞察

其他会员也浏览了