Ask HN: How to Give College Students a Taste of Real World Development?

2 points by xerophyte12932 ↗ HN
Hi! I am arranging a sort of workshop for college students and I want to expose them to professional development. A tentative list of things I want them to learn:

- How to write code with long-term considerations

- How to make our code flexible to future changes

- Importance of User Experience

- Developer-Friendly Code

- How Business considerations affect Technical decisions

- The right way to work in a dev team

Does anybody have any suggestion on what to add to the list or general tips on how to go about teaching them all this?

1 comment

[ 3.0 ms ] story [ 10.4 ms ] thread
I once taught a short course in usability. I used an exercise I learned from someone else: design the controls for a microwave oven. Given them a set of requirements and have them do a paper prototype. Partway through, change the design slightly. (In mine, started with the assumption that the time could be set automatically from the mobile phone network, then I added the requirement that it needed to be set manually.) Then have them do user testing for scenarios which test those requirements.

I used someone who wasn't in the class as the test subject, which was also a chance to mention the ethics of human testing: make sure that the test subjects know they can stop at any time, let them know the goals of the project, etc.

This is small enough to do in a couple of hours.

I've heard of a technique for teaching some of the ideas you want to teach. Have them develop a code project. Part way through have the teams switch code bases, or form new teams using the original code bases as the start. I have no experience with that technique, and it probably takes longer than you have time for your workshop.

As for things to cover, get a copy of Rapid Development and review it for the topics you think are the most important. There are way more things to cover than is possible in a workshop for inexperienced developers.