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:
1. Do Personal Projects and Apply Skills
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.
2. Get Involved
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.
3. Stop Comparing Myself to Peers
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.
4. Get to Know My Professors
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.
5. Practice for Technical Interviews
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.
Closing Thoughts
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.
Photo by Christina @ wocintechchat.com on Unsplash
Top comments (7)
useful to know! Thanks
When I graduated from college, I had many of these same things on my list of things I wish I did differently. I studied Electrical Engineering in undergrad, and to be honest, the coursework was quite difficult. I did summer internships, but I didn't really produce any work/personal projects that I could hang my hat on. By the time I graduated, I was disenchanted and my self-confidence as an engineer was quite low.
While it's important to look back and acknowledge the things that we could've done better (I imagine you wrote this post to help others who are still in school), it's equally as important to be compassionate with yourself and forgive yourself. This is the thing that I didn't do. I continued to rake myself over the coals for not knowing/being/doing better in university. And so those college regrets then morphed into career regrets.
I just want to affirm that you are an engineer(or coder or developer if you prefer those terms) and that the lack of personal projects or hackathons (or anything else) doesn't take away from the knowledge that you do have and the value that you bring to your company & team.
Happy Learning & Happy Coding.
Thank you for your response. It has taken me some time to work through the imposter syndrome I had when I was a student comparing myself to peers who I thought achieved so much more than me. Having self-compassion is a journey and I'm currently still working to get there and I've come a long way since I graduated last year. I now realize that I do bring value to my team at my current job and it's okay that I don't know everything -- no developer does, especially with the number of programing languages and technologies out there.
I also want to acknowledge that the standard for engineering students is high, I can only speak to my experience as a previous computer science student. Not only are we expected to manage a full-time course load as a student, many students have responsibilities outside of school such as a part-time job or taking care of family. And on top of that we're expected by many companies to work on personal projects/code outside of schoolwork. These expectations are a lot and maybe this means there should be some changes in what companies expect from graduating engineering students. Of course, this is a different discussion entirely.
I appreciate your input and thank you for sharing your thoughts and journey.
Nice one. And computer science students need good enlightenment of their work in tech.
Definitely!
Really Great
Thank you!