Navigating CSE Success: Learning, Contributing, Balancing Priorities
Tags: computerscience, programming, coding, webdev
Published: 2024-01-24 15:45:09

One of the biggest mistakes as a junior after getting admitted is assuming that what the seniors, especially those working, are doing is what you should also focus on. Many jump into it without exploring anything, end up feeling lost later, and become demotivated. After four years of studying, I’ve realized that coding is not everything for everyone. While coding is a basic skill in CSE, having knowledge in it opens up opportunities. The CSE field is vast, and newcomers often think it’s all about creating software/apps and making money. However, it’s not that straightforward.

![computer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f8sbtgbpvcf3aiycxxkf.png)
In CSE, there are various fields such as Data Science, Machine Learning, Computer Networking, CyberSecurity, SQA, IOT, and Software Engineering. When a junior first joins university, they see everyone doing Competitive Programming (CP). They might start CP without understanding why or lose motivation after a while. It’s essential to figure out what suits you best rather than following the crowd blindly. Explore the different fields within CSE to find where your interest lies. After entering CSE, it’s crucial to be proactive in learning. Google is your friend in becoming an expert.

![Google](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j0xcvc5kcvqtu5vtf941.png)
When someone says they want to study CSE, and they ask me what their first step should be, I tell them that since it’s computer-related, spend 10–12 hours a day with a computer. Patience is essential as a commitment to lifelong learning is necessary. The technology field is ever-evolving, and staying updated is crucial. If you have these two traits, you are ready to go.

![lets go](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f4cpvjjojymz9qusvnkc.png)
You need to think about where you want to see yourself after four years. If you aspire to become a lecturer, then making an effort to maintain a good CGPA is essential. There is no alternative to this, and those who claim that skills are more critical than CGPA should be ignored. You have the opportunity to maintain CGPA, so why not take advantage of it! While skills are crucial, in some areas, having a good CGPA is also necessary. If you can’t maintain it, focus on the next priority, but initially, CGPA maintenance should be a priority. If you want to explore other paths, then explore them after thoroughly understanding and evaluating your interests.

In the first year, you’ll have to choose a programming language. Before making a choice, explore various languages to see which one you find enjoyable. However, it is recommended to start with C, C++, and Java as they will help you understand advanced concepts. If you can learn one of these at university, go for it. Avoid starting with Python as your first language as it might not be as beneficial for certain tasks later on. Also, it’s crucial to not become emotionally attached to any language. Mastering one language is a must, and you should be able to switch languages for work. However, don’t fall in love with a language; aim to master it.

![computer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f2ycbbrmt5hmt3qufacd.png)
During the first six months, focus on learning the language and trying out Competitive Programming (CP). If you feel it’s not for you after this period, it’s okay. Loss in some aspects is not a problem; whatever effort you put in is beneficial. After this period, decide if CP is what you enjoy. If yes, continue; if not, explore other paths. It’s essential to have a mindset that allows you to switch languages comfortably. Learn a language well, and you’ll be able to spend your entire career in it. However, to master it, you must have the ability to transform something into code. For the first 6 months, there is no need to worry about anything else. Learn the language and try CP; if you enjoy it, continue, and if not, move on to the next step.

If CP interests you, there are other things you need to learn, such as Data Structures and Algorithms (DSA). Explore these related problems and participate in contests. If CP doesn’t interest you, you can explore project-based approaches. Many enjoy coding for the result it produces. In this case, a project-based approach is suitable. Decide what you want to learn based on your exploration, search on Google, find resources, and stay in the loop. Keep in mind that you don’t need to fall in love with any language. It’s a must to master one language, and that’s what you should focus on. After that, if CP interests you, continue with it, and if not, explore the next step.


![CP](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bzssmdsxdifdbgc877ut.png)

After this, the approach is to learn a bit more and create projects based on those concepts. The next step is to learn GIT. Universities generally don’t teach this, so you’ll have to learn it on your own. Learn the basics of GIT and maintain your code on GitHub. Keep all your code on GitHub, and if there’s something wrong with your PC, you won’t have to worry. After this point, you’ll realize what more you need to learn. Keep going in this manner, understanding and exploring what you need to learn next. I won’t share a roadmap because what’s perfect for you might not happen when you think it will. Focus on excelling in core subjects at university, especially if your target is to become a lecturer. There’s no alternative to excelling in these subjects. If you can grasp coding well in the first year, coding-related subjects in university labs will be easier for you.

Explore the path you find interesting, and don’t hesitate to read resources and documentation. Learn what is needed for what you are passionate about. There’s no loss in learning something. If you have the opportunity for project-based work in university, try to do it yourself. Applying your creativity will be beneficial; if you can complete three significant projects in four years, it will be advantageous for your resume.

Dedicate some time every day for coding. Depending on your flexibility, I recommend at least 4 hours daily. Practice coding every day; taking too much gap or rest might make it challenging to come back.


![Meeting](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/el80wfg2mu00yrbysjyp.png)
Build a community at the university, connect with seniors, juniors, and maintain your LinkedIn profile. Be active in clubs; there is no loss, only gain in this mindset.

Keep an open mindset and keep learning.

Your brain should be considered as open source, where anyone can contribute. Learn good things from your friends, who might have expertise in a particular subject. Learn from different perspectives, as everyone has their own reasoning. Give priority to what makes sense to you.

If your target is to go abroad, publishing some good papers is an excellent option. Do your thesis well, and focus on it. At this level, you will naturally understand everything.

If you wish to work in your home country, explore job descriptions, understand what they want, and prepare yourself accordingly. Build the habit of studying, whether it’s documentation or books.

In the end, everyone tends to believe that delving into engineering studies implies an eventual transformation into a robot. To counter this, connect with people, give time to your family, enjoy life. Sacrifices are necessary for a career, but try to strike a balance. Computer Science and Engineering (CSE) is a challenging field, and many find it difficult. Don’t be discouraged by hearing it’s easy; choose this path only if you’re willing to put in the effort.

Follow me on : [Github](https://github.com/jps27cse) [Linkedin](https://www.linkedin.com/in/jps27cse/)