Upgrade to Pro — share decks privately, control downloads, hide ads and more …

5 Things I Wish Someone Had Told Me About Programming Before I Started

5 Things I Wish Someone Had Told Me About Programming Before I Started

Most seasoned developers know that there’s more to being a successful developer than simply being great at code. Amidst the crush of deadlines and 3am alerts, its easy to forget what it feels like to stand at the bottom of a learning curve, of all the skills besides programming that you need to build a successful career. As a teacher, I see new developers struggle with the same issues over and over, and these 5 things are what I tell them. So, whether you’re new to programming or a veteran of many campaigns, this talk is for you. If you’re just starting out, you’ll be glad to hear that the frustrations you may be experiencing are not unique, and that there are strategies for overcoming them. For experienced developers, this talk is a refresher course on what goes into the day-to-day, helping us have better empathy for individuals new to our community. Come (re)discover these 5 (sometimes surprising, always honest) truths, tips, and tactics for success.

Kerri Miller

April 22, 2014
Tweet

More Decks by Kerri Miller

Other Decks in Programming

Transcript

  1. 5 THINGS I WISH I S O M E O

    N E H A D TOLD ME ABOUT PROGRAMMING 1 Tuesday, April 22, 14
  2. 5 THINGS I WISH I S O M E O

    N E H A D TOLD ME ABOUT PROGRAMMING 2 Tuesday, April 22, 14
  3. “ SOMETIMES IT WILL BE FRUSTRATING. IT'S OK TO BE

    FRUSTRATED. USE THAT AS TOOL TO GUIDE HOW YOU WRITE SOFTWARE OR DOCUMENTATION AND LEARN WHAT KINDS OF PROGRAMMING AND WRITING YOU DON'T LIKE.” -- PETE HIGGINS (@PETE_HIGGINS) 9 Tuesday, April 22, 14
  4. “IT'S EASY TO GET THE WRONG IDEA AND THINK THAT

    BECAUSE YOU'RE SPENDING MOST OF YOUR TIME ON THINGS THAT ARE HARD FOR YOU, YOU'RE NOT DOING A GOOD JOB. YOU HAVE TO SPEND MOST OF YOUR TIME ON THINGS THAT ARE HARD FOR YOU IN ORDER TO DO A GOOD JOB.” -- ANDREW GORCESTER (@MARGINOFERROR) 10 Tuesday, April 22, 14
  5. “DON'T BE AFRAID OF TOPICS THAT SOUND DIFFICULT. SOME CONCEPTS

    IN CS ARE INHERENTLY HARD TO THINK ABOUT, BUT NOT AS MANY AS YOU MIGHT THINK.” -- SAM LIVINGSTON-GREY (@GEEKSAM) 11 Tuesday, April 22, 14
  6. “YOU'LL BE TOLD YOU'RE WRONG REPEATEDLY, BY THE COMPILER, BY

    YOUR FAILING TESTS, BY BUG REPORTS, AND THAT'S TOTALLY NORMAL AND OKAY.” -- MARY ANN MIERAU (@MABMIERAU) 14 Tuesday, April 22, 14
  7. DEFAULT ASSUMPTIONS ABOUT RUBYISTS • "We all use vim" •

    “We all do TDD" • "We all enjoy whisky" • "We all hate PHP" 19 Tuesday, April 22, 14
  8. "ALWAYS WANTED TO GO BACK IN TIME TO TRY FIGHTING

    A YOUNGER VERSION OF YOURSELF? PROGRAMMING IS THE CAREER FOR YOU!" -- ELLIOT LOH (@LOH) 22 Tuesday, April 22, 14
  9. “TAKE CARE OF YOUR HEALTH, BOTH PHYSICAL AND MENTAL. GIVE

    YOURSELF A BREAK FROM TIME TO TIME, AND BE MINDFUL OF YOUR MENTAL STATE.” -- ELIZABETH NARAMORE (@ELIZABETHN) 23 Tuesday, April 22, 14
  10. “YOU DON'T HAVE TO LEARN IT ALL AT ONCE.” --

    @JC_SOCAL 26 Tuesday, April 22, 14
  11. “YOU ARE MUCH MORE COMPETENT THAN YOU THINK YOU ARE.

    IF YOU WERE HIRED FOR THE JOB, YOU CAN DO IT! DON'T DOUBT YOURSELF.” -- Cordelia Dillon (@cordeliadillon) 28 Tuesday, April 22, 14
  12. “BEING GOOD AT PROGRAMMING DOESN'T LOOK LIKE BEING GOOD AT

    OTHER THINGS.” -- AN ANONYMOUS ADA STUDENT 29 Tuesday, April 22, 14
  13. “ALWAYS KEEP PUSHING YOURSELF AND LEARNING MORE. THE INDUSTRY MOVES

    FAST AND PART OF EVERY DAY SHOULD BE LEARNING SOMETHING NEW.” -- GREG TARNOFF (@GREGTARNOFF) 32 Tuesday, April 22, 14
  14. “BEING A PROFESSIONAL PROGRAMMER IS BEING A PROFESSIONAL LEARNER, BECAUSE

    THE CORE SKILLS REQUIRED FOR THE JOB ARE VAST, VAGUELY DEFINED, AND LITERALLY EVERY FEW YEARS.” -- ANDREW GORCESTER (@MARGINOFERROR) 33 Tuesday, April 22, 14
  15. “YOU CAN'T STOP PUTTING IN THE TIME LEARNING NEW THINGS.

    YOU CAN'T REACH A CERTAIN POINT AND SAY TO YOURSELF ‘THAT'S IT, I'VE MADE IT, AND NOW RELAX’.” -- CHRIS ANN O’DELL (@CHRISANNODELL) 34 Tuesday, April 22, 14
  16. ALWAYS BE LEARNING • MONKEY PATCH ALL THE THINGS! •

    Make everything a gem • TDD the living snot out of the next bug you fix • Use an IDE you don’t normally use for a month • Don’t use the letter ‘G’ • Make all actions happen through observers 35 Tuesday, April 22, 14
  17. “THE USER WILL BE ABLE TO CONVERT A TEMPERATURE IN

    CELSIUS TO FAHRENHEIT, AND VICE VERSA.” 36 Tuesday, April 22, 14
  18. TEMPERATURE _CONVERTER.RB • Make it a gem • Release it

    on Github • Make it a website • Make it a mix-in on Numeric • Make it an API • Find other temperature scales you could convert to and from • Have it attempt to resolve the user’s location and give automated temperature conversions • Have it query wikipedia to offer information about the resulting temperature • Have it record the average, median, and min/max the user has calculated 37 Tuesday, April 22, 14
  19. №5 FIND YOUR COMMUNITY “Find your people, and take part

    in the community.” -- Elizabeth Naramore (@ElizabethN) 38 Tuesday, April 22, 14
  20. “EVERYBODY THINKS DEVELOPMENT IS HARD SOMETIMES. GOOGLE ANY PROBLEM YOU'RE

    HAVING AND YOU'LL FIND HUNDREDS OF PEOPLE WHO SWEAT, STRUGGLED, SOBBED AND SWORE OVER THE SAME THING!” -- JAIME LYN SCHATZ (@EDUPUNKN00B) 39 Tuesday, April 22, 14
  21. “MUCH OF YOUR DAILY ROUTINE IN PROGRAMMING IS ABOUT COMMUNICATION.

    TO EXCEL IN THE CRAFT ONE MUST COMMUNICATE AS WELL (OR BETTER) WITH HUMAN BEINGS AS WITH CODE.” -- ZANDER HILL (@_ZPH) 40 Tuesday, April 22, 14
  22. “IT'S ESSENTIAL TO FIND THAT DEV ON YOUR TEAM WHO

    IS WILLING TO TAKE THE TIME TO TEACH YOU THE ROPES.“ -- MITCHELL LEE (@THEEVILDEV) 41 Tuesday, April 22, 14
  23. SHARE THE LEARNING • Teach a class • Volunteer at

    RailsBridge or GDI • Study Group • Book Club • Write a blog post • Give a lightning talk 42 Tuesday, April 22, 14
  24. “THE BEST THING I DID FOR MY PROGRAMMING CAREER WAS

    FOCUSING ON LEARNING BOUNDARIES AND COMMUNICATION SKILLS.” -- SONIA CONNOLLY (@SONIA_PDX) 43 Tuesday, April 22, 14
  25. CULT OF DONE MANIFESTO • Accept that everything is a

    draft. It helps to get it done. • Pretending you know what you're doing is almost the same as knowing what you are doing • Laugh at perfection. It's boring and keeps you from being done. • Failure counts as done. So do mistakes. 46 Tuesday, April 22, 14
  26. 5 THINGS I WISH I KNEW... • It’s Supposed To

    Be Hard 47 Tuesday, April 22, 14
  27. 5 THINGS I WISH I KNEW... • It’s Supposed To

    Be Hard • You Do You 48 Tuesday, April 22, 14
  28. 5 THINGS I WISH I KNEW... • It’s Supposed To

    Be Hard • You Do You • There’s No Magic 49 Tuesday, April 22, 14
  29. 5 THINGS I WISH I KNEW... • It’s Supposed To

    Be Hard • You Do You • There’s No Magic • Hone Your Craft 50 Tuesday, April 22, 14
  30. 5 THINGS I WISH I KNEW... • It’s Supposed To

    Be Hard • You Do You • There’s No Magic • Hone Your Craft • Find Your Community 51 Tuesday, April 22, 14
  31. “YOU'LL ALWAYS BE MAKING IT UP AS YOU GO ALONG

    AND THAT'S THE MOST ENJOYABLE PART ABOUT PROGRAMMING.” -- ERIC HODEL (@DRBRAIN) 53 Tuesday, April 22, 14
  32. THANK YOU • @srbaker • @marginoferror • @gelicia • @moishel

    • @ssoroka • @pete_higgins • @_zph • @sonia_pdx • @edupunkn00b • @eassumption • @TheEvilDev • @carols10cents • @shadowspar • @pfctdayelise • @gregtarnoff • @ChrisAnnODell • @drbrain • @geeksam • @muness • @anthonyarnold_ • @CodeFancier • @c9952594 • @mrezaurrahman • @dead_lugosi • @spargonaut • @iosengineer • @ariellauthentic • @kevdog • @_redwire • @dawnmoyer3 • @pestophagous • @phad • @infixum • @mwop • @ElizabethN • @mark_menard • @lornajane • @JC_SoCal • @sammikes • @mabmierau • @needshortername • @scrumdilligent • @cordeliadillon • @ln1draw 54 Tuesday, April 22, 14
  33. KERRI MILLER (@KERRIZOR) • glass artist • Vespa mechanic •

    lighting designer • author & teacher • player of games • software developer 55 Tuesday, April 22, 14