4 ms·
My school had plenty of "vocational" classes available to CS (and other) students. The school even made an effort to keep the pre-reqs simple for these so that
by mywittyname 5y ago
My school had plenty of "vocational" classes available to CS (and other) students. The school even made an effort to keep the pre-reqs simple for these so that students from other disciplines could give them a shot (and maybe so that students could prepare for internships). Classes like, iOS development, back-end web development, intro to data science, etc.
I'd be surprised if most universities didn't offer something similar. Even students at Ivy League school must want to get together with other students and learn to build useful software during their first year.
- marcus_holmes 5y agoLearning how to code is not the same thing as learning how to write commercial software at production level. There are lots of ancillary skills that must be mastered (git, testing frameworks, cloud deployment), lots of concepts that must be learned (dependency injection, the rule of 3, CPS, etc), and soft skills that must be mastered (how to accept criticism of your code, how to review other people's code, how to have a technical argument without getting emotional, how to tell your boss they're wrong). Like most professions, there's a lot of "extra" stuff around the core competency. Knowing Excel does not make you an accountant.
- iratewizard 5y agoYou'd be surprised how much of that you actually need to actually get a software project off the ground and into customer's hands. I've come into projects as the architect for refactoring what was built by someone who had only just learned to code. It was bad, sure, but they were bringing in enough revenue to hire me and get things on course. All with 0 knowledge of devops and 0 lines of test code coverage.
- dorchadas 5y agoThe question becomes at what point do we expect companies to train people and what point do we stop foisting that on universities? This ties into the bigger goal of what the purpose of university is and should be, but I personally think companies need to step up and start training again instead of expecting universities to cover most things they want/need.
- heurisko 5y agoThere should be a year's placement in industry as part of the degree.
- throwawaygh 5y agoThree summer internships is roughly a year of industry experience, especially if they are done at 2 (but not 3) different companies. Actually, those three 3 month engagements can constitute several years worth of experience if they are done with excellent mentors at good companies. Reasons: 1. You see several teams, several projects, several codebases, without having to spend an awesome amount of time at one place. How many engineers work with multiple teams and companies in their first year (without one of those experiences being terribly catastrophic)? 2. You get the interesting meaty projects, or get to work on prototyping projects, but are also expected to contribute to the existing code base (or at least build on top of it). You participate in meetings, give presentations, etc. Basically, you see an entire compressed project/product lifecycle but embedded in an existing codebase. 3. Most importantly: Doing 1 repeat internship is super valuable. Spending 6 months at a place in 3 month increments with 9 months in between is an exceptionally unique experience in terms of understanding how orgs work and evolve. Most engineers don't get to experience until they are in the consulting portion of their careers. University students in CS should do as many internships as possible, and universities should be more proactive about finding a way to mock summer internship experiences for students who do not get any internship offers.
- marcus_holmes 5y agototally agree! Atlassian made some comments like "Australian universities aren't teaching devs what we need them to know" a few years back. It triggered some discussion, but not nearly enough along the lines of "well maybe you should train people in what you need them to know then?" As an industry, we're utterly crap at employing juniors, or training our staff. We expect everyone to have X years of experience and then get surprised when devs make technology choices based on what's good for their resume, not what's good for the business. there's a full rant I have for whenever this subject comes up ;)
- watwut 5y agoNo educational institution will build your corporate culture. And how code review or technical discussion looks like has way more to do with your culture then with whatever went on in school or previous employer. Also, it should not take long to train someone git or test framework.
- mywittyname 5y agoMy degree dedicated an absurd amount of time to software engineering. And I graduated a while ago. Two of those courses required completed projects in groups, with documentation, a project management plan, VCS, deployment, testing, and a presentation at the end. Plus, we had a capstone engineering project which was essentially all of this, but solo. My personal option was they were wasted courses. The learning was in the coding, not project management and documentation.