At some point in your journey, you may encounter moments of uncertainty, where you feel lost and unsure of where to begin. Alternatively, you might overcome those initial hurdles only to face more significant and challenging problems. While it can be tempting to give up and abandon everything, doing so would mean failing yourself. Embracing failure and persevering through challenges is an integral part of your personal and professional development, not just in coding but also in life. I want you to know that you are not alone, and there are many others out there going through similar struggles. In the realm of computer science, you must learn to love the process of tackling challenges. As long as you put in the effort to learn and grow, you will not be failing yourself.
Personally, upon completing my degree, my aspiration is to embark on a career in software engineering or web development. However, I believe it is still too early for me to make a definitive decision about the specific path and languages to pursue. Therefore, my current approach involves learning the languages required for my courses as well as exploring languages that pique my personal interest. It is crucial to approach every endeavor with a clear goal in mind. Setting goals ensures that you are prepared for the future and helps you maintain a steady pace.
Thus far, I have gained some knowledge in languages such as C, C++, Java, and JavaScript through the courses I have taken. Among them, I find myself more drawn to Java and JavaScript, although I acknowledge the value and significance of all these languages. Each language possesses its own set of advantages and disadvantages, with C and C++ being more technically oriented. As a student, the most significant challenge I have encountered over the years is shifting to a different mindset. I have been actively training myself to think critically when approaching problems, and while I still have room for improvement, I am pleased with the progress I have made thus far. Discrete mathematics remains a persistent challenge for me, but I am committed to overcoming it by putting in my best effort to learn. Challenges serve as catalysts for growth, allowing us to witness our own progress. Ultimately, my goal is to solve complex technical problems with more confidence and rely less on notes or lecture materials.