I've recently completed my apprenticeship as a software developer and have been professionally working for about a year now. During my four years of training, I juggled a part-time job and worked on multiple personal projects, which helped me explore different languages and frameworks. Although I've primarily focused on C#, I ventured into Flutter for mobile apps, experimented with C++, and dabbled in Go and a bit of Rust due to their growing popularity.
While I've gotten better at understanding coding logic across various languages, I still struggle with how to choose the right language or framework for a project. For instance, at my part-time job, I had to decide between Flutter and MAUI, and I ultimately went with Flutter for its rapid development capabilities and superior UX.
But when it comes to personal projects, I often make choices that don't respect my time, like attempting to build an API on an old Raspberry Pi in what I jokingly refer to as 'HypeLang.' I'd love to hear how people go about selecting a programming language or framework for their projects. What's your process for figuring out what fits best?
4 Answers
When it's up to you, just use whatever works for you at the moment. Want to learn something new? Go for it! Need to get a project done fast? Stick to what you’re already familiar with. Also, often times the choice is clear; like if you need a robust backend, you'd want to avoid certain languages like PHP. Just remember, overthinking it can lead to missed opportunities!
After a decade in the industry, I've developed a decision-making framework:
- For work projects, stay practical: What does your team know? What has a good talent pool? What's widely supported? What’s the easiest tool for the task? Too many teams make risky tech choices instead of sticking to reliable options.
- For personal projects, think about what you want to achieve:
- Want to learn something new? Try something challenging.
- Want to ship quickly? Use the tools you're comfortable with.
- Working on your portfolio? Go with what's currently favorable in the job market.
- Just want to enjoy the process? Pick what excites you!
I learned the hard way that making hype-driven decisions often leads to trouble. If it’s not going to be easy to maintain in the long run, it's better to choose something you know well rather than chase trends. Your decision to use Flutter over MAUI was on point; trust your instincts more often!
Honestly, I think it's best to focus on mastering one language and its ecosystem. Like, if you choose Python, dive deep into related libraries and tools like Tkinter and Django instead of hopping from one language to another. Trust me, trying to juggle Rust, Go, and C# all at once can get overwhelming. Just pick one path and stick with it for a while!
I work with C#, and honestly, if I can do it in C#, that's my go-to for personal projects too! It's just easier and more efficient when you stick to what you know well.
Same here! I usually stick to Java for my personal projects, but if I can do something simpler in C++, I’ll switch it up too.

And hey, if you're into backend work, don't forget to consider FastAPI! It's super handy for mobile or single-page apps.