4 ms·
I went through Georgia Tech, and there is never any formal introduction to version control. If you're exposed to it, it's from a job or a friend (who in turn go
by caw 12y ago
I went through Georgia Tech, and there is never any formal introduction to version control. If you're exposed to it, it's from a job or a friend (who in turn got it from a friend or their job). If you don't know it exists, you'll never seek out and learn it.
Testing was used in some courses. We had a software development class that involved UML, TDD, and everything "proper". Testing is also provided as a way of pre-checking your homework by some TAs. They might give you a basic set of tests for your linked list homework (adding, removing, etc), but then their grading script will check off by 1s, etc. It's not necessarily taught how to write said tests in those classes.
Continuous deployment is never touched. If you co-op/intern you might be exposed to it.
No one that I knew of learned anything related to "ops", unless they happened to take an interest in it.
- crpatino 12y agoNo chemical engineer I know learn how to go to the assembly line and take samples for quality control, either. And arguably this is a good thing. You pay to go to school in order to learn stuff that is useful across the board in many different situations, not to have the local big employer save a few bucks per new hire during the induction training.
- joeclark77 12y agoThis is a fair point, but begs the question: should a CS degree include, or not include, learning about software project management and software development processes? I teach in the business school (an MIS department) so it's not controversial that we'd teach about project management and operations management here. I don't know what the prevailing opinion is in engineering schools.
- crpatino 12y agoI think we have reached to point where we should admit that a career in software development needs much more learning than what can possibly be achieved at school (regardless of level). The current state of affairs holds the belief that no CS graduate worth their salt should be ignorant of software engineering methodologies (agile, waterfall, etc), nor specific development processes & tools (source control, peer reviews, unit testing, etc). At the same time it holds the more or less contradictory belief that CS curriculum should be concerned mostly with Computer Science and not mention much of the practical side of software development. The ideal is that a good program will present the student with multiple opportunities to pick up practical skills on the go. No formal class and no grades, but exposure through lab work. The reality is that this requires everyone involved (students, instructors and various other support roles) to work longer and harder to achieve this tacit expectations.