Hello friends. You might be thinking, “Who’s this guy giving advice?” I hope you are. I’m a self-taught developer who’s been doing web/app development for two years. If I managed to land a job and ship real products for my company, I think I’m in a decent position to give you some advice.
This post might annoy you. Some parts may tell you “you’re not ready” or “you need to learn more.” Don’t rage quit. Don’t throw out excuses like “They don’t give us a chance to learn!” or “At least give us an intern role!” We’ll get to those. I’ll explain how companies choose employees—and yes, even interns.
Learn Basics & Be Able to Build Simple Apps
Let’s talk about “the basics.” What does that even mean? We’ll go through it piece by piece.
Common Basics
Understand how HTTP works—requests, status codes, headers, body. This applies to mobile, frontend, and backend.
Dig deep into the language you’ve picked.
If you don’t know git, stop reading. I can’t take you seriously. Yes, maybe your school didn’t teach it. But if you haven’t even discovered git, something’s off. That means you’ve never written code outside of class. You’re just parroting tutorials and finishing assignments. You’re not exploring the industry. You’re not curious. That also means you won’t learn on your own. I don’t even want to debate this.
I want to be a backend developer
Pick a backend framework. Learn to build basic REST APIs. Do auth, hook up a DB, implement CRUD. “That’s a lot!” Wrong. Think that’s 90% of the job? It’s not. CRUD is just the intro.
Consider learning one of these:
- Spring Boot (Java)
- MVC (ASP.NET, C#)
- Flask (Python)
- Express (Node.js)
- Django (Python)
- Laravel (PHP)
- Gin (Go)
Know the database basics. Most frameworks support multiple DBs—pick one and learn CRUD with it:
- MySQL
- PostgreSQL
- SQLite
- MongoDB
If this still feels like too much—or you’re a recruiter and think this is asking too much—keep reading.
I want to be a mobile developer
Pick a platform: iOS, Android, or both (cross-platform). Companies care about costs and time. Some want native, some want cross-platform. Make a decision.
Tech stacks:
- Swift with SwiftUI (Apple)
- Swift with UIKit (Apple)
- Kotlin with Jetpack Compose (Google)
- Kotlin with XML (phasing out)
- Java with XML (outdated)
- React Native (JS, cross-platform)
- Flutter (Dart, cross-platform)
Build something simple:
- Basic calculator
- Notes app
- Todo app
- Weather app
- Reminder app
Still sounds like too much? Keep reading.
I want to be a frontend developer
If you don’t know HTML, CSS, and JavaScript—stop here and go learn them. Know the DOM. Make responsive UIs. Learn animations. Make API requests. Handle state.
Then pick one:
- React
- Vue
- Angular
(Yes, there are more—Svelte, Web Components, etc.—but the above are the most job-relevant.)
Learn TypeScript. It’s JavaScript with types. It’s not rocket science. If JS makes sense to you, you can grasp TS basics in 2-3 days. If that sounds too hard, maybe this isn’t for you.
And CSS? Learn actual CSS. If you’re “learning Tailwind” without understanding CSS, STOP. Tailwind and Bootstrap are just CSS shortcuts. If you don’t know what they’re abstracting, you’ll hit walls fast.
If you can’t make a responsive, mobile-friendly site, you’re not ready.
Build:
- Product landing page
- Your portfolio
- A simple app using LocalStorage
Examples:
- Custom new tab page
- Pomodoro timer
- Todo app
- Weather app
- Basic calculator
- Notes app
“This is Too Much for a Newbie!”
No. It’s not. There are tons of unemployed devs. AI is evolving fast. We don’t need “blue collar coders” We need people who think like engineers.
- Don’t just be a ticket-closer.
- Understand the problem, design solutions, execute them.
- Don’t wait for someone to teach you. Teach yourself.
- Be proactive.
- Be curious.
If you think “I know HTML/CSS/JS, now I deserve an intern role!”—you’re wrong. Companies aren’t trying to raise you from scratch. Even interns need to contribute from day one.
So what’s an intern good for?
Test the product. By testing, they learn how it works. They can report bugs. Through that, seniors can explain code, causes, concepts. Hunting down bugs is a goldmine for learning.
But don’t treat interns like free labor. Give them something real to do. Let them work on a side project, even if it never ships. Let them learn.
Don’t forget: you have a lot of competition. Everyone knows HTML/CSS/JS. I’m not even mentioning them. Everyone knows React. Go further. Learn Next.js. Build a statically generated (SSG), searchable blog. That’s how you stand out.
How I Felt “I’m Ready to Apply”
Like I said, I’m self-taught. University didn’t teach me job-related skills. I taught myself. I’ve been solid at CSS and HTML for 10 years. Responsive design? Easy for me.
“Not fair! You had 10 years of experience!” Yeah, compare your 20s to my 10s. Fair or not, it’s reality. And HTML/CSS? They’re just the alphabet of frontend. I saw React was industry standard. Tried to learn it. Failed. My JS was too weak. So I stopped React, leveled up my JS, came back.
Built a few projects. Thought I was ready. I wasn’t. Everyone knows React. That makes you average at best.
To go beyond, I picked up Next.js, Tailwind CSS, TypeScript. Built an SSG blog (reads from filesystem at build time). No backend. Searchable. Then, I was ready—and I was right.
How I Got the Job
Applied 17 times. Got 2 rejections. 15 ghosts. Found my job on X (Twitter at that time). Sent my CV—name and email only. Got a reply same day. Two-step interview. Questions:
- State management in React?
- How does useState work?
- How to optimize a site?
Answered them all. Got the offer next week.
What I Suggest to You
- Learn the language basics.
- Go deeper.
- Build something with a real framework or library.
- Differentiate yourself. Be original. Don’t just copy GitHub projects.
Bonus:
- Write about what you’re learning. Mistakes are fine. Community knows you’re new. Passion is what matters.
- Make a portfolio. If you’re a frontend dev, build it yourself. Others? Use a template. Just fill it with your projects.
Conclusion
I’m not an expert. I’m just a dev who figured it out the hard way. I wanted to share my thoughts. If this post made you uncomfortable—good. Sit with that. Take the useful parts and run with them.
Good luck.
Album of the day: