I have nothing against Universities teaching people a curriculum that broadens there minds. However, with the cost of college tuition these days, I think college students would be much happier to see a return on investment right out of college.
I'm a senior software architect/programmer for a medium sized company. We interview a lot of people fresh from college. I have no doubt that they are all intelligent people with an abundance of knowledge that helps them to be a well-rounded person.
However, when we are looking for programmers we look for criteria that is similar to what was listed in the original article that spawned this Slashdot article in the first place. I've provided the link to the article below as well as the criteria mentioned in the article.
http://www.onlamp.com/pub/wlg/7757
If you are a student going to college make sure that you are getting the following curriculum from your expensive, well-rounded education:
* The basics of Programming (variables, data types, references, pointers, scope, error handling, iteration, core algorithms - searching, sorting, etc.)
* Basic mathematics, basic statistics
* Patterns and Anti-Patterns (With real world examples, not just theory)
* Real world Databases (Normalisation and De-normalisation, SQL, Indexing)
* Basics of good code architecture: Loose Coupling, etc.
* OO Design, Interfaces, etc.
* The importance and tools of Planning: Spec'ing,, UML etc.
* Architectures: client/server, SOA, P2P, etc.
* A 'Big' language or two (Java, C#, C/C++)
* A scripting/'agile' language or two (PHP, Perl, Python, Ruby)
* XML (DOM/SAX, XSLT/XPath, etc.)
* Economics, Business Studies, Costing Projects, Commercial pressures
* Copyright, Privacy, Data Protection
* Project/Time Management
* Internationalisation, Localisation, Encoding, Unicode
* Grammar, punctuation, concise and clear writing
* Interface Design, Usability, Accessibility, HCI
* Security
* Code Reading
* Common Protocols (TCP/IP, HTTP, SMTP, FTP)
* Testing, Debugging, Performance, Re-factoring
* Problem analysis
* Source control, change management
* The typical Software lifecycle
* Metadata, Information Architecture, etc.
* The basics of GIS
* Touch typing
* Health and safety (nutrition?)
Someone should start a not for profit music production company that releases music for artists over the internet.
I have nothing against Universities teaching people a curriculum that broadens there minds. However, with the cost of college tuition these days, I think college students would be much happier to see a return on investment right out of college. I'm a senior software architect/programmer for a medium sized company. We interview a lot of people fresh from college. I have no doubt that they are all intelligent people with an abundance of knowledge that helps them to be a well-rounded person. However, when we are looking for programmers we look for criteria that is similar to what was listed in the original article that spawned this Slashdot article in the first place. I've provided the link to the article below as well as the criteria mentioned in the article. http://www.onlamp.com/pub/wlg/7757 If you are a student going to college make sure that you are getting the following curriculum from your expensive, well-rounded education: * The basics of Programming (variables, data types, references, pointers, scope, error handling, iteration, core algorithms - searching, sorting, etc.) * Basic mathematics, basic statistics * Patterns and Anti-Patterns (With real world examples, not just theory) * Real world Databases (Normalisation and De-normalisation, SQL, Indexing) * Basics of good code architecture: Loose Coupling, etc. * OO Design, Interfaces, etc. * The importance and tools of Planning: Spec'ing,, UML etc. * Architectures: client/server, SOA, P2P, etc. * A 'Big' language or two (Java, C#, C/C++) * A scripting/'agile' language or two (PHP, Perl, Python, Ruby) * XML (DOM/SAX, XSLT/XPath, etc.) * Economics, Business Studies, Costing Projects, Commercial pressures * Copyright, Privacy, Data Protection * Project/Time Management * Internationalisation, Localisation, Encoding, Unicode * Grammar, punctuation, concise and clear writing * Interface Design, Usability, Accessibility, HCI * Security * Code Reading * Common Protocols (TCP/IP, HTTP, SMTP, FTP) * Testing, Debugging, Performance, Re-factoring * Problem analysis * Source control, change management * The typical Software lifecycle * Metadata, Information Architecture, etc. * The basics of GIS * Touch typing * Health and safety (nutrition?)