I’ve been exposed to programming for a few years now and majored in computer science in university. While I was able to finish up my degree last year and land a job after graduation, here are some things I wish I did differently:
I could have applied skills and languages learned in school to personal projects outside of schoolwork. My programming 2 class was taught in C++ and while I could have done more with it; I haven’t really touched C++ since. It’s definitely on my list to go back and learn. In my databases class I learned MySQL and could have applied it more as well. This goes for every computer science class dealing with a different programming language or technology. Learning beyond what was taught in class could have greatly expanded my skill set.
School however took up all my time and I didn’t have the time or energy to do personal projects. Over the years, people would ask me if I had a coding portfolio and I would have to reply no each time. Looking back, I could have carved out some time while slightly costing my grades in school. Now that I’ve graduated, I’m working on doing projects to build my portfolio. I’ve found this article to be super helpful in getting started: https://dev.to/samborick/100-project-ideas-oda. Currently, I’m working on projects in Python and will continue to revisit technologies I previously worked with.
I was involved with various organizations throughout college. I didn’t focus too much on organizations dealing with tech and I wish I did. I had a great experience with organizations outside of tech and got to meet people outside my major. But having a place to go and apply my skills outside of my schoolwork would have certainly helped.
There were many organizations dealing with tech and one of them hosted an annual hackathon. Hackathons are events where people get together to solve problems, usually with code. My first (and last) hackathon that I participated in was in the beginning of February 2020. The event consisted of workshops and networking sessions outside of working on the project with your team. I learned so much at the event, met people, and had a lot of fun. My only regret was not participating in hackathons earlier. I didn’t have the confidence to apply despite hackathon being open to all levels. Doing more hackathons would have given me the opportunity to work on more projects, learn more technologies, and meet people. Currently virtual hackathons are taking place. Check out https://mlh.io/ to learn more.
I compared myself to peers who appeared to be more knowledgeable than me and get internships at prestigious companies. This contributed to my feeling of imposter syndrome. I started to question why I was doing this degree and if I was qualified to become a software engineer. Going back, I wished I focused more on myself and my own abilities and built up my skill set.
Throughout my time in college, I made use of office hours from time to time to get help on coursework and the class material. However, I wish I had taken the time to get to know my professors personally and the steps they took in their career. I feel that I could have gotten more insight on professional life and feel better about the path I would be pursuing after graduation.
When it came to interviewing for internships and jobs after graduation, I was not very prepared for coding interview questions. While I did start doing practice questions a couple months before applying to full-time positions, I feel I could have started practicing earlier on. I could have dedicated more time, practicing a question at least once a week from LeetCode or HackerRank to build up my confidence. Some data structures and algorithms were covered in my school curriculum, but I needed to have more practice with the types of questions and other material not typically touched on in school.
While I could have done all these things differently in school, it’s not too late to get on track with pursuing most of these points. Practicing is key to picking up new concepts and learning is an ongoing process.