TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Software Engineering Grads Lack the Skills Startups Need

209 点作者 joker3超过 5 年前

30 条评论

mreome超过 5 年前
Isn&#x27;t this just observing the fact that college isn&#x27;t the same as work experience, and only provides the base skill-set needed to enter enter the industry?<p>&quot;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&quot;<p>I can&#x27;t help feel that if you&#x27;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 <i>train and mentor</i> a recent graduate, not put them in charge of a project.<p>* Good design requires having an insight into the requirements of a system, often with an incomplete spec and unclear long-term goals. You can&#x27;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.<p>* 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 &#x27;Enterprise&#x27; mess of OOP code. It takes experience to know when to generalize, and when to KISS.<p>* 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.<p>* The &quot;ability to think of and build systems that can scale based on users and geography&quot; ... this is incredibility specific. I work on embedded industrial systems; they&#x27;re massively complicated but are single user and often only on an isolated network. Knowing how to &quot;scale based on users and geography&quot; is a specific requirement for this person&#x27;s industry, not software engineering in general. If you want specialization, <i>you don&#x27;t hire a recent grad</i> (unless maybe your doing research and hire a PhD).<p><i>Edited to expanded on a few parts.</i>
评论 #20825009 未加载
评论 #20824886 未加载
评论 #20825062 未加载
评论 #20825487 未加载
评论 #20825781 未加载
dannykwells超过 5 年前
Colleges are not here to serve startups. Colleges are to help students build a skill set that will serve them throughout their lives. If a startup does not want to invest in a recent college grad, there are many other more experienced hires they can make.<p>Thinking that <i>free</i> training which is being provided <i>by someone else</i> should fit your custom needs is, well, maybe not the best business case.
评论 #20827110 未加载
sharadov超过 5 年前
Very funny!<p>&quot;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&quot;?<p>I don&#x27;t know which startup he worked for that was doing all this and still managing to stay afloat! Startups want you to crank out features and get clients in, everything else is a failed strategy!
评论 #20827098 未加载
GhostVII超过 5 年前
At least in my program (University of Waterloo Computer Science), there is barely any emphasis on practical things like modern tooling, different roles of a software engineer, etc., with the exception of some of the upper year courses. Instead it is largely theoretical - data structures, calculating runtimes, how the networking stack works, theory of distributed systems, etc. You learn practical things, but only enough to help you learn the theory. So yes, this absolutely doesn&#x27;t prepare you for a job, but I don&#x27;t think it is supposed to, it is a university program, not a bootcamp. Instead it gives you the foundation to do more research and learn practical applications of the theory you have learned.<p>Through internships, I feel I&#x27;ve learned the practical I need in order to work full time, and what I learn during internships is complimented by the theory I have learned through my degree.<p>So I guess what I am saying is that if you are doing a university program, you shouldn&#x27;t expect it to give you the practical skills for working, that&#x27;s not what it is for. Instead do lots of internships if you can, they are fantastic.
评论 #20827089 未加载
评论 #20826763 未加载
评论 #20830937 未加载
SavageBeast超过 5 年前
So startups want to hire kids right out of school for entry level wages and expect them to command the skillset of a Sr. Developer... Makes sense. I too would like to hire a low cost, plentiful resource thats identical in skill level to a more experienced person while paying them less.
geebee超过 5 年前
Really? Cause it seems, based on my interviews, startups couldn&#x27;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.<p>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 thing I learned in college but haven&#x27;t done even once on the job once in 20 years (I have had to find minimum cost paths in a tree, though. I couldn&#x27;t have done it on the spot at the whiteboard, but my data structures and algorithms class was helpful in researching and figuring it out years later).
评论 #20823874 未加载
评论 #20823983 未加载
评论 #20824009 未加载
评论 #20824097 未加载
评论 #20824113 未加载
ascales超过 5 年前
I think that at an even more basic level than hard skills, some graduates lack knowledge in things like basic problem solving, abstract thinking or the ability to switch between languages quickly. It&#x27;s interesting to see how straight-A students who study well and test well don&#x27;t make the transition from the academic environment to a job.
评论 #20824083 未加载
adjkant超过 5 年前
What&#x27;s funny to me about all of these comments is that practically focused CS programs can hit the best of both worlds. There&#x27;s a reason there&#x27;s a direct Waterloo to Google pipeline beyond just the 4&#x2F;4&#x2F;4 timing. Co-op programs and practically focused programs work great for building that industry know how in a meaningful way while still getting the core CS taught better than you&#x27;d get at most if not all bootcamps.
logfromblammo超过 5 年前
<i>“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><p>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 until I worked for a company that already had a revenue stream.
评论 #20823755 未加载
评论 #20823766 未加载
评论 #20823976 未加载
jahewson超过 5 年前
I’d much rather hire someone with a degree in computer science than a degree in AWS. I can teach them AWS.
paxys超过 5 年前
The skills startups want are taught at coding bootcamps, not universities. The degree is called computer <i>science</i> for a reason.
评论 #20824653 未加载
评论 #20823950 未加载
评论 #20824045 未加载
评论 #20824043 未加载
评论 #20823813 未加载
manfredo超过 5 年前
Some highlights that I felt were very on point:<p>&gt; 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 says.<p>This is a good observation. In my experience, the biggest hurdle new grads have to overcome is to learn to develop in a context where users and co-workers are going to depend on the projects they build, and need to be maintained. I didn&#x27;t learn how to set up instrumentation, deployment pipelines, outage alerts, and other important pieces of infrastructure in keeping a web service online in my university classes.<p>&gt; Because startups are heavy users of cloud computing platforms, it’s assumed that most software engineering students understand how these systems work—but that’s often not the case, Devadiga says. Students need a practical understanding of infrastructure architecture design patterns, DevOps, and cloud platform services like compute instances, object storage, and queueing services. The ability to create applications that can execute in services like Amazon Elastic Compute Cloud is important.<p>Another one that I think is on point. I did use AWS in a networking class, but that was just because the class instructors didn&#x27;t want to deal with building dev environments for windows, mac, and linux. I didn&#x27;t really get exposed to deploying and running a web application on a cloud computing platform. For how universal cloud computing is nowadays, it&#x27;s surprising how little I was exposed to it in university.<p>I think it&#x27;d be great for universities to offer a &quot;practical software development&quot; class that didn&#x27;t really focus too heavily on any one particular academic topic, but was more emphasized on imitating the kind of work that developers do in industry. It&#x27;d be cool students went through the whole class building, maintaining, and extending a single web service over the course of a semester or quarter. It&#x27;d be neat if grading was based not just on application functionality, but also uptime, average latency, and similar metrics - though that would probably be too variable to be fair, a student&#x27;s site might go down while they&#x27;re away on a sports competition or something like that.
评论 #20825609 未加载
评论 #20823943 未加载
评论 #20824199 未加载
评论 #20823852 未加载
jkingsbery超过 5 年前
I currently work at Amazon, but spent most of my career before Amazon at startups. Here are just a few things that, in my experience, this article gets wrong or over-states:<p>1. &quot;They [start-ups and next-gen tech companies] want grads who can build scalable systems and program for large-scale, distributed, data-intensive systems that leverage cloud computing.&quot; - For start-ups, this is only true if your startup is in that space. Most &quot;start-ups&quot; are trying to find product market fit, and the systems are generally not large scale as a result.<p>2. &quot;Engineers at established companies mostly work within their specialty areas.&quot; - While there&#x27;s some truth to this, I think it&#x27;s overstated. In the start-ups I worked with, &quot;engineers&quot; did not do market research. I worked with plenty of specialists at start-ups that worked with language X, but if you asked them to debug an issue in language Y, they&#x27;d refuse. In some cases, it can be the opposite of what this article states - engineers at a start-up can often focus on hands-on engineering tasks, whereas in a large company I find a larger portion of my time is around writing documents to align more people around an idea.<p>3. &quot;The timing of the product release is crucial because it has a direct impact on acquiring customers and affects the bottom line. Significant delays can put a company out of business.&quot; - In a large company, you won&#x27;t go out of business if your release is late, but it could mean that your product gets de-funded. While the change to the company might not be so much, a project getting de-funded certainly affects the daily lives of those involved. So I think this difference is overstated.<p>4. &quot;Engineers for startups are more likely to play a significant role in defining the system architecture&quot; - My experience is that this depends a lot on the start-up and the seniority of the engineer in question.
halis超过 5 年前
Yeah they lack programming skills. Because they&#x27;ve been going to school, not programming for a living.<p>But they can Google. They can study for interviews that quiz you on computer science trivia.<p>The interview process on the coasts is broken. In the midwest I don&#x27;t have to deal with that shit.
dentemple超过 5 年前
This is a valid reason to consider a trade school model (&quot;coding bootcamps&quot;) to fill this niche. Let Computer Science programs focus on the Computer &quot;Science&quot;, while trade schools focus on fulfilling direct company needs.<p>Of course, we need a _ton_ more oversight involved to ensure that bootcamps are actually graduating people with a job-ready skillset.
评论 #20823795 未加载
评论 #20825595 未加载
评论 #20824678 未加载
评论 #20826239 未加载
slothtrop超过 5 年前
Even startups should be willing to train. The skills really aren&#x27;t that hard to pick up with the right mindset and knowledge a CS grad ought to have.<p>We had an intern come in that was still stuck in that student-mode of needing to be told everything and not asking pointed enough questions. After a few weeks they were up to speed and productive.<p>Frankly even experienced workers will still require a period to absorb specific knowledge.<p>I think the time required for fresh grads to be productive is way, way overstated and overestimated provided they have the right direction.
评论 #20825918 未加载
zaphod12超过 5 年前
I didn&#x27;t even know schools had &#x27;Software Engineering programs. I&#x27;ve met plenty of Computer Science grads, though. It&#x27;s truly different. Engineering is more like trade school, Computer Science is foundational.<p>I&#x27;ll probably hire you with a CS degree, but I know I&#x27;m going to need to teach you how to be a software engineer.
评论 #20824681 未加载
评论 #20823944 未加载
评论 #20824547 未加载
评论 #20824060 未加载
评论 #20826138 未加载
评论 #20825097 未加载
评论 #20825615 未加载
评论 #20824977 未加载
Ancalagon超过 5 年前
It could be that schools cater to large companies&#x27; needs because they pay their employees the most and offer the highest number of jobs, and thus offer the best graduation statistics for those schools?
评论 #20824007 未加载
habosa超过 5 年前
Alternate headline: &quot;Startups lack the job training that new software engineering grads need&quot;
lalaland1125超过 5 年前
Of course. The software engineering grads lack the essential skill of willing to be paid peanuts.
评论 #20823963 未加载
mnazim超过 5 年前
Revive apprenticeships - where learner goes to master and learns directly from the one who practices the skill on a daily basis. In modern wold, this responsibility should rest on tech giants, who should have dedicated apprenticeship programs; and they should pay apprentices an honorarium for investing their time in studying their area of their, instead of their competitors.<p>For some reason, I don&#x27;t know&#x2F;understand, this responsibility got shifted to taxpayer.
rbanffy超过 5 年前
There is a relatively simple solution, one that&#x27;s been the norm in many other industries where there are shortages of field-specific knowledge and skills - in-house training.<p>This may not be an option for startups but, then, maybe startups should focus on hiring more experienced professionals who can, with time, bring freshly graduated engineers up to speed, as well as helping design systems and processes tailored for the company and product.
ProAm超过 5 年前
This is because most grads are one step higher than interns. They really dont know much (and shouldnt be expected to) because they lack real experience. Startups higher them because they are cheap and will work hard long hours without question. It&#x27;s the trade off they are willing to accept.
评论 #20824715 未加载
mettamage超过 5 年前
Edit: I wrote a whole post but now realize that software engineering is a much more conceptual master than computer science. I&#x27;ll leave the following below still here since it might be interesting. I mistook the perspective though, since I talked about computer science and not software engineering.<p>&#x2F;edit<p>What I&#x27;m wondering is: doesn&#x27;t university prove that one is capable of learning programming&#x2F;computer-related topics?<p>The hardest things I&#x27;ve learned about were:<p>- rowhammer&#x2F;cache sidechannel attacks via the GPU with C and then porting that to Javascript and do it over the web<p>- creating a computer graphics engine from scratch (I did this in Java which made it easier)<p>- reproducing a simplified version of Kevin Mitnick&#x27;s attack on the Boston super computer (? not sure, memory is vague) with C, libpcap, tcpdump and other tools&#x2F;libs<p>- being passable at reading x86&#x2F;x64 assembly and understanding how a computer is built from the architectural level to a modern programming language, playing around with creating an MUL instruction for a toy ISA<p>- compilers and reading a toy ISA to then be able to read the toy machine code made for it<p>Is this practical? No.<p>Is this a lot harder than creating a new web app for a startup just starting out? Yes, if you know a programming language or two, then it&#x27;s easy to hack things with JS together and also fairly easy to get up to snuff with ReactJS and ES&lt;whatever_year_it_is&gt; since it&#x27;s mostly syntax features.<p>I don&#x27;t have experience working with legacy systems or 1 million users large scale systems, so I can&#x27;t comment on whether that&#x27;s more difficult. However, since this article is about startups. I&#x27;ve worked for startups that existed 2+ years, and becoming productive on the job didn&#x27;t take me long and I&#x27;m not an amazing programmer by any means.<p>My bachelor though, yea, that was a lot worse. My master in CS saved me by following security courses where the professors expected you to learn almost anything on your own.
coybanana超过 5 年前
During my undergrad, I took an elective course from a visiting Professor on TDD. I found that directly relevant to work experience afterwards. That said, I wouldn&#x27;t say my core CS classes were useless at all.
rdlecler1超过 5 年前
If you learn a language in four years you can have a conversation but you’re certainly not going to be fluent.
madhadron超过 5 年前
My observation is that the CS degree starts making a difference about five years after young programmers start working in industry. Those without the formal background hit a wall in their technical development.
doggydogs94超过 5 年前
It appears that startups need top level experienced people that they can pay next to nothing.
cephlanod超过 5 年前
This seems obvious to me since most of the jobs seem to be in web dev, maybe I&#x27;m wearing blinders but there doesn&#x27;t seem to be much out there that isn&#x27;t CRUD work. Computer science is almost a different field, to me its like masonry vs geology
评论 #20827530 未加载
bra-ket超过 5 年前
nah, leetcode skills is all they need