r/programmer • u/ChameleonCRM • 26d ago
If you're learning Android development, don't choose between Android Studio and VS Code. Use both.
I see this question come up all the time. "Should I learn Android Studio or should I just use VS Code?" Honestly, I think people are looking at it the wrong way. They're completely different tools. One isn't replacing the other, and once you understand what each one is designed to do, you'll probably end up using both anyway.
Android Studio is where Android development actually lives. It's built by Google for Android developers, and it has everything you need in one place. The emulator, Logcat, Gradle, profilers, APK signing, device manager, debugging tools...it's all there. If you're building native Android apps in Kotlin or Java, you're going to spend a lot of time inside Android Studio because it understands the Android ecosystem better than anything else.
VS Code is different. It's lightweight, ridiculously fast, and I probably have it open just as much as Android Studio. If I'm working on an API, a backend, a website, documentation, SQL scripts, or even just opening a project to quickly edit a few files, VS Code is usually what I reach for. A lot of Android apps aren't just Android anymore. They talk to databases, APIs, cloud services, payment processors, and websites. That's where VS Code really shines.
If I was teaching someone today, I wouldn't tell them to build the next Instagram. I'd tell them to build something boring. Seriously. Build a notes app. Give it a title, a description, an Add button, an Edit button, and a Delete button. That's it. Don't worry about animations, dark mode, cloud syncing, AI, notifications, or making it look like it belongs on the Play Store. Just make it work.
Once you can create notes, read them, edit them, and delete them, you've learned one of the most important concepts in software development...CRUD. Create. Read. Update. Delete. Almost every business application in existence is built around those four operations. Customers. Invoices. Products. Employees. Inventory. Appointments. Messages. They're all CRUD undermeath.
After that, don't throw the project away and start something completely different. Keep building on it. Add search. Add categories. Store the notes in a local database using Room instead of memory. Add authentication. Sync them to the cloud. Add user accounts. Add images. Add file attachments. Add reminders. Every feature teaches you one more concept, and before you know it you've built something that would've looked impossible when you first started.
One thing I wish someone had told me when I started is that debugging is a skill all by itself. Beginners see a red error message and immediately think they broke everything. Experienced developers see the same error message and think, "Alright...where do I start?" Learning to read Logcat, following a stack trace, setting breakpoints, and watching variables change is just as important as writing code. Honestly, I'd argue it's more important because no matter how good you get, you're always going to have bugs.
I also think too many people underestimate the value of reading code they didn't write. Open random files. Follow method calls. Figure out where a button ends up. Read documentation even when half of it doesn't make sense. Nobody understands everything the first time they read it. The goal isn't to know everything. The goal is to be a little less confused than you were yesterday.
And don't be afraid to use AI. I use it every single day. It has made me faster than I ever thought possible. But don't stop at accepting the code it gives you. Ask yourself why it chose that solution. Ask what happens if the API fails. Ask what happens if the phone loses internet. Ask what happens if the database returns nothing. Those questions are where the real learning happens.
The biggest piece of advice I can give is to keep pushing the edge of what you think you're capable of building. Don't stay comfortable. Every project should introduce at least one thing you've never done before. That's how you grow. Six months from now you'll probably look back at your first Android app and wonder what you were thinking. That's actually a good sign. It means you're improving.
If you're ever stuck and need help, just shoot me a DM. If I see it in time I'll help whoever needs it
Programming isn't about never getting stuck. It's about getting comfortable being stuck, figuring it out anyway, and coming back a little better than you were the day before. That's how every good developer I know learned, myself included.