Stephen Houston (@egeek) contributed this to todays meeting – some things that need to be considered or taught and things that have been lacking in his experience of recent graduates.
#ImprovingCodersFromColleges Fundamentals
- How does a computer execute your code?
- What does the OS do?
- Where does your code execute? JS, server side, etc
- Network/Internet, TCP/IP, etc
- How your further your own knowledge, blogs, etc
- Writing your own projects, advantage of doing so for interviews
- Self-starting, own initative
- How are the large sites architected?
- Scale, how much data do the big guys handle?
- DBs, relational, schema-less, etc
- Agile methods
- Handling requirements
- Professional behaviour and attitude
- Different languages, what are they used for? Advantages/Limitations of each
- Why you need to be a polyglotSoftware skills
- Version control
- Team working
- Emphasise the need to understand projects during placement, how they fit, team dynamics
- Language fundamentals
- Coding standards
- Unit and integration testing
- Code patterns - don't just know, understand
- Multi-threading/concurrency
- Deadlock
- Documenting your code
- Thinking maintenanceLocal Industry
- Who is out there?
- What do they use and what do they need?
- What can they do for you? How will they further your career?
- Your own ideas?
- Your internet profile
- A good interview
I reckon this is a good start. I have toyed with the idea of getting hiring managers (not HR) to contribute to the process by essentially sponsoring spaces which will turn into jobs. So if CompanyX needs 10 enterprise Java guys, then maybe we find training for 20. And if CompanyY needs 5 PHP or Ruby guys, we train 10. We have to remember to not only fill the job pipeline but also to provide training to supply our growing startups.
All in attendance were agreed that software engineering is vocational and not academic and that more could be achieved with training courses and input from industry than with a 3 year degree. And for the most part an honours project is a complete waste of time.
I’ve spoken to Momentum and BMC and I believe we can do this if we have enough support from local industry leaders. It can’t be just the usual suspects – we have to engage with the little companies as well as the big ones. I left with a few actions to go speak to people. In all a very positive meeting.
Very happy to also meet today with @bndouglas, @andyboal and @hamstarr to chat about this subject.
This is supplementary to the Code4Pizza FreeSchool. We need everything working in unison.
This is, to my mind, the best way out of the Age of Austerity.
I’d add these too:
Product lifecycle management
Test automation
Measuring progress (though this might be covered in Agile Methods)
I remember Invest NI trying to get a very similar initiative to the one you’re suggesting off the ground a while back. As far as I remember it was a joint effort with DEL. Give me a shout if you want to know more – it was very industry-driven and some of the people involved might be able to point out some potholes to avoid.
Momentum, INI and DEL had the Software Professionals Course. I see no reason to re-invent the wheel. Same process, more industry involvement.
I wouldn’t discount academia. I agree there is a big vocational aspect to Software Engineering, but a lot of Steve’s list (adjusting for technology changes since 1995) was covered in the BSc. Computer Science I did. The theory side builds a solid foundation of understanding that supports later, more vocational training.
FWIW I’d also add Algorithm Analysis – studying “Big O Notation” and efficient algorithms – to the list.
Nope, it wasn’t the software professional’s course – it was born out an industry forum that a couple of the client execs from Invest NI’s BI divison put together (chaired by Ed Vernon). It was going to be made by industry, for industry, set in an industrial setting, and partially funded by industry too. There was a lot of enthusiasm for it, but the folks in question didn’t seem to be able to get the government end of the funding together. Shame – as far as I remember it was backed by Latens, American Dynamics (Tyco), Fujitsu, BTI, IBM/Intelliden, InTune, Citi, Liberty, Allstate and a few others and everyone agreed it was a good idea.