To what use would you put mature-age beginner programmers?

7 points by solresol ↗ HN
I'm teaching a 10-week, 4-hour-per-week Python programming class at the moment, and the target audience is mature-age career changers. At the end of the course, there is a state-sponsored "apprenticeship" program where most (but not quite all) of the students' salaries will be paid for 6 months; after which the employer can choose to keep them on or not as they want.

If you were a potential employer, what would you hire them to do, and what skills would you want from them?

My thoughts so far: - I think it's necessary for students to understand ticketing (e.g. Jira) and how to commit code to git, what branches are and so on. I can't imagine a job where this isn't a required job skill. - An option: I can include Selenium in the course, so they could be employed in QA/test. - Or, maybe I could teach them about the imortance of unit tests and the like; then they could be employed writing all those tests that you code-base doesn't have, but should have. - Should I double down on (for example) Django? - I won't have time to do a full machine learning course, but I could teach pandas and guide students towards data analytics roles in the sorts of organisations that do data analytics in Python (rather than Tableau or other BI tools).

What would help your job hiring pipeline?

13 comments

[ 4.4 ms ] story [ 42.8 ms ] thread
Good question. Rather than testing a specific skill (for example, merge Pandas DataFrames and visualize using Seaborn), I'd ask to resolve a mini project where the candidate can choose him or herself the tools (for example, Visualize data from two different data sources). This leaves open the kind of solution that you expect and requires creative problem solving.
The final assignment is going to be (essentially) "choose a program you want to write, and write it" -- so they will have shown a certain amount of initiative and problem solving.

Is that the sort of thing you would want to see?

(comment deleted)
So should I cover the idea of pair programming, then? Or do you just mean "pair" as in "I want someone like that on my team, and the value that they get is not primarily in the programming, but in understanding their industry vertical."

I can probably come up with some way of doing a pair programming exercise (the course is fully remote because of lockdowns).

I like the idea of all the practical stuff

Git Ci/cd Scrum/agile/standups Jira Etc

That stuff alone is more than enough imo

My challenge to you as a teacher would be

Can you get them relatively comfortable with git?

Like actually comfortable?

I suspect no, but that is on git not you

Not just git but github etc

How to debug?

How to set up a virtual environment and why.

Diff between 2 and 3 and why.

How to dive into a code base you don't know shit about, run some broken web app in your dev env, then find the broken code, pull/clone/branch/commit/push, etc.

Ideally maybe push them for a particular position that may interest them

QA and Support are good starting points for any aspiring dev

Really my advice is for old and young

If you're able to, I'd talk to folks about how much they actually like or hate this stuff

Most will likely not want to be honest but you might be able to pull it out of them depending on what your goals are

Talk about other positions dev evangelist/marketing, pre-sales engineer, tam, product/project manager, etc.

I got a complete newbie comfortable with git in 4 hours session. It's not that difficult. That person is now using git on daily basis. Also is using github and is quite successful.

Where the challenge lays in my opinion is how to pass on the knowledge required to start coding. I feel Selenium is quite nice start because by writing simple few lines of code the newbie can see the actual action on the screen. I also feel the attitude is important too - I still remember 20 years ago when I was at the beginning of my journey I was thinking about a programming like about solving puzzles, and after watching tron I always wanted to build a perfect system whatever that means :) I feel it's quite difficult to pass on this kind of weird motivation.

I’ve heard from the organisers of similar courses that the employers tend to be surprised by how little they know. It is just a 10 week course.

You should seek some direction from the employers where they will be placed. Unless they give an indication towards QA and ML or other niches, I would just make sure they are well grounded in the basics and have full-stack web experience.

Set realistic expectations for yourself. You might still want to sell what they are going to achieve but with only 40 hours spread over 10 weeks, the chances of anyone understanding change management, change control, and mechanics of programming at the same time.

> employed writing all those tests that you code-base doesn't have, but should have.

Writing tests is usually more difficult than writing code. Writing tests which the programmers who wrote the original code could not figure out how to write is exponentially more difficult.

I am sure you will be able to add a line to your resume, these folks will enjoy their time and free money, but I do not envy the people who'll have to endure their certified 40 hr skillz.

Yes, I've seen this kind of course turn into a trainwreck before, and I'd like to see what I can do to turn it around.
40 hours? data entry and first level phone tech support maybe
Maybe a little pessimistic, but they won't be making significant contributions quickly, that's for sure.
I do something similar to yourself for all age ranges. Three thoughts; as someone else said dial back what you expect to get through. My second thought is sort of related to the first. Don't underestimate the level of insecurity you may encounter. Set your students up to succeed i.e. don't brain melt them so much that they feel rubbish about themselves.

Finally, if you do good work be pleased with yourself. The government money meets unrealistic business expectations for short term training is not a new story :-)

I've been teaching courses of this nature for about 25 years now, but usually they have been for employees improving their own skills in an existing job. This is one of the first times I have been teaching a quick course where there is an "internship" at the end of it. I know I can drop content out (and how much time it will save); I also know how scared many of the students are.