To All Computer Science Students: It Takes Time

Prof. Cabrera
4 min readOct 27, 2018

--

The other day I was speaking to one of my best friends who is learning how to code. He has taken several programming courses at the college level as well as online courses outside of his college campus. He expressed to me that he feels he does not understand how software components connect to power real-world applications. That is, how did it connect to a front end? For instance, when did he need a database in a certain application?

Sure, he understood what a database was, the concept of it, but did not understand why and how the database connected to a server, for instance. In other words, he comprehended the details of a system and how to write code but did not understand the bigger picture of how it all worked. Which worried him because he felt needed to know everything to pursue a job in the tech industry as a software developer. Hence, he did not feel ready and thought he did not have the skills necessary to apply for a job.

I figured out there must be more Computer Science students out there that may feel the same way. So, today I am going to share some insights I have gained through the years as a software developer and some practical tips you can start doing to gain more confidence and understanding on how to apply what you have learned to large-scale applications. Consequently, feeling ready to apply for a job or working on your projects.

It takes time and practice

Working as a software developer, I have concluded that to understand things on a large scale when it comes to programming, it takes time. Furthermore, it takes experience applying the concepts and ideas repeatedly to deeply the understand the idea. The more you attempt at solving problems using your software development skills, the better you will get and the more you will understand the concepts and ideas you use. For instance, if you want to learn how to design web applications, practice on building web applications using your technology of choice. Furthermore, focus on building applications for different problems. This will help you gain a more in-depth perspective on the concepts you use and how they work behind the scenes to solve the problem of your choice.

Build projects

Another way you can start to comprehend how components in a software application work is by working on your projects. Do you have an idea of an app you have always wanted to make? This is an excellent opportunity to start developing it, thus, making it into a tangible product. By exposing yourself to the process of designing a software application from scratch and then writing the code, you will experience at first hand how different components connect in your application. For example, let’s say you want to build an application that allows users to create an account, log in and store their information by creating a profile.

In the process of designing it, you conclude that you need a database for the application. Then, you notice that you need a user interface. Thus you need to connect the front-end with the database. This is just a trivial example, but I hope you get the idea. By repeating the design and implementation process of your side-projects, you will start gaining a deeper perspective on how system components work together to power your applications. Also, by building your applications, you will have a portfolio, that you can later show to potential employers when applying for a job after graduating.

Go to hackathons

Hackathons are an excellent opportunity to work on exciting projects. Also, hackathons are a good way for Computer Science students to get experience. By participating in a hackathon, you will probably work with other developers to develop an application to solve a particular problem. Which in my opinion feels a lot like working in a professional setting, on a small scale of course. On a hackathon you will be given a deadline, will have to design and code the application. So, by participating in this process, you will be developing the social, and technical skills you will need to work as a professional software developer.

In hindsight, if you are a Computer Science student and you feel that you don’t understand how things work on large applications, don’t worry, you are not alone. It takes time to develop the skills and understanding of how everything the concepts you apply in your class will be applied in some way or another in the real world.

My suggestion is to practice building your projects, no matter how small they may seem to you, the more you practice applying your skills you will begin to understand and gain confidence in how to use the knowledge you have gained through your degree up to this point real-world applications. Remember, it takes time to gain this understanding and by practicing your skills you will get better.

Hope this helps!

If you liked this story give it a clap, so I know you like this type of topic and keep writing articles like this one. Also, as always, don’t forget to follow me, so you don’t miss a story.

Photo by Buenosia Carol from Pexels

Originally published at yadielcabrera.com on October 27, 2018.

--

--