I'm currently a second-year Computer Science engineering student and I find myself at a crossroads. I have a basic grasp of languages like C, Java, Python, HTML, CSS, and JavaScript. I understand some concepts like Dynamic Programming and Greedy Algorithms, but applying these in practice on platforms like LeetCode has been a real challenge for me. I feel scattered and unsure about which programming language to focus on for coding exercises and interviews, especially since I don't have any major projects under my belt yet. This makes me anxious because I see my peers diving into coding contests and internships, while I feel left behind without any substantial work to showcase. I'm overwhelmed about how to build a strong portfolio, resume, and LinkedIn profile without faking my experience. I know companies prioritize skills in problem-solving, project experience, and internships, but the pressure is intense. I'm also unsure about where to start with my learning goals. Should I choose one programming language to specialize in? How can I improve my DSA skills without getting lost? What kind of projects should I undertake? How do I create a resume that feels complete, and how can I stay consistent in my efforts without burning out? I really want to grow, but I need some clear guidance. It's okay to start small, right?
3 Answers
A good way to build projects is to work on things you use every day. Try making a simple app or website based on your needs or interests. Whether it’s a personal budget tracker or a mini-game, these types of projects will not only help reinforce your programming skills but they'll also look good on your resume. Also, don't hesitate to collaborate with others or join hackathons if you can. They’re excellent for gaining experience and meeting people in the field. Just remember to start small; it's totally fine to take baby steps!
Don't worry too much about what you’re not learning in school. Many people pick up DSA on the job, and it’s more about practical experience than just formal education. If you start working on projects that interest you, that's where you'll learn the most. Try re-creating simple applications or websites by observing their features. For example, starting with something straightforward like Notepad can be a great way to understand the basics before moving onto more complex projects. Just take it step by step, and don’t rush yourself!
I’m actually going to try that approach with Notepad. Thanks for the tip!
If you're feeling overwhelmed, just remember to choose something you enjoy when it comes to coding. If LeetCode stresses you out, don’t hesitate to take a break or try other platforms. I personally recommend [roadmap.sh](https://www.roadmap.sh) because it offers various roadmaps for pretty much any area in programming that you might want to explore. As for your programming language, it really doesn't matter which one you pick as long as you can stick with it. Java is a solid choice for backend, and JavaScript is great for frontend. Try to choose projects that align with whichever language you prefer. Starting with simple terminal-based apps like a calculator or a to-do app can help build your confidence. Just remember, it’s all about progress, not perfection!
Thanks for the roadmap suggestion! I'll definitely check that out.
Great advice! I’ll think about collaborating too.