2013/Zero to root in 12 months - How We Mentor “Rock Star” Students
The OSU Open Source Lab (OSUOSL) and PSU Computer Action Team (theCAT) provides an amazing program for undergraduate students to learn about system administration. Many of our students have moved on and created their own successful startups and have changed the landscape of open source themselves. This session will cover how OSUOSL and theCAT mentor our students and create rock stars in the industry.
Return to this session's details
Lance Alberston - @ramereth Ken Lett - @kennric http://opensourcebridge.org/sessions/1093
Problem Solving Skills
more than just "Googling it"
Basic understanding of Linux
install packages? services?
Fundamental programming skills Self starter Passion about position? Adapt and learn quickly? What is their personality like?
not required Configuration management Production environment skills Open source community experience Web frameworks Extension version control experience already being a "rock star"
Interview process Understand their Linux experience, how long? tinkering? Programming experience, write code as a hobby? Open book screening quiz, gauge experience better In-person interview
non technical questions (personality) problem solving Read through a bash script or code walk through a typical server problem fundamental programming concepts hands-on coding
New Hires: System Admins Read the Linux Training Guide
Linux Fundamentals Linux sys admin Crash course on linux GNU Free Documentation lisc.
Read the tutorials (for projects)
Python, Django, Drupal, PHP, Git
Install the projects
RW Access to git repos
Assign a bug
Code review by other devs
First six months: Systems Admin Learn config management Understand how services interact with each other Walk through common tasks - Machine deployment, setting up new services, tickets, user creation, client/project interaction Learn about how our infrastructure works Full-root from the start, but mentored
"eventually they learn how our infrastructure works"
First six months: Developers Bugs and Documentation - Several Projects, escalating complexity of tasks Collaboration and communication - Work with other devs, interact with the user community Learn the projects in depth - build skills in languages and frameworks Code review
interaction with community is important as well. Our devs are on IRC, mailing lists, devs answer user questions, help users out. We expect them to be full contributors to the project.
Creating a learning environment Full-timers and senior students help with mentoring Find a taks, and walk them through it
teach groups when you can Let them do the tasks themselves It's ok to make mistakes, just don't do it repeatedly or delete data
"give them ownership and let them do what they want to do" - Lance Show more advanced tasks later on Giving them root is important
Beyond first six months Give a student a major project to work on
Let them do the research, design, testing and initial deployment Full-timers assist when needed
Gives them something to be excited about Something other than just doing tickets Learn new cool things "we see students really blossom when they get to teach the other students something cool" - Ken
Expect high standards Create an environment where we push each other harder Competative yet collaborative (slides)
40 hours a week (over summer vs 20 hrs) is 3-4 times more learning, more productivity. Encourage younger students especially to work over first summer.
How is OSL unique? Give them root, early on Very hands on mentoring from staff High-profile production sites Students interact with clients worldwide on a daily basis Access to high quality internships
Future plans Moving to an academic unit (in EECS) Building a program to impact more students (maybe 50-10) Developing more FOSS curriculum at OSU Collaboration with other Universities
Zero to Root in 12 months Spencer Krum, William Van Hevelingen From PSU College of Engineering and Computer Science
Manage IT for four buildings, 100 servers, 600 workstations, 5000 users, 7 labs Windows, Ubuntu, Redhat/Centos, Solaris/Derivatives Wide variety of services, web, mail, version control, more
BrainDump - Founded 90s by Janaka Jayawardena Need to grow UNIX hackers In house apprenticeship program to bring student volunteers into sysadmin Hire them later (once they know what they are doing)
1+ yr program Any PSU student/staff Friday nights 6-10pm 4 hours help desk volunteering a week Time, as needed, for learning and projects (some discussion about opening to community) [staff? interesting..]
Catacombs for dedicated hands on learning (old server racks) Physical equipment to play with Goal is to replicate production
Office hours - student driven, Senior CAT on hand for mentoring Different format for different learning styles
Mentor session Small groups of 10 students, two mentors, lab Tutorial on basics CAT Environment Shell SSH Basic Scripting IRC
Checklist program, random unix tasks, github, etc. Atomic checkmark (for goal oriented learners) "You let students have root?" "Yes, but not at first"
What they provide First tier support in person and via phone and email Password resets Lab monitoring (Proxy tickets)
Students who want to give back will self select (opt in) (long list see slides)
6 months in some students demonstrate:
personal integrity time commitment technical knowledge
If these criteria are met we give them root access to client systems