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.
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.
Like most professions, there's a lot of "extra" stuff around the core competency. Knowing Excel does not make you an accountant.
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 ;)
As an alumni (kinda), it was awesome and IMHO has served me very well in my career.
Lots of organisations seem to think that if they have to train an employee, then there should be some kind of discount on the salary for that employee. This is totally the wrong way of looking at it.
Training your staff in what you need them to know means that they have a consistent view of the subject, practices, etc. No more "but that's how I've been doing it for 2 years in the last place" or "I taught myself and discovered this way of doing it and I think it's cool". A junior employee who was trained in the exact tech stack you're using is more valuable than a mid (or even senior) who has random experience.
Not to mention, if your employees trust that you'll train them in what they need to know, they're massively less likely to pick technologies based on resume need. And massively more likely to stay with you.
But, really, if company wants to retain people after training, maybe make it worth it to the people to stay.
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.
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.
Also, it should not take long to train someone git or test framework.
My personal option was they were wasted courses. The learning was in the coding, not project management and documentation.