Welcome to programming!
Life before Hackbright
- Tried to learn programming through online community college courses, weekend workshops, and self study
- Worked in IT (helpdesk, operations)
- Photographic Industry (I hate shooting weddings!)
Life During Hackbright
When you get stuck:
- Don't panic: the answer is 42.
- Get better at asking questions
- If something looks confusing, it probably is
- Use your interactive console for debugging!
It's dangerous to go alone! Take this.
- Learn to love pair programming! It's good for you.
- Make time to study concepts you don't understand
- Ask your mentors for guidance
- Don't forget to eat and take breaks!
- Think big ideas, write every idea down, and then scale back.
- Avoid perfectionist paralysis
- Don't get overwhelmed by big items on your to-do list: break tasks down into bite-sized pieces.
I got a job! Can I really do this?
Onboarding and Mentoring
- A bit like drinking from the firehose
- You might screw something up, but that's OK.
- No one treated me like a junior engineer, I had respect from the start.
Responsibilities of an Apprentice
- Question anything you don't understand
- Be willing to refactor many times over
- Speak up when you have ideas, need clarity, or are overwhelmed
Responsibilities of a Mentor
- Patience and understanding even during repeated questions
- Give Apprentices responsibilities and ownership of more experienced engineers
- Teach problem solving, not syntax
Those yaks sure are hairy!
- Observe, Analyze, Change Parameter, Observe, Analyze...
- Some days I'll spend more time doing research than coding.
- I'm responsible for fixing stuff that breaks, just like the rest of my team.
- Writing code is easy. People Engineering - communicating with stakeholders, nailing down specs, and working on teams is the hard part.
Giving Back to Your Community
- Tech Talks
- Contributing to Open Source
I don't always feel like spending the weekend coding, but I do on occasion take time out of my weekend to work on projects. If it makes you happy, make time for coding fun stuff outside of work.