I know I am being a generic LinkedIn post right now, but I get asked this question a lot. To be honest, I see a lot of bad advice on the internet, especially on LinkedIn. So I thought I would write down my thoughts on this, and I will refrain from giving you the same advice you see everywhere else.
Only using AI and not using it at all are both bad ideas.
To be honest, AI is not perfect yet, but it is here to stay. So try to learn to use it, but don’t rely on it completely. Use it to help you write code, generate ideas, find bugs, and learn new things. But don’t use it to write your entire application or to solve all your problems.
And most important of all, use the right tool for the job.
Here are some AI tools I use:
- V0.dev for creating simple web application prototypes.
- Database.build for creating SQL migrations and visualizing database schemas.
- ChatGPT for searching and finding solutions to problems I am facing.
If you find something new, use it, share it, and learn from it.
Read more code than you write.
Read code written by others, understand how it works, and learn from it. This will help you understand how to write better code and how to structure your applications. See repositories of popular open source projects, read their code, and try to understand how they work. Maybe even contribute to them if you feel comfortable.
Every day I open GitHub Trending to see what’s new, how it works, how it is built, and what technologies are used. You can even filter by your favourite language. Follow some people who build interesting things in your technologies, languages, and frameworks on whatever platform you use. Heck, you can even reach out to them and ask questions; most of the time, they will be happy to help you. This helps you learn new things, get inspired, and find new ideas for your own projects and even know where to use what.
Find what works for you
Not all learning resources are the same for everyone. If a tutorial or course is hard to follow, it might not fit your way of learning. Some people like videos, others prefer books, articles, or hands-on tutorials. Try different things until you find what helps you learn best.
Don’t feel bad if you stop using a resource that doesn’t help you. Be careful with promises like “learn to code in 30 days” or “master programming fast.” And please don’t buy courses or certifications with absurd promises. Ask around if it is worth it. Learning something new takes time and practice. There are no shortcuts.
I like to learn by reading. Here are some resources I use when I want to learn something new:
- Documentation of the technology I am learning.
- Roadmap.sh for roadmaps for different technologies and roles.
- Learn X in Y Minutes for quick reference guides for different programming languages.
- YouTube
Doing something is better than doing nothing.
This is the most important thing to remember. If you are not doing anything, you are not learning anything. That includes pasting code from the ChatGPT window to VSCode and calling it a day. You need to build something, anything. It can be a simple todo app, a blog, a game, anything.
Don’t make excuses for not learning or not building something. I hear “I don’t have time, I need to focus on getting a job…”, “I don’t have time, I need to study for this grade…” a lot. But that misses the point. You get a job by learning to build, not by studying for exams. If you feel your grade says how good you are, I am sorry to say that you are wrong.
If you don’t have access to a good computer or can’t install software on college computers, don’t worry. Most development can be done from the browser through the cloud without any setup using tools like:
To name a few.
Don’t want to pay for deployment? Don’t worry, you can use free hosting services like:
- Cloudflare for pages, serverless functions, databases, storage, and more.
- Vercel for web applications using JS and Python frameworks.
- Upstash for Redis, vector databases, queues, AI search, and more.
- Neon, Turso for hosting databases.
- Many more.
And investing in some tools you use frequently is worth it.
Perfection is the enemy of progress.
You might be thinking that you need to build the perfect thing, but you don’t. You need to build something that works, something that you can show to others. You can always improve it later. You can always refactor it, add new features, and make it better.
Question everything.
Don’t just copy and paste code from the internet. You need to understand how it works, why it works, and what it does. You need to question everything you see, read, and hear. Don’t just take it at face value. Ask why, how, and what if. You need to understand the underlying principles, the trade-offs, and the limitations. That is how you learn and grow as a developer.