I'll probably hire you with a CS degree, but I know I'm going to need to teach you how to be a software engineer.
Software Engineering Grads Lack the Skills Startups Need
21–30 of 181 posts
Re: Software Engineering Grads Lack the Skills Startups Need
#22Some highlights that I felt were very on point: > Students are taught formal testing methods such as static analysis, which checks code without actually running it. This helps them understand how to test software programs, but it doesn’t address the testing of distributed systems, web services, and infrastructure resiliency. Examination of these types of user interfaces and back-end systems is essential, Devadiga say…
TWO practical software development classes. One for hard skills, and one for soft skills. The latter is another complaint I've heard from company owners. Too many graduates who just don't know how to work with a company's non-engineers, as they've told me.
Re: Software Engineering Grads Lack the Skills Startups Need
#23Some highlights that I felt were very on point: > Students are taught formal testing methods such as static analysis, which checks code without actually running it. This helps them understand how to test software programs, but it doesn’t address the testing of distributed systems, web services, and infrastructure resiliency. Examination of these types of user interfaces and back-end systems is essential, Devadiga say…
Re: Software Engineering Grads Lack the Skills Startups Need
#24I didn't even know schools had 'Software Engineering programs. I've met plenty of Computer Science grads, though. It's truly different. Engineering is more like trade school, Computer Science is foundational. I'll probably hire you with a CS degree, but I know I'm going to need to teach you how to be a software engineer.
Re: Software Engineering Grads Lack the Skills Startups Need
#25The skills startups want are taught at coding bootcamps, not universities. The degree is called computer science for a reason.
So ultimately it is called computer science for the wrong reason.
Re: Software Engineering Grads Lack the Skills Startups Need
#26Of course. The software engineering grads lack the essential skill of willing to be paid peanuts.
Re: Software Engineering Grads Lack the Skills Startups Need
#27"When you join a startup, there’s a lot of emphasis on the design of the application, reusability and clean code, and the ability to conduct and undergo code reviews, as well as the ability to think of and build systems that can scale based on users and geography"
I can't help feel that if you're expecting a recent grad to hit the ground running with this level of insight and experience, your doing something terribly wrong. You should expect to train and mentor a recent graduate, not put them in charge of a project.
* Good design requires having an insight into the requirements of a system, often with an incomplete spec and unclear long-term goals. You can't really do this without actually designing and building real-world systems, and over-time understating where the possible failure points and missing requirements may be.
* Reusability is a double edged sword, if you generalize every bit of code into a a reusable configurable component you miss deadlines and end can end up with an 'Enterprise' mess of OOP code. It takes experience to know when to generalize, and when to KISS.
* Code reviews, best practices, and requirements are different at every company and in every industry. Even someone with experience has to be brought up to speed on this when taking on a new position.
* The "ability to think of and build systems that can scale based on users and geography" ... this is incredibility specific. I work on embedded industrial systems; they're massively complicated but are single user and often only on an isolated network. Knowing how to "scale based on users and geography" is a specific requirement for this person's industry, not software engineering in general. If you want specialization, you don't hire a recent grad (unless maybe your doing research and hire a PhD).
Edited to expanded on a few parts.
Re: Software Engineering Grads Lack the Skills Startups Need
#28Re: Software Engineering Grads Lack the Skills Startups Need
#29“When you join a startup, there’s a lot of emphasis on the design of the application, reusability and clean code, and the ability to conduct and undergo code reviews, as well as the ability to think of and build systems that can scale based on users and geography,” he says. I got a good, long laugh out of this. This describes the exact opposite of my experience in a startup. None of those things were ever a concern u…
Re: Software Engineering Grads Lack the Skills Startups Need
#30Really? Cause it seems, based on my interviews, startups couldn't care less about my background in leading customers through beta demos, collaborating with scientists, participating in sales presentations and outreach, writing documentation, or any of the issues described here. They do seem awful interested in whether I can find all matching subtrees in a binary tree, though. Which, now that I think about, is the one…
I think algorithms questions are an OK litmus test for being able to program, but it shouldn't be everything or even 1/4 of an interview at a small company.