Answers.Body: <p>There is a difference between, learning a programming language and learning to program. May people graduate having not get learnt the language, and therefore not properly started to learn to program.</p>
  <p>This is because of poor choice of language. This in turn is because the choice of language is motivated by what was used in industry 20 years ago, and not by what will help the students learn no program.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-07-15T21:10:04.527Z
Answers.LastActivityDate: 2023-07-15T21:10:04.527Z
Answers.UserDisplayName: ctrl-alt-delor
Answers.Body: <p>Without doxxing myself, I want to tell I was one of the guy who asked a question.</p>
  <p>I will tell you exactly why I ended up like that:</p>
  <ol>
  <li><p>IMO part of programming which is problem solving, you need to be grow with. I didn't say born with but grow with. It is not something a 4 year degree can teach to everyone.</p>
  </li>
  <li><p>We were taught too many courses in college. I studied computer engineering and we had 7-8 subjects per semester worth 100 marks of theory and 25-50 marks of practical. I really didn't know what the hell was that. I was learning literally nothing like that. Exams used to be 1 month(too much gap during exam) and semester used to be max 90 days and classes used to be around 30 days.</p>
  </li>
  <li><p>Too few hrs taught by professors.</p>
  </li>
  <li><p>0 focus in practical. We were literally given codes and asked to copy paste it and present the output. There were classes where we had to do our own research like in SQL class and (surprise surprise, I am working as a sql administrator atm...that's how much impact a college course could make).</p>
  </li>
  <li><p>The teaching was unprofessional. This problem is probably specific to Nepal. There is huge brain drain here and quality of teaching is horrendous. At that time, I didn't have access to udemy as there was no way to pay online in Nepal. But now I've it and it has became hell easier to learn.</p>
  </li>
  <li><p>No books. This was another problem. Libraries were empty. There were only 1 book of each subjects given. There was no culture of studying in library. I agree that I studied in a rather shittier college but I believe studying should be a norm in no matter how bad a college is.</p>
  </li>
  <li><p>Lack of awareness among students. Lack of knowledge to &quot;how to learn&quot;. The mental health of students in situations like this and many. I will never end writing this. But these are the core issues.</p>
  </li>
  </ol>
  <p>The way to solve this problem is simple.</p>
  <p>Make exercises based curriculum, take lab exams(i.e writing code) of every subjects in computer science seriously(yes there were no lab exams in our college only theory written exams), give challenging homeworks like our sql teacher gave us, do strict plaigarism checking and so on. But I know it's never happening in my country.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-08-03T05:04:44.560Z
Answers.Text: You said "This problem is probably specific to Nepal" so I assumed what you said happened in Nepal. It is good to have an answer from a country I didn't expect. I am from China and as a high school lecturer, I still feel that is unacceptable no matter what.
Answers.UserDisplayName: Qiulang 邱朗
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-08-02T15:34:44.610Z
Answers.LastActivityDate: 2023-08-02T15:34:44.610Z
Answers.UserDisplayName: zeeshanseikh
Answers.Body: <p>You can replace &quot;Computer Science Degree&quot; with &quot;Coding boot camp&quot; or &quot;Software engineering degree&quot; and you have the same problem. New graduates do not have the experience to make them as productive as someone with 20 years of experience. I have about 20 years of experience now. When I think back to what I was like 20 years ago, it's pretty amazing how far I've come. Things that I struggled with for days and even weeks are almost like muscle memory now.</p>
  <p>This is natural.</p>
  <p>This topic has been a burning thorn in my side for years. I've hired people. I've put together teams, trained, mentored. Almost every project I've ever been on has been a near panic to get done. There is a tremendous amount of pressure on developers to produce because we are typically paid more than the average worker, and by the time we put fingers to keyboard, your customer has spent weeks to months getting things prepared. They are anxious to see progress, so they pressure us to write code quickly.</p>
  <p>This is also natural.</p>
  <p>Comparing myself now to myself 20 years ago provides some insights:</p>
  <ul>
  <li><p>Customers were in a panic 20 years ago to build software.</p>
  </li>
  <li><p>Customers are still in a panic 20 years later.</p>
  </li>
  <li><p>The difference is now I have 20 years of experience, so I can work faster. The time pressure is less intense now.</p>
  <ul>
  <li>The constant time pressure has made me a bit... stubborn. And a little cranky. Maybe this last point is irrelevant. It also might be why the pressure doesn't bother me as much anymore.</li>
  </ul>
  </li>
  </ul>
  <p>I've worked for large corporations, start-ups, and government organizations. The one common thing I've noticed is that employers expect a new college graduate to produce reems of code just like their senior developers. There is a complete mismatch between what new graduates can offer and what employers expect. Perhaps this is cultural where I'm from, but the blame gets placed on colleges for not preparing students for &quot;the real world.&quot; Students are also blamed because they didn't get experience before graduating college. How can students get experience when entry-level jobs require... <em>experience</em>!?</p>
  <hr />
  <p>Let's do a full stop on the topic of computer science for a moment and talk about bricklayers — people who build brick walls for an occupation. <a href="https://bricklayers.org/training" rel="noreferrer">Apprenticeship programs</a> exist to guide new workers along a journey of learning and practical experience. Classroom training is coupled with boots-on-the-ground work on real projects under the tutelage of a more experienced person. This recipe has been repeated in many occupations way before computers were invented. <strong>This is the missing piece in software engineering.</strong></p>
  <hr />
  <p>I used to blame colleges for lousy college graduates. This is a crap way to think about the situation. College can't get you the 3 years of experience you need to take start producing code efficiently. College provides the theoretical foundation upon which the &quot;real world&quot; is built. College graduates think they can't program because the can't! And they shouldn't be expected to! They haven't programmed yet!</p>
  <p>We, as employers, need to abandon the idea that college graduates are magical, mythical beings who don't need to <a href="https://www.norvig.com/21-days.html" rel="noreferrer">bang their heads on 10,000 little problems for 10 years</a>. I keep hearing about a shortage of programmers, but there is no shortage of people applying for these jobs with computer science degrees. We, as <em>employees</em>, need to stop blaming ourselves and our colleges. It takes time to learn programming no matter which college you went to or which degree you got.</p>
  <p>The software development industry has a complete lack of organization to build up it's own workforce. College graduates cannot be blamed for this. Colleges cannot be blamed for this. Our perspective on this problem is all wrong. Until employers recognize the need for apprenticeship-style work experiences, we will always have a &quot;shortage&quot; of developers, and college graduates will always feel laughably inadequate for their first programming job. That being said, software engineering apprenticeships are becoming a real thing now, and it's about time.</p>
  <p>I should get off my soapbox now. It's getting late.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-08-18T00:55:08.903Z
Answers.LastActivityDate: 2023-08-18T00:55:08.903Z
Answers.UserDisplayName: Greg Burghardt
Answers.Body: <p>Computer Science is related to Programming the same as e.g. Physics is related to Electrical Engineering.</p>
  <p>One deals with the scientific background, and the other teaches how to make things that are useful, reliable, safe, cost-efficient, maintainable and so on.</p>
  <p>It would be nice to have distinct Software Engineering university programs, distinct from Computer Science, but even such a degree would only half-prepare you for any real job. Comparable: someone with a degree in Electrical Engineering will still need lots of experience before successfully designing e.g. the next iPhone (and most probably no single person will do that, but a large team of specialists). And someone with a Physics degree will even be less prepared.</p>
  <p>And as programs are among the most complex things that mankind produces, creating them (so that they show the above-mentioned properties) is far from trivial.</p>
  <p>As someone working in the software industry for some decades now, I can tell you some things from experience:</p>
  <ul>
  <li>Nobody ever is perfect in programming. We all have strengths and weaknesses.</li>
  <li>There is no perfect code. You'll always find aspects that could be improved. But often enough, it's the correct decision not to improve, because the gain isn't worth the effort.</li>
  <li>Rely on experienced peers to guide you in aspects that you haven't mastered yet.</li>
  <li>There is no such thing as a full-stack developer. Nobody masters everything from User Experience down to Data Services with high production-level quality. If a single-person project covers all that, you'll surely find lots of deficiencies. Again, rely on a team.</li>
  <li>Every team and every product has its own philosophy, guidelines, tools, style and so on, and nobody expects a newcomer to embrace that within the first week on the job.</li>
  </ul>
  <p>So, yes, if you want to go into programming from &quot;just&quot; a Computer Science degree, expect a steep learning curve. But everybody in the industry knows that and is willing to train you on the job. And the learning curve will never end. Embrace that, it's part of the fun.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-07-07T07:13:43.330Z
Answers.Text: Thanks for the answer. But let me clarify something myself. I am a teacher (in China), not a student and from my limited experience, I can't say this is the case I experienced. That is one of the main reasons I asked. Second I wasn't even talking about "perfect",  "qualified" maybe.
Answers.UserDisplayName: Qiulang 邱朗
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-08-07T23:57:22.947Z
Answers.Text: _"It would be nice to have distinct Software Engineering university programs, distinct from Computer Science, but even such a degree would only half-prepare you for any real job."_ Either I've just uncovered a cultural difference that I did not know existed, or maybe you didn't know about it, but non-CS courses are most definitely a thing. Universities (as opposed to colleges - this distinction may be culturally different for you) _tend_ to take the more academic route (CS) rather than the practical one (SE), but not exclusively so. I do agree that experience remains king here.
Answers.UserDisplayName: Flater
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-07-07T07:05:25.027Z
Answers.LastActivityDate: 2023-07-07T07:05:25.027Z
Answers.UserDisplayName: Ralf Kleberhoff
Body: <p>I came across this question, <a href="https://softwareengineering.stackexchange.com/questions/43528/im-graduating-with-a-computer-science-degree-but-i-dont-feel-like-i-know-how-t?answertab=scoredesc#tab-top">I'm graduating with a Computer Science degree but I don't feel like I know how to program</a> on <a href="https://softwareengineering.stackexchange.com/">https://softwareengineering.stackexchange.com/</a>. It has <strong>1050</strong> upvotes and <strong>130</strong> answers so far. But it was asked in 2010 and I don't know how much has changed. Then I found here a similar question asked in 2021  <a href="https://cseducators.stackexchange.com/questions/7094/i-am-a-cs-student-but-i-dont-know-how-to-code-projects-how-do-i-learn-this">I am a CS student, but I don&#39;t know how to code projects. How do I learn this?</a></p>
  <p>So is this common if students study in some average colleges? If it is what is the reason?</p>
  <p>--- update ---</p>
  <p>I did some research and found these two articles may explain it a little bit.</p>
  <ol>
  <li>A Q&amp;A on quora <a href="https://www.quora.com/How-common-is-it-to-graduate-with-a-Computer-Science-degree-and-you-dont-know-how-to-code" rel="nofollow noreferrer">How common is it to graduate with a Computer Science degree and you don't know how to code?</a>. <a href="https://qr.ae/py5nwE" rel="nofollow noreferrer">One of the answers</a> said,</li>
  </ol>
  <blockquote>
  <p>More common than you think... I did great on all my projects, but none
  required a front end or a database. How could I do anything
  meaningful? Sure, I could take data and inputs and make things work
  how I wanted, and I could meet the requirements given to me, but it
  seemed like my best work was fairly trivial compared to “real
  software.” I’d never made something “pretty” or impressive.</p>
  <p>...</p>
  <p>Now, you should be able to code small programs ... plenty of grads
  finish thinking, “I can’t code.” In reality, they can’t code to the
  point where they can make a mobile app, a fancy website, or a complete
  system. That isn’t “I can’t code” and is instead “I don’t know what’s
  expected of a new software engineer.”</p>
  </blockquote>
  <ol start="2">
  <li><a href="https://www.freecodecamp.org/news/is-it-computer-science-or-programming-c01383dacc9c/" rel="nofollow noreferrer">Is It &quot;Computer Science&quot; or &quot;Programming&quot;?</a></li>
  </ol>
  <blockquote>
  <p>As a computer science major myself, I can tell you firsthand that
  computer science involves writing very little code — especially at the
  higher levels. If I had to arbitrarily assign a percentage to “math v.
  programming”, I would say that computer science is at least 80% math
  and at most 20% programming.</p>
  <p>...</p>
  <p>computer science majors are not necessarily good programmers. Granted,
  they show a higher aptitude towards becoming a good programmer, but
  they rarely know how to code anything useful coming out of college
  with a computer science degree</p>
  </blockquote>
  <p>But I hope to see someone with first-hand experience explaining it.</p>
  <p>BTW, I am not looking for an answer about what students should do to deal with the situation as the 130 answers on SE are enough. I want to know if this is the case in 2023. If yes, what could be the reason(s)?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-06-29T17:20:18.610Z
Comments.Text: Many reasons of course, programming introduced with real world programing languages instead of academically crafted ones being a factor quite high in the list. [See](https://cseducators.stackexchange.com/a/6164/8837) fir a hint
Comments.UserDisplayName: Rushi
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-07-13T10:31:19.873Z
Comments.Text: I'm very much in the camp of CS teachers who thinks and sees this is the case. I started writing an answer but it's getting looong and many sided. To add to that you say you're not convinced this is the case. This is quite another question... makes it longer still.!
Comments.UserDisplayName: Rushi
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-07-13T11:33:40.663Z
Comments.Text: I just said this is NOT what I experience. If the student is a freshman or sophomore I can imagine. But if he/she is a senior or graduated I would say that is outrageous.
Comments.UserDisplayName: Qiulang 邱朗
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-10-13T05:07:16.060Z
Comments.Text: I came across this post [Falsehoods CS Students (Still) Believe Upon Graduating](https://www.netmeister.org/blog/cs-falsehoods.html) today, kinda funny, e.g. "People with a CS degree know how to program."
Comments.UserDisplayName: Qiulang 邱朗
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-10-13T05:19:35.373Z
Comments.Text: Cute!  Yeah a reminder to write my long promised answer... The problem is if you think something cannot be a fact because it's outrageous... welllll we're living in alternate worlds . Just look at all the wars going on — the new + the old recurrent
Comments.UserDisplayName: Rushi
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-10-13T06:46:52.993Z
Comments.Text: One of the reasons I asked is I don't know what should I expect from a new-hire cs undergraduate, especially when I don't do the interview and they are just assigned to my team. And I did have some disappointing cs undergraduates before.
Comments.UserDisplayName: Qiulang 邱朗
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-10-13T09:44:23.993Z
Comments.Text: O my! This make the question wider once again. Industry & academics are two worlds and neither understands/appreciates the other. So eg. ppl may advertise for CS-ists and not even need them, conversely advertise for 'Java resources' and then complain that wider CS knowledge is lacking
Comments.UserDisplayName: Rushi
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-10-14T08:40:31.287Z
Comments.Text: But I didn't add that to my question (on purpose) because I only wanted to know "Is it common that CS graduates have a hard time programming?" as I said in the title. And if this is the case what is the reason?
Comments.UserDisplayName: Qiulang 邱朗
Tags: <programming><undergraduate><assessment>
Title: Is it common that CS graduates have a hard time programming?
ThreadText: # Is it common that CS graduates have a hard time programming?
  
  (Asked by: username_0 on 2023-06-28)
  
  I came across this question, [I'm graduating with a Computer Science degree but I don't feel like I know how to program](https://softwareengineering.stackexchange.com/questions/43528/im-graduating-with-a-computer-science-degree-but-i-dont-feel-like-i-know-how-t?answertab=scoredesc#tab-top) on <https://softwareengineering.stackexchange.com/>. It has **1050** upvotes and **130** answers so far. But it was asked in 2010 and I don't know how much has changed. Then I found here a similar question asked in 2021 [I am a CS student, but I don't know how to code projects. How do I learn this?](https://cseducators.stackexchange.com/questions/7094/i-am-a-cs-student-but-i-dont-know-how-to-code-projects-how-do-i-learn-this)
  
  So is this common if students study in some average colleges? If it is what is the reason?
  
  --- update ---
  
  I did some research and found these two articles may explain it a little bit.
  
  1. A Q&A on quora [How common is it to graduate with a Computer Science degree and you don't know how to code?](https://www.quora.com/How-common-is-it-to-graduate-with-a-Computer-Science-degree-and-you-dont-know-how-to-code). [One of the answers](https://qr.ae/py5nwE) said,
  
  > More common than you think... I did great on all my projects, but none
  > required a front end or a database. How could I do anything
  > meaningful? Sure, I could take data and inputs and make things work
  > how I wanted, and I could meet the requirements given to me, but it
  > seemed like my best work was fairly trivial compared to “real
  > software.” I’d never made something “pretty” or impressive.
  >
  > ...
  >
  > Now, you should be able to code small programs ... plenty of grads
  > finish thinking, “I can’t code.” In reality, they can’t code to the
  > point where they can make a mobile app, a fancy website, or a complete
  > system. That isn’t “I can’t code” and is instead “I don’t know what’s
  > expected of a new software engineer.”
  
  2. [Is It "Computer Science" or "Programming"?](https://www.freecodecamp.org/news/is-it-computer-science-or-programming-c01383dacc9c/)
  
  > As a computer science major myself, I can tell you firsthand that
  > computer science involves writing very little code — especially at the
  > higher levels. If I had to arbitrarily assign a percentage to “math v.
  > programming”, I would say that computer science is at least 80% math
  > and at most 20% programming.
  >
  > ...
  >
  > computer science majors are not necessarily good programmers. Granted,
  > they show a higher aptitude towards becoming a good programmer, but
  > they rarely know how to code anything useful coming out of college
  > with a computer science degree
  
  But I hope to see someone with first-hand experience explaining it.
  
  BTW, I am not looking for an answer about what students should do to deal with the situation as the 130 answers on SE are enough. I want to know if this is the case in 2023. If yes, what could be the reason(s)?
  
  **Tags:** programming, undergraduate, assessment
  
  > **Comments:**
  > **username_1**: Many reasons of course, programming introduced with real world programing languages instead of academically crafted ones being a factor quite high in the list. [See](https://cseducators.stackexchange.com/a/6164/8837) fir a hint  
  > **username_1**: I'm very much in the camp of CS teachers who thinks and sees this is the case. I started writing an answer but it's getting looong and many sided. To add to that you say you're not convinced this is the case. This is quite another question... makes it longer still.!  
  > **username_0**: I just said this is NOT what I experience. If the student is a freshman or sophomore I can imagine. But if he/she is a senior or graduated I would say that is outrageous.  
  > **username_0**: I came across this post [Falsehoods CS Students (Still) Believe Upon Graduating](https://www.netmeister.org/blog/cs-falsehoods.html) today, kinda funny, e.g. "People with a CS degree know how to program."  
  > **username_1**: Cute!  Yeah a reminder to write my long promised answer... The problem is if you think something cannot be a fact because it's outrageous... welllll we're living in alternate worlds . Just look at all the wars going on — the new + the old recurrent  
  > **username_0**: One of the reasons I asked is I don't know what should I expect from a new-hire cs undergraduate, especially when I don't do the interview and they are just assigned to my team. And I did have some disappointing cs undergraduates before.  
  > **username_1**: O my! This make the question wider once again. Industry & academics are two worlds and neither understands/appreciates the other. So eg. ppl may advertise for CS-ists and not even need them, conversely advertise for 'Java resources' and then complain that wider CS knowledge is lacking  
  > **username_0**: But I didn't add that to my question (on purpose) because I only wanted to know "Is it common that CS graduates have a hard time programming?" as I said in the title. And if this is the case what is the reason?  
  
  ---
  
  ## 4 answers
  
  ### Answer by username_4 on 2023-08-18. Score: 5
  
  You can replace "Computer Science Degree" with "Coding boot camp" or "Software engineering degree" and you have the same problem. New graduates do not have the experience to make them as productive as someone with 20 years of experience. I have about 20 years of experience now. When I think back to what I was like 20 years ago, it's pretty amazing how far I've come. Things that I struggled with for days and even weeks are almost like muscle memory now.
  
  This is natural.
  
  This topic has been a burning thorn in my side for years. I've hired people. I've put together teams, trained, mentored. Almost every project I've ever been on has been a near panic to get done. There is a tremendous amount of pressure on developers to produce because we are typically paid more than the average worker, and by the time we put fingers to keyboard, your customer has spent weeks to months getting things prepared. They are anxious to see progress, so they pressure us to write code quickly.
  
  This is also natural.
  
  Comparing myself now to myself 20 years ago provides some insights:
  
  * Customers were in a panic 20 years ago to build software.
  * Customers are still in a panic 20 years later.
  * The difference is now I have 20 years of experience, so I can work faster. The time pressure is less intense now.
  
    + The constant time pressure has made me a bit... stubborn. And a little cranky. Maybe this last point is irrelevant. It also might be why the pressure doesn't bother me as much anymore.
  
  I've worked for large corporations, start-ups, and government organizations. The one common thing I've noticed is that employers expect a new college graduate to produce reems of code just like their senior developers. There is a complete mismatch between what new graduates can offer and what employers expect. Perhaps this is cultural where I'm from, but the blame gets placed on colleges for not preparing students for "the real world." Students are also blamed because they didn't get experience before graduating college. How can students get experience when entry-level jobs require... *experience*!?
  
  ---
  
  Let's do a full stop on the topic of computer science for a moment and talk about bricklayers — people who build brick walls for an occupation. [Apprenticeship programs](https://bricklayers.org/training) exist to guide new workers along a journey of learning and practical experience. Classroom training is coupled with boots-on-the-ground work on real projects under the tutelage of a more experienced person. This recipe has been repeated in many occupations way before computers were invented. **This is the missing piece in software engineering.**
  
  ---
  
  I used to blame colleges for lousy college graduates. This is a crap way to think about the situation. College can't get you the 3 years of experience you need to take start producing code efficiently. College provides the theoretical foundation upon which the "real world" is built. College graduates think they can't program because the can't! And they shouldn't be expected to! They haven't programmed yet!
  
  We, as employers, need to abandon the idea that college graduates are magical, mythical beings who don't need to [bang their heads on 10,000 little problems for 10 years](https://www.norvig.com/21-days.html). I keep hearing about a shortage of programmers, but there is no shortage of people applying for these jobs with computer science degrees. We, as *employees*, need to stop blaming ourselves and our colleges. It takes time to learn programming no matter which college you went to or which degree you got.
  
  The software development industry has a complete lack of organization to build up it's own workforce. College graduates cannot be blamed for this. Colleges cannot be blamed for this. Our perspective on this problem is all wrong. Until employers recognize the need for apprenticeship-style work experiences, we will always have a "shortage" of developers, and college graduates will always feel laughably inadequate for their first programming job. That being said, software engineering apprenticeships are becoming a real thing now, and it's about time.
  
  I should get off my soapbox now. It's getting late.
  
  
  ---
  
  ### Answer by username_5 on 2023-07-07. Score: 3
  
  Computer Science is related to Programming the same as e.g. Physics is related to Electrical Engineering.
  
  One deals with the scientific background, and the other teaches how to make things that are useful, reliable, safe, cost-efficient, maintainable and so on.
  
  It would be nice to have distinct Software Engineering university programs, distinct from Computer Science, but even such a degree would only half-prepare you for any real job. Comparable: someone with a degree in Electrical Engineering will still need lots of experience before successfully designing e.g. the next iPhone (and most probably no single person will do that, but a large team of specialists). And someone with a Physics degree will even be less prepared.
  
  And as programs are among the most complex things that mankind produces, creating them (so that they show the above-mentioned properties) is far from trivial.
  
  As someone working in the software industry for some decades now, I can tell you some things from experience:
  
  * Nobody ever is perfect in programming. We all have strengths and weaknesses.
  * There is no perfect code. You'll always find aspects that could be improved. But often enough, it's the correct decision not to improve, because the gain isn't worth the effort.
  * Rely on experienced peers to guide you in aspects that you haven't mastered yet.
  * There is no such thing as a full-stack developer. Nobody masters everything from User Experience down to Data Services with high production-level quality. If a single-person project covers all that, you'll surely find lots of deficiencies. Again, rely on a team.
  * Every team and every product has its own philosophy, guidelines, tools, style and so on, and nobody expects a newcomer to embrace that within the first week on the job.
  
  So, yes, if you want to go into programming from "just" a Computer Science degree, expect a steep learning curve. But everybody in the industry knows that and is willing to train you on the job. And the learning curve will never end. Embrace that, it's part of the fun.
  
  > **Comments:**
  > **username_0**: Thanks for the answer. But let me clarify something myself. I am a teacher (in China), not a student and from my limited experience, I can't say this is the case I experienced. That is one of the main reasons I asked. Second I wasn't even talking about "perfect",  "qualified" maybe.  
  > **username_6**: _"It would be nice to have distinct Software Engineering university programs, distinct from Computer Science, but even such a degree would only half-prepare you for any real job."_ Either I've just uncovered a cultural difference that I did not know existed, or maybe you didn't know about it, but non-CS courses are most definitely a thing. Universities (as opposed to colleges - this distinction may be culturally different for you) _tend_ to take the more academic route (CS) rather than the practical one (SE), but not exclusively so. I do agree that experience remains king here.  
  
  ---
  
  ### Answer by username_2 on 2023-07-15. Score: 1
  
  There is a difference between, learning a programming language and learning to program. May people graduate having not get learnt the language, and therefore not properly started to learn to program.
  
  This is because of poor choice of language. This in turn is because the choice of language is motivated by what was used in industry 20 years ago, and not by what will help the students learn no program.
  
  
  ---
  
  ### Answer by username_3 on 2023-08-02. Score: 1
  
  Without doxxing myself, I want to tell I was one of the guy who asked a question.
  
  I will tell you exactly why I ended up like that:
  
  1. IMO part of programming which is problem solving, you need to be grow with. I didn't say born with but grow with. It is not something a 4 year degree can teach to everyone.
  2. We were taught too many courses in college. I studied computer engineering and we had 7-8 subjects per semester worth 100 marks of theory and 25-50 marks of practical. I really didn't know what the hell was that. I was learning literally nothing like that. Exams used to be 1 month(too much gap during exam) and semester used to be max 90 days and classes used to be around 30 days.
  3. Too few hrs taught by professors.
  4. 0 focus in practical. We were literally given codes and asked to copy paste it and present the output. There were classes where we had to do our own research like in SQL class and (surprise surprise, I am working as a sql administrator atm...that's how much impact a college course could make).
  5. The teaching was unprofessional. This problem is probably specific to Nepal. There is huge brain drain here and quality of teaching is horrendous. At that time, I didn't have access to udemy as there was no way to pay online in Nepal. But now I've it and it has became hell easier to learn.
  6. No books. This was another problem. Libraries were empty. There were only 1 book of each subjects given. There was no culture of studying in library. I agree that I studied in a rather shittier college but I believe studying should be a norm in no matter how bad a college is.
  7. Lack of awareness among students. Lack of knowledge to "how to learn". The mental health of students in situations like this and many. I will never end writing this. But these are the core issues.
  
  The way to solve this problem is simple.
  
  Make exercises based curriculum, take lab exams(i.e writing code) of every subjects in computer science seriously(yes there were no lab exams in our college only theory written exams), give challenging homeworks like our sql teacher gave us, do strict plaigarism checking and so on. But I know it's never happening in my country.
  
  > **Comments:**
  > **username_0**: You said "This problem is probably specific to Nepal" so I assumed what you said happened in Nepal. It is good to have an answer from a country I didn't expect. I am from China and as a high school lecturer, I still feel that is unacceptable no matter what.  
  
  ---
  
  