My Journey of Self‑Learning Java: From College to Professional Development
The author shares a candid, step‑by‑step account of how he transitioned from a college student with only basic C knowledge to a proficient Java developer through disciplined self‑study, project practice, and strategic career choices, offering practical advice for aspiring programmers.
My CSDN and public account readers are mostly students, both undergraduate and associate degree, who often ask how to learn programming effectively. Many have switched majors, feel lost, or have tried training courses with little result, so I felt compelled to write this article.
1. Undergraduate diligence
After the college entrance exam I chose Electronic Information Engineering without much knowledge, and during four years of university I only learned basic C. I focused on solid study habits, taking courses such as higher mathematics, linear algebra, probability, physics, digital and analog circuits, signal processing, and communications. I earned scholarships, experimented with microcontrollers (51, 52, ARM9), and developed an interest in embedded systems.
However, after graduation I regretted that I had hardly learned any programming beyond simple C code.
2. Graduate awareness
Entering Tongji University for a master’s in Electronic and Communication Engineering, I realized I needed to improve my programming skills. I started with C++, then moved to Java after a conversation with senior engineers at eBay, which broadened my perspective.
In the lab I spent about a year mastering Java fundamentals, the JDK source, networking, data structures, and algorithms. I then learned Servlet/JSP (now outdated), followed by SSH (Struts2, Hibernate) and later SSM (Spring, Spring MVC, MyBatis). After that I studied Java concurrency, various components, and finally micro‑service technologies such as Spring Boot and Spring Cloud, completing four real‑world projects along the way.
3. How I self‑studied Java
I began by reading a book for a week, then set it aside because I couldn’t absorb it. Like many beginners, I struggled to stay engaged. I switched to video courses (e.g., Bi Xiangdong’s Java series), took diligent notes, and started blogging.
I avoided recommending classic books like *Thinking in Java* or *Effective Java* to beginners because they are often too dense; instead I emphasized practical coding, project experience, and selective resource investment, including paid video courses that offered higher quality content.
4. Decision‑making when faced with choices
After graduation I joined Huawei as a Java developer but was assigned to communication work, which conflicted with my interests. I left to pursue roles more aligned with my passion for software development, believing that early career choices should reflect personal interests rather than just salary.
5. Summary
To self‑learn a technology you must first develop interest, then build a clear learning plan, execute it consistently, and invest in yourself when needed. Persistence, disciplined execution, and a willingness to ask questions are essential for long‑term success.
PS: If you find this sharing helpful, please like and share.
Java Captain
Focused on Java technologies: SSM, the Spring ecosystem, microservices, MySQL, MyCat, clustering, distributed systems, middleware, Linux, networking, multithreading; occasionally covers DevOps tools like Jenkins, Nexus, Docker, ELK; shares practical tech insights and is dedicated to full‑stack Java development.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.