4 ms·
On the opposite end, my degree was in computer engineering... We studied everything from circuits (analog & digital) to networks; even going into CPU design (we
by emilecantin 4y ago
On the opposite end, my degree was in computer engineering... We studied everything from circuits (analog & digital) to networks; even going into CPU design (we had to add an instruction to a MIPS CPU). It didn't make me an expert on any of these fields, but I know enough to know where to start digging if I need to specialize.
OP needs to hire Computer Engineering grads, not Computer Science grads.
- shagie 4y agoAt one time, the CS degree was that. My CS degree had digital logic (far too many hours working on Mentor Graphics), machine language programming (from Professor Larus of SPIM fame), compilers (from Professor Fischer), databases (from Professor DeWitt), and networking (from Professor Landweber). Many classes were cross listed with the engineering department. The ECE degree was much more focused on the "designing a computer" rather than "writing software". The difficult part there is that some degrees are "build hardware", some are "write software", others are "study the science", and others are "a survey of all things"... and others are "just enough in the business school to write html and do JavaScript."
- mkipper 4y agoAs someone with a CE/EE degree, I don't really agree. Like you said, that background does have a lot of benefits. But the downside is that a CE grad typically spends less time doing "software" work than a CS grad. When a CE student is taking courses on circuit design, FPGAs, and CPU architectures, a CS student might be taking courses about databases and concurrency. I don't think I touched SQL or a multithreaded program in a university course. Those were all "high level" things that CS students focused on. This isn't meant as a knock on CE grads -- I just don't think it's wise to suggest them as the solution to OP's problem since they have their own set of "blind spots" to deal with.
- GrumpyYoungMan 4y agoI'd say digital logic and computer architecture teaches pretty immediate lessons about tackling concurrency? Every gate and transistor is operating in parallel and it's up to the engineer to arrange things so that race conditions don't occur and valid results are available when the next clock edge arrives.
- mkipper 4y agoSure, but I don’t think that’s necessarily helpful in the context the OP is describing. If you bring up concurrency in a software engineering interview, you’re probably hoping the candidate can speak to different synchronization techniques, their pros/cons, how to implement them and how to use them. Anyone who can figure out timing in a complex digital circuit can learn how threads and mutexes and message queues work, but there’s a good chance a CE grad would not be able to speak to those topics very well compared to a CS grad. Again, this isn’t a criticism of CE. I just doubt OP would have their socks blown off in the areas they mentioned if they started interviewing engineering students.