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

Reinventing The Bootcamp Idea

DamirSvrtan
November 14, 2016

Reinventing The Bootcamp Idea

Fueled by discontent for the lack of real-world coding knowledge traditional academia provides, we decided to organize and run free software development bootcamp in Croatia. It's called Infinum Academy, it's a month long course in building Rails, iOS and Android from scratch. We built the curriculum using our own best-practices and 10-years worth of industry knowledge. The talk is about how we ran the bootcamp, how our company almost fell apart in the process, what we learned, why we burned twice as much time as we estimated, and how came up victorious in the end.

DamirSvrtan

November 14, 2016
Tweet

More Decks by DamirSvrtan

Other Decks in Programming

Transcript

  1. Reinventing the bootcamp
    idea

    View Slide

  2. Damir Svrtan
    Rails Team Lead @ Infinum

    View Slide

  3. View Slide

  4. 0
    30
    60
    90
    120
    2012 2013 2014 2015 2016
    INFINUM
    Employee growth

    View Slide

  5. C / C++ / C#

    View Slide

  6. C / C++ / C#

    View Slide

  7. Infinum Student
    Academy

    View Slide

  8. Goal
    Build a full blown app
    in a month.

    View Slide

  9. 3 Classes

    View Slide

  10. 3 Classes
    4 Weeks

    View Slide

  11. 3 Classes
    4 Weeks
    8 Lectures

    View Slide

  12. 3 Classes
    4 Weeks
    8 Lectures
    8 Homeworks

    View Slide

  13. 3 Classes
    4 Weeks
    8 Lectures
    8 Homeworks
    15 Students Per Class

    View Slide

  14. The Building Blocks

    View Slide

  15. Practical knowledge

    View Slide

  16. View Slide

  17. Mentorship

    View Slide

  18. No official certificates

    View Slide

  19. Employment opportunity

    View Slide

  20. 100% FREE

    View Slide

  21. Preparations
    with a strict deadline

    View Slide

  22. A month.

    View Slide

  23. 240 Candidates

    View Slide

  24. 45 Students

    View Slide

  25. Rails Course

    View Slide

  26. A Reddit Clone

    View Slide

  27. Curriculum
    Intro to Ruby
    Intro to Rails
    Active Record
    Action View
    Authentication
    Optimisations /ActionMailer / Image Upload
    API
    Testing

    View Slide

  28. Curriculum
    Intro to Ruby
    Intro to Rails
    Active Record
    Action View
    Authentication
    Optimisations /ActionMailer / Image Upload
    API
    Testing

    View Slide

  29. for i in 0..5
    puts i
    end
    For loops

    View Slide

  30. ..but in Ruby..

    View Slide

  31. (1..5).each { |i| puts i }
    Enumerators

    View Slide

  32. ..but in Ruby..

    View Slide

  33. (1..5).each do |i|
    puts i
    end
    Blocks with do-end

    View Slide

  34. -5.abs()
    Everything is an object

    View Slide

  35. ..but in Ruby..

    View Slide

  36. -5.abs
    Parenthesis are optional

    View Slide

  37. this
    Current object

    View Slide

  38. ..but in Ruby..

    View Slide

  39. self
    Current object

    View Slide

  40. null
    Non-existing value

    View Slide

  41. ..but in Ruby..

    View Slide

  42. nil
    Non-existing value

    View Slide

  43. Ruby is weird.

    View Slide

  44. Curriculum
    Intro to Ruby
    Intro to Rails
    Active Record
    Action View
    Authentication
    Optimisations /ActionMailer / Image Upload
    API
    Testing

    View Slide

  45. Curriculum
    Intro to Ruby
    Intro to Rails
    Active Record
    Action View
    Authentication
    Optimisations /ActionMailer / Image Upload
    API
    Testing

    View Slide

  46. Curriculum
    Intro to Ruby
    Intro to Rails
    Active Record
    Action View
    Authentication
    Optimisations /ActionMailer / Image Upload
    API
    Testing

    View Slide

  47. View Slide

  48. AJAX
    The Rails Way

    View Slide

  49. Curriculum
    Intro to Ruby
    Intro to Rails
    Active Record
    Action View
    Authentication
    Optimisations /ActionMailer / Image Upload
    API
    Testing

    View Slide

  50. Devise

    View Slide

  51. Curriculum
    Intro to Ruby
    Intro to Rails
    Active Record
    Action View
    Authentication
    Optimisations /ActionMailer / Image Upload
    API
    Testing

    View Slide

  52. Curriculum
    Intro to Ruby
    Intro to Rails
    Active Record
    Action View
    Authentication
    Optimisations /ActionMailer / Image Upload
    API
    Testing

    View Slide

  53. Curriculum
    Intro to Ruby
    Intro to Rails
    Active Record
    Action View
    Authentication
    Optimisations /ActionMailer / Image Upload
    API
    Testing

    View Slide

  54. Homework

    View Slide

  55. The Pull Request
    Ping Pong

    View Slide

  56. Tools / Services

    View Slide

  57. View Slide

  58. View Slide

  59. View Slide

  60. View Slide

  61. View Slide

  62. Be really specific?

    View Slide

  63. Mistakes

    View Slide

  64. Poor estimates

    View Slide

  65. Poor estimates
    300h

    View Slide

  66. Poor estimates
    300h
    600h

    View Slide

  67. “Taste the meal before
    you serve it.”

    View Slide

  68. let(:post) { create(:post) }
    ...
    it 'creates a post' do
    post :create, post: { title: 'Hello World' }
    expect(response).to be_success
    end

    View Slide

  69. Cover git basics.

    View Slide

  70. View Slide

  71. 30 Graduates

    View Slide

  72. 10 Employed

    View Slide

  73. View Slide

  74. Student Feedback

    View Slide

  75. “The Academy was oriented on practical work
    and it was the first time I had specific feedback
    on the code I wrote.”

    View Slide

  76. “In a month, I’ve learned more useful things
    than three-years-worth of college, and I had no
    previous experience in the technology.”

    View Slide

  77. Average student rating:
    4,6/5

    View Slide

  78. Linkedin

    View Slide

  79. Conclusions

    View Slide

  80. Comfort zone.

    View Slide

  81. Different viewpoint.

    View Slide

  82. Scaled onboarding

    View Slide

  83. Build your community

    View Slide

  84. View Slide

  85. Damir Svrtan
    Rails Team Lead @ Infinum
    Organizer @ Ruby Zagreb
    @DamirSvrtan
    www.infinum.co

    View Slide