Do you feel like 4 years of college taught you enough?
So far with the jobs/internships I've had related to IST/computer science , I've noticed that obviously the things I learn in class are applied, but I also feel like theres so much I don't know. I know this is common because theres no way you can learn everything, it takes time/practice. Sometimes you may even have to learn new skills for a job. This could be because new things are used or maybe you're adding to what you already know. In some of these jobs I gained new skill sets but when starting others I feel like I barely learned enough to help with a job. My question is after graduating with a bachelors do you feel like you learned enough for the jobs/internships you got in the beginning? If not, how did you deal with it? #computer-science #internship #job
So what does college give you? It gives you a foundation. A good analogy would be that it gives you a toolbox. Inside the toolbox you have some basics. A hammer, screwdriver, some nails here and there. Say you start a job building a house. You can make some progress with your hammer and nails. You look at what your company done for other houses they've built. They've used measuring tapes, drills, and pliers. So you use those and apply them to your house. Then, when you're finished, you can add that to your toolbox. Then when you go to the next house, you have those new tools and skills.
College is the same way. You're given simple tools. You're given a few different programming languages you can use. You're given a few design patterns, and databases. Then when you go to build software, you can apply what you know. Now when you start a job, and find out that they are using a different framework, you can add that framework to your toolbox.
It's the same with any career if you choose to grow and expand your knowledge. You're always going to be putting more tools into your toolbox.
The technology industry is a continually moving one, always moving forward and always moving fast. It's quite normal to start an internship feeling overwhelmed and seemingly without enough skills. College should give you the tools to figure out how to learn, how to collaborate with others, how to search for answers and ultimately put you in a position to succeed.
However, much of what you will learn will be on-the-job by learning from others, by looking at what others have done, by listening and asking questions, by failing and learning from failure, and most importantly be willing to learn, be challenged and trying things out.
Remain patient and inquisitive and with time things will start to click. Don't try to go too deep on day one but instead focus in on the task at hand and slowly move outwards from there.
All the best,
I agree with Marco -- college for me was really about learning how to learn and how to collaborate rather than what I actually learned. I studied marketing in my undergrad, and all of my classes were focused on consumer-facing marketing or big brands (think Disney, Coca Cola, etc.) Now, I work on Business to Business products, which is a completely different ballgame.
It's also comforting to remember that no one expects you to have it all figured out on day one. When you join a company, they expect to have to train you to some degree, whether that's on the platforms they use, their internal systems, or their specific products. As long as you're committed and can diligently work to understand, you'll do great.
Best of luck!
In addition to working as a computer programmer for the last 20 years (same job for the last 16) I've also been involved in the hiring process where I now work. The first step in that process is to send each applicant a short quiz by email. The quiz isn't difficult and the applicant is welcome to use the internet or other resources to help answer the questions. When I first applied and got the quiz, I thought to myself that this can't possibly weed out any but the weakest candidates. I was wrong, it weeds out most applicants. It is shocking how many people with a four-year degree in computer science can't answer fundamental questions or write a simple function that demonstrates an understanding of if/else logic.
That being said, getting a master's degree or higher does not generally prepare you better for the world of work. I can say that from my experience interviewing candidates for programmer positions, candidates with advanced degrees typically had a better academic understanding of programming concepts, but often lack a practical understanding.
Internships and real-world work make a huge difference. However, where you get that experience is also extremely important, just like where you get your degree. Not all experience is equal.
Last thing, and I say this a lot. Most degree programs put very little emphasis on database, and in the real world that's something you use a lot. Typical computer science programs require one, possibly two database classes, basically 3 to 6 credit hours out of 120 or so that you need for your degree, and it's often very academic and heavy on database theory. If you have the chance, take more database classes, especially practical ones, and learn to write a good SQL query. Learn to rely on SQL views, functions and stored procedures. Often the largest part of your data processing happens (or should) in SQL before the data gets to your application. Learn how to construct a good database with appropriate tables and foreign keys that reflect the classes you will be creating in your app. Learn how to avoid common database pitfalls. You'll be glad you did.
This is a great question. My perspective is going to be a little different. I did things kind of backwards with school and work in my career. What I mean by that is I started working in my industry about 27 years ago without the degree. I began as a computer operator and worked my way up through experience. I went into desktop computer support, then into network administration, and ultimately to systems development and validation. I only recently went back to school and completed a BS in Computer Science. I did fairly well for not having a degree, but I do think that having one could have made my career advancement go smoother and given me more options.
Here's what I think the degree gives you:
- It builds discipline and work ethic.
- It exposes you to a wide variety of subjects and will help you figure out your interests.
- It helps develop your communication skills (incredibly important in my experience.)
- It gives a foundational knowledge that you can build on.
- It opens doors that otherwise might not be available to you.
No, college doesn't necessarily give you everything you need. One thing I'll suggest is that if you see careers or particular jobs you're interested in or companies you'd like to work for, do some research and see what skills are required. Take it upon yourself to learn as much as you can about technologies companies are using. Particularly in Computer Science fields, things change fast and learning never stops. I learn something new almost daily. I also carve out time for learning new things (1/2 to 1 hour a week) through research, taking online classes, talking with experts, coding small programs to automate tasks, etc.
I agree with Marco and Addie. Technology is a fast paced industry that is changing everyday.
College will teach you the basis in which the technology is built to create a mindset and they will provide you the tools to keep learning. We are living in constant change and you can be part of the new coming technologies. Keep focused on your studies and open your mind to new ideas that come to you from what you are learning from your professors. Technology will let you learn everyday.
The formation that college provide is the founding principles from where you will launch your career.
I wish you the best!
Any college degree can reflect positively on you as a professional. Other than formal subjects/ coursework teaching you the foundation for what areas you have chosen to get education, by virtue of going to college you just acquire so many other skills e.g., Collaboration, working in teams, business writing, decision making, working under pressure, discipline of completing assigned work, respect for time lines, etc.
It helps you establish a good foundation towards becoming a good professional. Rest is up to you, the attitude, approach, and quick learning can help you rapidly advance and thrive.
There has been lots of great replies and I completely agree with all of them.
After spending over two decades in software engineering, I should admit that we all get into similar situation quite often. It requires continuous motivation to learn new tools and technologies to match with speed of technology advancements. I truly believe in being a "perpetual learner" to stay current in this industry. The good news is we have plenty of platforms to help us acquiring new skills without getting to a class room based curriculum.
Being said that school teaches us a lot and helps to build strong foundation for a long career in this competitive industry. Most of the time the problem solving skills we developed in school, we use them in our day-to-day work.
Focus on building the foundation, continue to acquire new skills, unlearn and relearn to stay relevant! Wish you good luck!