Finishing College with Employable Skills Last week, 4 students from another college approached me with a scenario. They have a year of college left in them. That means, they will be occupied with all sorts of final year things that may and most possibly help with their career. 

Now, they want me to help them earn some skills. Something that might help them land some kind of employment. I have seen other posts on the site about the languages taught in the beginning and so on, but these students are not exactly beginners. They have finished 6 semesters and have a half baked idea and some exposure to languages such as C, C++ and Java, and may be even some dot net and Linux. However, nothing is employment worthy. 

So, now, I have some decision making to do. What do you ask them (and of course, guide them) to learn? Here are my options (and feel free add yours)


Essential Web - HTML, CSS, Javascript and jQuery. - This is something that is a basic requirement for a lot of jobs where I live. I also believe this is something anybody can learn, even if they are short on time. 
Java (with Android) - Learn to build an app. Android is pretty straight forward, and does not really require a thorough knowledge of Java itself. 
Dot Net with C# - Tougher to learn, they may just run away with the complexity involved. 


So, I am partial to Essential Web because of the simplicity involved both in terms of time, and also cost. A very basic laptop (perhaps even a used one) is good enough to get them started. 

Still, what should I do?
The kinds of things suggested in your question and many similar things won't help them. Learning some other "tool" or "language" or "technique" at a beginners level will still leave them with just a bunch of tools they don't really know how to use. 

Instead give them a project - preferably a hard project - in which they can use what they have learned, but which also likely forces them to learn at least one new thing. Moreover, if their goal is employment, make it a team project so that they get the experience of working closely with others. 

If you can make it a real project, not just an academic exercise, all the better. 

Also, make them use some proven methodology, not just hack together a solution. My suggestion would be Extreme Programming, since it is completely defined and has good personal practices within it. It would give them good guidance for a first such project. Scrum, being a bit more general might leave them without the guidance they need, hour to hour.