In our third installment of the AI-focused series of articles (the previous ones can be found here: Coding assistants, Designer tools P.1 & P.2), we’re taking a look at that one service that everyone seems to know and talk about these days: ChatGPT!
Developed by OpenAI and trained on huge volumes of data, ChatGPT is a powerful text-generating tool that is capable of engaging in meaningful conversations and providing complete, human-like responses to different kinds of prompts. Ever since its launch in November’22, the chatbot has been blowing everyone’s mind with its ‘natural’ intelligence and unlimited skills, proving to be an amazing virtual assistant to writers, content creators, market research analysts – you name it.
Of course, just as any other AI-powered solution, ChatGPT isn’t completely foolproof and may come up with an answer that looks off in one way or another – a weird turn of phrase, some erroneous or outdated info, or a plain and simple “I don’t know”. However, once it’s understood the context and the kind of response you’re expecting – which can be achieved with some training (on both ends) and clearer, more explicit prompts – ChatGPT usually tends to provide just the right amount of details, in a format that you need to have them in. It can be a huge help if used correctly, and save you a lot of time on researching, compiling and analyzing multiple sources of information.
So, with all that in mind, how can you make ChatGPT work for you as a software engineer? Noveo developers are sharing their Top 5 practical tips:
1. Investigating different solutions
ChatGPT can be a nice alternative to search engines and programming-related forums: while clicking through Google search results or browsing StackOverflow may take you quite some time, the tool, on the other hand, will provide you with a relevant answer in a matter of several seconds. If you’re not looking for a summary but rather for some references, ChatGPT can also compile you a list of links and resources that may come in handy during your research.
“If there’s no acknowledged best practice around a particular issue, ChatGPT can write out the pros and cons of various approaches that already exist and thus help you make an informed decision.”
“I’ve pretty much stopped using any other services when looking for information – I just ask ChatGPT to give me directions for further exploration of the matter in question, and take it from there. It’s been a huge time saver for me.”
“If your question is on a simpler, more-researched side, ChatGPT will most likely give you a good, detailed response. On the other hand, if the issue is rather uncommon and non-obvious, the chatbot will quickly turn nonsensical – however, even in this case its line of (faulty) reasoning can push you towards an appropriate solution. Just remember to stay open-minded :)”
2. Learning something new
Although ChatGPT is nowhere near an actual human mentor or a teacher, it can still become a helpful study buddy. As alluded to in the previous point, it can curate a collection of books, videos, and other useful materials based on whatever subject you’d like to learn, and give you a nice and short introduction to any topic.
Moreover, ChatGPT can be used for self-testing: ask it a question about something you’ve learned, and try to form your own answer in parallel. It works even better if you recall everything you can out loud – without peeking at your notes or any other sources of information – and then check it against the response and examples provided by the service. By the way, the same technique can be applied when preparing for a job interview – after all, practice makes perfect, regardless of setting!
“I’ve started learning a new technology fairly recently, and I’m convinced that it would have taken me much longer to truly get into everything if it weren’t for ChatGPT. To be fair, the examples of code it gives me can be outdated in certain cases (which makes total sense considering its knowledge cut-off date), but it still helps to get the feel of the framework, its logic and general structure.”
“I like to use ChatGPT for training purposes. One day I may ask it to give me a list of questions for an interview, and the other I may actually feed it the existing Q&A scenario to check what kind of additional info I could include in my answers. It’s also a great tool for gathering numerous expert opinions in one place, without my having to manually search through both digital and physical publications.”
3. Working on test cases
When the majority of your time is dedicated to pure coding, switching over to testing tasks may prove to be quite a challenge. And – you’ve guessed it – that’s where ChatGPT can really come in clutch! Many a time, the most difficult part in this kind of work is not writing the implementation of a particular test but coming up with the test case itself, let alone a whole set of them. ChatGPT can do all the thinking for you – just let it analyze the portion of code in question, and adapt the generated contract to your project’s needs. Quick and easy!
“When you have, let’s say, over 50 UI components that you need to prepare tests for – the mere idea of ever completing the task seems absurd. I’ve always dreaded it because I was never sure whether I’d covered everything or not, what with various edge cases and all that. But with ChatGPT, it’s no longer an issue it once was – I can always get 5-7 test cases per component, and use those ideas as an inspiration to quickly write my own code.”
“I think many will agree with me on this: while you focus on identifying all possible edge cases, you tend to forget to check the most basic stuff; and when you prioritize the fundamentals, you’re likely to miss some less obvious things. In this sense, ChatGPT acts as a nice reminder, ‘Hey, there’s a button you haven’t clicked yet!’ If it could also come up with a correct, well-working implementation to go along with it, the tool’s value would honestly be immeasurable.”
4. Estimating projects and big tasks
Another thing ChatGPT can help you with is project estimation: for example, provided responses can serve as a handy reference for when you need to analyze, decompose and evaluate complex tasks.
Obviously, the numbers will differ from one team to another, but it’s still very useful to have some concrete assessment examples – not only in mind but in front of your eyes as well. And, once again, the tool will remind you of certain steps and/or possible risks that you might overlook when working on your own – in other words, you’ll have your estimation already pre-reviewed before submitting it to fellow humans for further revision and validation :)
“ChatGPT has become my actual assistant and everyday helper. Having explained the general context of the task to it – like, ‘You’re a React Native engineer with X years of experience, and need to develop a mobile app from scratch’ – I can ask it all sorts of questions, from estimating the length and cost of the entire project to decomposing hefty features and investigating different implementation options.”
“The key here is to not take the information ‘as is’ but to verify it against your own assumptions and first-hand knowledge. Like that, ChatGPT will turn into a great tool in your project analysis kit, enabling you to handle the investigation/estimation tasks much quicker, and to potentially save your teammates some time as well – all because you’ll feel more autonomous in making your own professional judgment.”
5. Translating technical documentation and forum discussions
And finally, ChatGPT can be used as a translation tool – alongside, or as an alternative to, such services as DeepL, Reverso, Linguee, and even good old Google Translate.
When you work in an international team, it may so happen that a portion of tickets, user stories and/or specification blocks will first reach you in their ‘initial’ form – for example, before they’ve been translated into English. Of course, in case you don’t speak the source language (or aren’t fluent enough), it’s usually best to wait for the ‘official’ translation from the author of the aforementioned text in order to avoid any misunderstandings.
Then again, time is a valuable resource, and ChatGPT can help you to save up on some of that by providing a quick and easy way of generating English versions of your project’s documents. Use them to get a general idea of what is expected – or better still, verify the translation with the person who created the task, and get down to work right away!
Also, as mentioned by quite a few of our developers, you may want to transform ChatGPT into your ‘translation pass’ – a key that will allow you to open the doors to a whole variety of programming forums. Although the majority of online discussions are held in English, there is, in fact, a lot of interesting cases and problems being explored in other languages, in local IT communities that aren’t necessarily small but rather hard to discover – that is, unless you type your search queries in those particular languages ;) Intrigued? Then make sure to carve out a couple of hours for pure experimenting and see what kind of hidden gems you may stumble upon – who knows, maybe the solution you’re looking for is right there, just explained in Japanese, German, Chinese, Spanish…
And there you go! These were our Top 5 tips on how to not only make ChatGPT work for you but have a bit of fun in the process as well :)
“If used correctly, AI-based tools can make your life so much easier – but remember, they aren’t there to do your job for you, they are there to serve as a source of inspiration and help you generate great ideas.” Couldn’t agree more!