2 ms·
Databases and networking were optional topics at my undergraduate institution, Cal Poly San Luis Obispo, where many of its CS grads went on to have successful s
by linguae 4y ago
Databases and networking were optional topics at my undergraduate institution, Cal Poly San Luis Obispo, where many of its CS grads went on to have successful software engineering careers in Silicon Valley. As for concurrency, we had a few required courses (computer architecture, systems programming, operating systems) where we learned about multi-threading and IPC. In fact, one of my assignments for my systems programming course (CSC 357 in Fall 2007) was to write two HTTP servers: one using POSIX threads and another using fork and IPC. This assignment actually helped me land an internship with Lockheed Martin, who was looking for someone with experience with writing multi-threaded code.
In general, however, fresh CS grads from even good universities need to be onboarded on software tools and certain types of systems when they have their first software engineering jobs. For example, many college students don’t know git. Basic sysadmin and more advanced Unix command line skills are also generally not taught.