What am I learning in college that is actually relevant to becoming a software engineer?
Hi! My name is Anina and I'm a high school senior interning at CareerVillage. I'm not sure yet whether I'm interested in a career in software engineering. However, I've heard around the web that colleges don't teach you how to program, and you have to do that yourself. In that case, what do colleges teach you when you major in computer science? Theory? #computer-science #technology #programming #software-engineering #computer-programming
5 answers
Pran’s Answer
Your classes will give you a toolbox. The thing that they don't teach is how to jump into an existing project, probably with some really old and barely readable legacy code with little to no documentation, figure out what the code does, what it SHOULD do, what you want to add or change, and how to do that in such a way that it's better when you are done than when you started. The classic problem is that college classes teach "lessons", not production coding. You get a lesson on memory management, a lesson on loops, a lesson on branches or case statements, etc, but all the fancy code tricks you learn from there are mostly useless when you get to a real coding environment. But they're available tools when you need them, and they teach you how things generally work so that you can recognize and/or diagnose code.
To be fair, that's the case for most subjects. I've done software and hardware, science and engineering, and it's the same story in all cases. The tools are the important thing to learn, and if you can get some internships or summer jobs that'll help with putting it all together in a more realistic context. Each job will have a learning curve where you figure out what tools and environments are used and how stuff fits together, and the better you've mastered your toolbox the better off you'll be.
Felipe’s Answer
Hi Anina!
College teach you a lot, logic, data structures, how to handle files, how to program web applications, common algorithms, amont a lot other things that gives you all you need to know to be a programmer, normally you will learn in college various different programming languages, and then is a matter to have a book or guide about a particular language to be able to program anything you want or need, it is a good job and profitable due to high demand and low offer of programmers in all markets. So don't think about it too much, if you like technology you will love this kind of job.
Hope this helps you!
Felipe
Jeff’s Answer
Hi Anina!
It really depends on which college and what degree you choose. Most colleges teach several languages and offer multiple programming classes. However there are some colleges that are more focused on theory. If they offer Ph.D. degrees in CS they will probably be more theory based.
Look at the degree programs and read the course descriptions as well as the program overview. Pay attention to the list of required classes. Also, if you have questions about a specific program, call the department and ask to speak to the undergraduate advisor. They can guide you based on your preferences. Ask them how many actual programming classes they require and offer. How often are those courses offered? Small colleges tend to have classes in their course descriptions that they never offer. Ask to talk to current students in the program. It's really all about researching your options.
Best of luck!
Jimil’s Answer
As a college student majoring in computer science, you will likely be learning a wide range of concepts and skills that are relevant to becoming a software engineer. Here are a few examples of what you might be learning:
Programming: Most computer science programs will require you to take a variety of programming classes, where you will learn how to write and debug code in different programming languages such as C++, Java, Python, and others. You will learn concepts such as data structures, algorithms, and how to write efficient and effective code.
Software development: Some classes may be more focused on the process of software development, which includes topics such as software design, testing, and debugging. You will learn how to create software by following methodologies such as Agile, Scrum, Waterfall and others.
Computer Science Theory: You will also learn the fundamental concepts of computer science such as algorithms, data structures, and computational complexity. This theory will help you understand the underlying principles that are used in the practice of programming.
Computer Architecture: you will be learning about the internal workings of computers, including how data is stored, processed, and transmitted. You will learn about different types of processors, memory, and storage, which will help you understand how computers operate.
Data Science: many computer science programs now offer Data Science classes, where you will learn about data management and analysis, machine learning, and visualization.
Specialization: Some programs may also offer specialized classes in areas such as artificial intelligence, web development, mobile development, game development, cybersecurity, or cloud computing.
While the curriculum of each college may vary, most Computer Science programs are designed to give students a solid foundation in programming, software development, and computer science theory, which will be relevant to becoming a software engineer. It's also worth noting that learning how to program is not just about understanding the code but also learning about problem-solving, critical thinking and understanding the human-computer interaction.
Jacquelyn Poticny
Jacquelyn’s Answer
There are lots of opportunities to learn from people - you just need to continue to research.