May 2025 was a turning point for me. Just weeks before my final exams in the last semester of my Computer Science Engineering degree, frustration had reached its peak I felt like a “CSE engineer” in name only, with barely any real software development to show for all those 4 years. My journey so far had revolved around DSA and programming basics, but not actual development. That’s when I turned to Perplexity (yes, AI really does change lives!) and started searching for the best and quick ways to truly break into development.
Why Flutter?
From the very beginning of my degree, app development had always fascinated me, but I kept stumbling after the basics. My research on the internet showed how rapidly Flutter was being adopted in the market, and I was initially torn between Java and Flutter. Java felt intimidating, especially for fast learning, while Flutter’s cross-platform nature, growing ecosystem, and gentle learning curve kept drawing me in.
How I Started Learning
Following recommendations on the official Dart website, I picked up:
I soaked in the theory, and being familiar with C++ and OOP helped, so I sped through the Dart books in a month. I didn’t understand everything at first—many concepts eluded me despite watching explainer videos and tutorials on specific topics. Also started with the Flutter Cookbook. Sometimes, doubt crept in and I wondered if development just wasn’t for me. But seeing others build and share their progress pushed me forward (started following people alike in X, linkedin and joined discord servers).To understand how real apps come together, I watched a full app building video on YouTube to understand how its done.
Balancing Exams, Projects, and Learning
Final year project presentations and semester exams in May-June meant pausing my Flutter journey. But as soon as exams wrapped up, around the second week of June I picked Flutter back up and went all-in with projects, although I lost a little bit of confidence, I decided to revisit and revise the book material to refresh key concepts.
I built several apps to put theory into practice:
- To-Do App (classic starter)
- Photo Gallery App
- Weather Forecasting App
- Real-Time Chat App with Firebase as the backend
- Ecommerce App (used Supabase for backend, Razorpay for payments)
Each project uncovered gaps in my understanding, so I keept returning to those topics and reopening the book PDFs. Async programming really took a toll on me, especially figuring out which widget to use and what parameters were available for each widget. To fill in the blanks, I leaned heavily on Medium articles and sometimes Dev.to posts, Stack Overflow and official Flutter documentation.I also used LLM explanations, and worked through Johan Jurrius’s YouTube playlists.
Where I Am Now
Right now, I’m working through the book Flutter In Action by Eric Windmill to fill in any gaps and deepen my understanding of Flutter. I’m also revisiting the code for the apps I’ve built recently, taking time to fix issues, refactor, and make everything more modular and maintainable. For state management, I’m actively using the Provider package, which has made managing state across widgets so much cleaner and more scalable. For navigation, I’m leveraging a route manager to organize routes, making my codebase more structured especially as my apps grow in complexity.
My three months (may to july) with Flutter have taught me:
- You don’t have to learn it all at once.
- Watching experienced devs code is as important as books or tutorials.
- Online articles, AI, and community plays a massive role in learning
- Every time you feel stuck, remember: every developer feels this way sometimes!
If you’re on the fence about starting with Flutter (or any stack), just start building you’ll learn faster from your own mistakes and projects than from any course or book alone.
Free Thought Free World
Top comments (0)