Jumping the Gap: Amateur to Pro
For kids who are into programming, there is a well-worn path to making a good living in industry. Actually, there are a couple:
- You can learn to program using one of the many "kids programming" tools, like Sugar or python itself. I learned on the TI-83. Whatever's available, you're interested already. You're motivated just by the pure ability to put pictures on the screen and manipulate them.
- You go to college and study CS.
- In the summers, you get internships at companies, for work experience.
- By your senior year, you've gotten a job offer from one of the many companies courting newnew CS grads.
Standard track, take two:
- The first step is the same, you start as a kid.
- Maybe you don't study CS in college, but you're contributing to open source the whole time.
- You parley your OS experience into a job when you're 18-22.
Our students (transcodesf.org):
- Already have day jobs, or have had day jobs.
- Already a class of people (trans folks) that are discriminated against in employment.
- Jumping in to open source is hard, especially for someone who can't spend an obsessive amount of time. (Find a project you care about, finding bugs that are the right level to fix -- this is its own conversation all by itself)
- Internships are reserved for full-time students. We've asked.
- At some level, you gotta learn by doing, through some kind of internship or apprenticeship.
- We don't know. Looking for answers...
And then we ran the session. Here's the notes for the answers that the community came up with.
Jobs that require less programming; test engineers, some data analysis etc.
Software testing or data entry or data analysis, then you automate your job
Local user groups; people who come and show interest regularly get contacts and start building projects. Some hackathons comopanies can sponsor them. Getting people to present at their LUG helps present people as subject matter experts. Once you're in the community is when you hear about opportunities
Hang out on IRC channels of open source projects, get involved in the conversation even if you cant code on them yet
Pyhton as a game; companies contact people good at it. checkio.org -- building a portfoliio.
This building a portfolio works on github too.
Volunteerism -- helping people fix their software/websites for free.
PIcking the brains of tech recruiters
Programming jobs from masters in biology; admit nontraditional background; talk to them about programming side-projects... Grace Hopper conference was a good way to meet recruiters.
Part of the class being open source...
Person came in as security person; bugged developers, got a QA job, went up to programmer eventually.
From interviewing people -- want to make sure don't look at resume. Then its their job to convince from there. Projects that they can talk about are important.
Demonstrated participation in communities to get in the door -- just commit a little code. Even volunteering for red cross helps.
Companies that can't afford to hire big companies to solve their computer problems -- go after them. More important than portfolio even is dealing with companies.
Barrier to entry to freelance is very low -- low-cost bounty sites