From Computer Science Student to Professional

computer science

I have officially been graduated from college for 6 months now. I graduated with a degree in computer science and was preparing myself to become a full time software developer. However, I still didn’t feel prepared or confident enough in my skills to build software in the professional world. I shared this feeling with all of my classmates with whom I graduated. After getting that degree I think most of us could relate to this picture:

Alt text

In school I was taught a lot of theory and learned many classic algorithms and design patterns. Unfortunately, we were taught next to nothing when it came to real world programming and tools. Sure, it is great to know how to implement Dijkstra’s shortest path algorithm, but it would have also been helpful to be taught how to debug, outside of littering your code with print statements. I went through most of my college career doing all of my debugging this way, or trying to use some giant IDE with an overwhelming amount of features. If it weren’t for my own personal interest in software development, then I would have never touched advanced features of the command line or used source control tools like GitHub, simply because I never had a teacher really mention these things. If I never educated myself beyond what was taught in school, I would still be writing Java code in my NetBeans IDE… I am not saying everyone should screw going through a computer science program and just learn industry standard tools through the web (although that is an option, and I have seen great developers who have taken this path), but simply going through a computer science program doesn’t make you a good programmer. I was still able to get a lot out of my education, and my understanding of computers is a lot more thorough then it would have been without school.

In my last semester of school I started working with Revelry because I saw the products they built and the tools they used were very cutting edge (finally a local company that is not in the .NET world). For me, having a job building software with Ruby and JavaScript has been a dream come true. I could throw away my Java SDK and NetBeans IDE forever! However, I didn’t feel prepared to test my skills in the real world. Even though on paper I was a qualified software developer, I did not feel that way. I had no real confidence in my programming skills because I was never really tested. This was my first chance to test those skills. Within a few months, I was put on a project that I am now getting to see through from beginning to end, and I’m writing a lot more code than I thought I would be able to. At first, I moved slowly and it was a struggle, but with the great support of my team and not giving up I have grown a tremendous amount in the past 6 months. Being thrown into a project and really being able to sink my teeth into one thing for a continuous amount of time was what I really needed. I have a lot more confidence in my skills and I feel like I can take on any problem because of the amazing team we have at Revelry. If a problem is a challenge I can always outsource the brains of my fellow coworkers, and together we can always find a solution.

In conclusion, I value the computer science education I received from college, but I have learned in today’s world, going to college is not a requirement to becoming a good developer. Many of the tools you will use in the industry will be self-taught through your own personal education, and working on side projects outside of school. It is this practice of self-teaching and discovering for oneself that can create great software developers. In this field the learning never stops, so learning how to discover information on your own is one of the most valuable skills a developer can have.

More Posts by Jarrod Rotolo: