Question 1: How do you work through being “stuck” on a problem?
When I’m stuck on a problem, I first try and take a step back and view the problem from the big picture angle to identify the root cause and not get caught up in the dealing with the symptoms of the problem. In addition to look at the big picture, I also try not to over simplify and look at the problem from multiple angles because there may have been a point of view or dimension I missed. If at this point I am still stuck, then I will try and come up with alternative solutions or seek help from a more experience subject matter expert. This is extremely important in my line of work where we are dealing with the art of the possible in short time frames. If you spend too much time on a problem without an alternative solution, you may end up missing important deadlines and have nothing to show for all your hard work.
Question 2: How do you approach learning something new, like a new technology?
When I learn a new technology, if I have time I will try and find a free or reasonably priced online course. If I don’t have the time to sit through a course, I look at any official documentation if it exists. For example, if I’m learning a new version of React, I will go to the official React documentation to ensure that I’m learning the standard way first. After viewing the documentation I will then try and find examples of projects similar to what I’m trying to accomplish that have the source code, or at least good examples of the code, available. Then using the official documentation and an example I will start to create and build my project, since hands on experience is usually the most effective way I learn new things.
Question 3: Do you use chatGPT or other AI tools? In what way?
I now use ChatGPT, Bard, GitHub CoPilot and Amazon CodeWhisperer on a regular basis, primarily because that is the main objective of our project. I’m really glad that we were able to do the AI Coder Project, where we are tasked with building a simple application using as many AI tools as possible, because I’ve learned a lot about AI tools and how to use them effectively. While I’m not allowed to use them at work, unless I ask very vague questions, I have enjoyed using them for my capstone project and other personal projects. I think that while these tools still have a ways to go before they’ll be able to replace programmers completely, they are extremely valuable resources for making developers more effective. For example, in my capstone project I was able to do things I had never done before in a much shorter time frame than if I didn’t have the AI tools.
Leave a Reply