Software development vs universities and scientific papers In short: Does learning how to make software, have its place inside universities? If so which parts of it?
I was studying in a university in Russia. I don't want to name its name and location. I wanted to become a software developer. Following some people's advice I entered a faculty that was mostly about math. All its teachers are mathematicians. So most of our subjects were just different kinds of math. There also was some programming but much less. I was told by other students and teachers that how I pass Calculus and Algebra exams was the most important thing and that programming exams were unimportant at all. Many different teachers and students were saying that &quot;a university does not need to teach programmers&quot;. They say that &quot;it's not science&quot; and &quot;it's nothing but craftsmanship&quot;. During a defense of diploma people sometimes ask programmers something like &quot;That's all interesting but that's not math so why it's a diploma work?&quot;
When I talked with people who were actually working as software developers they were saying that &quot;If you don't how to fix problems with Linux and don't know a single architecture pattern then as a programmer you are really nothing&quot;. They also said that &quot;I wouldn't hire a developer who doesn't tell me that HP-UX is a bad OS when I mention it&quot;. In university we spent a single lecture on patterns(and not even all students but some) and none on Linux and other operating systems. And I knew literally nothing about HP-UX. I had to learn 90% of my skills myself via books, online-tutorials and documentation.
In our country IT is a very popular industry. Because of that the math faculty students are 90% wannabe programmers. Teachers really hate that as they want math to be popular again. They say that &quot;computer science ate math&quot;(That's citation of a teacher during a lesson, &quot;Информатика съела математику&quot;). The teachers despise us programmers. The employers in Russia prefer candidates with a degree but will gladly accept those without it. The students try to pass all exams only to have the degree, they don't care about subjects at all. They forget everything when they come out of a room after an exam. It's seems like students and teachers declared war against each other.
I left university without any degree. Now I work as JS-developer. I myself participate in interviews to hire new developers. I ask them about things like Single Responsibility Principle, how to write clean code and how to create indexes in SQL. I know that SRP is not a law of physics, it comes without a good scientific proof. But I need it from by workers.
The question is how do Universities in other countries approach teaching software development? Do they actually target it? Is actually becoming a real software developer that will be respected by employers and not a scientist is a valid goal for a university student?
Short answer: yes.
Disclaimer: I'm an Associate. Pr. of Computer Science in a University in France. We have several undergraduate and graduate programs that lead to bachelor and master's degree of Computer Science.
As the degree is about Computer Science, we do teach software engineering (among other topics : databases, networking, logic, architecture, compilers, ...).
Some applied program are very applied (the students are working in a company for the duration of their studies, switching every two or three weeks between their company and the lectures at the Uni).
A computer science curriculum where one learns about software development is quite standard (from working with several colleagues from around the world I now that such things exist in the US, UK, most of Europe, Asia, Australia, …).