Over in Superside Design System’s team, I am responsible to improve our Storybook documentation and update components to keep up with our design updates.
Our client-side applications recently been revamped to a new theme, namely Design System 2.0 and there has been alot of work need to be done and bugs that need fixing.
A few months ago I have been experimenting with AI, mostly trying to use it as a tool. I watched videos on Youtube, read engineering blog posts and checking out tweets by developers.
The question I had in mind was “How do I keep up with deploying updates and write documentations for the Design System, and not keep myself overwhelmed with all the work?”.
That said, it was also clear to me that software engineers who utilize AI for work, are already better than software engineers who don’t. Realistically, it is all about getting the job done, and not about clout.
So yeah, I’m stoked to share my experiences with two tools that have truly upped my coding game. As a software engineer, staying on top of tech trends is crucial. It has also helped me save time, and let me tell you – these tools are game-changers.
The Power Duo: Github Copilot & ChatGPT
Both of these tools compliments each other. While I wait for Copilot X, I will stick with these tools.
Github Copilot
I’ve recently switched to using Github Copilot from AWS CodeWhisperer. The reason being, Copilot has a bit more context as to what I am building, based on the file I am in, and the files that are imported to it. Using CodeWhisperer felt like it was trying to help me build a tic tac toe from scratch.
I got access to Github Copilot chat beta recently and I can’t wait to use it. Having Github Copilot is like having a coding buddy right next to me. It's an AI-powered plugin that makes code suggestions as you type.
Why it’s awesome: Copilot’s autocompletion is a lifesaver. It’s incredibly smart and it learns your coding style. This means that it gradually adapts and makes more relevant suggestions. It saves a ton of time and helps me focus on the logic and structure, rather than getting stuck on syntax.
ChatGPT
ChatGPT, on the other hand, is more like having a mentor who you can bounce ideas off. You paste your code, ask questions, and ChatGPT comes up with solutions and suggestions.
I have recently subscribed to ChatGPT Plus so I could start using ChatGPT 4.0 and there is a huge difference! However, due to the 25 messages cap every 3 hours, I only use ChatGPT 4.0 for more complex stuff.
Why it’s awesome: This is fantastic for when you’re stuck or when you just need a fresh perspective on your code. It’s almost like pair programming, but with an AI!
How These Tools Benefit My Daily Grind
At Work:
-
Generating Unit Tests This used to take up a chunk of my time. Now, I just paste the component code to ChatGPT, and it helps me whip up unit tests.
-
Improving Documentation Copilot is helping me improve our Design System documentation by offering autocompletions and suggestions that align with how I usually write code. It's like it knows my project inside out. This helps me save time from rewriting every description for a new component.
Tab
key is my best friend. -
Refactoring When you’ve been looking at the same function for hours, it's easy to miss something. ChatGPT has an outsider’s perspective. I paste the function, ask for refactoring suggestions, and more often than not, it shows me a more efficient way to write that function.
For Personal Growth:
-
Budget Management I used ChatGPT to give my personal budget (which I track through YNAB) a much-needed overhaul. ChatGPT asked questions to understand my current setup and then suggested a cleaner structure.
-
Generating Ideas When I need inspiration for side projects, ChatGPT is full of ideas.
-
SEO and Blog Writing: While I love coding, I’m not an expert on SEO or content writing. ChatGPT helps generate SEO keywords and even helps me structure blog posts.
Working smart
As a software engineer, efficiency and constant learning are key. These tools save me time and offer new perspectives. This means I can take on more complex tasks at work, spend more time learning new technologies, and even work on personal projects that can be added to my portfolio.
Also, the fact that Copilot learns my coding style is huge. It's like customized on-the-job training.
In my three months of using Github Copilot and ChatGPT, I’ve seen my productivity soar. They’re like my virtual coding partners, and I believe they have a lot to offer to any developer looking to grow in their career.
With all the time I’ve saved up, I get to do more tasks and not get too burnt out. It is important to understand that these tools are just tools, not something that should take over, but to be utilized. We can’t grow another pair of arms, but having tools like these, makes it feel like I can.