2013/Zero to root in 12 months - How We Mentor “Rock Star” Students

From Open Source Bridge Wiki
Jump to: navigation, search

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.

Speakers: William Van Hevelingen, Kenneth Lett, Lance Albertson, Spencer Krum

Return to this session's details

Contributed notes

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.

http://linux-training.be/downloads/ https://github.com/linuxtraining/lt

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