1 My experience of Ruby Education in Taiwan ~ 台 湾 にRuby 教 育 で 得 た 知 見 Mu-Fan Ruby World Conference
2 はじめに 発 表 する 機 会 をいただき ありがとうございます
3 自 己 紹 介 鄧 慕 凡 (Mu-Fan Teng) a.k.a: 竜 堂 終 両 方 どもある 小 説 の 登 場 人 物 Github /
4 台 湾 人 であり
5 仕 事 は
6 五 倍 の 紅 宝 石
7 弊 社 の 業 務
8 Ruby / Rails の 教 育 業 者
9 コンサルタンシー / オフショア 海 外 の 取 引 先 は 日 本 シンガポールなどを 持 ちます
10 Rubyの 広 める RailsGirls / RubyConf etc
11 RWC 初 めの 海 外 スポンサーになりま した
12 ここから 英 語 で 話 す
13 AGENDA Introduce Ruby Taiwan Community. Ruby Employment Market in Taiwan. Our Ruby/Rails Courses, how and why. Cooperate Training. My findings in teaching Ruby.
14 Ruby Taiwan Community Established in 2008, only Ruby Community in Taiwan.
15 Ruby Community Events in Taiwan
16 Ruby Tuesday Regular Ruby Meetup
17 Taipei.rb Meet-up with Technical & Soft Topics
18 RubyConf Taiwan Anniversary Ruby Seminar
19 Rails Girls Taipei 5 times from
20 Rails Girls Weekly Spin-Off of Rails Girls
21 Chronicle Appear in OSS Community First RubyConf.TW 3rd RubyConf.TW 4th RubyConf.TW Ruby.TW Established 2nd RubyConf.TW 1st RailsGirls Taipei 5th RubyConf.TW
22 Ruby Jobs in Taiwan
23 Statement The following data is baed on what I see and hear, no guarantee.
24 Ruby Company Distribution Foreign Company Local Companies Local Startups 30% 40% 30%
25 Many Oversea Companies From Mainly from Silicon Valley. For Relatively Cheaper Salary Level. Rise Salary Level of Web Engineers Taiwan
26 Average Salary Level 600 万 475 万 Other Ruby Annual Salary 350 万 225 万 100 万 Junior Intermediate Senior
27 Engineer Skill Level Junior: Entry-Level Skill. Intermediate: Eligible Skill. Senior: Fluent Skills and Experience on both Front-End and Back-End.
28 Summary The Actual Market Demand of Ruby engineers are growing. Employers always look for compact power( 即 戦 力). Lack of experienced ones. Juniors become depressed easily.
29 Our Ruby/Rails Courses, how and why.
30 Courses Free Monthly Ruby Basic Promotional Courses in Campus Commercial Main Ruby on Rails Curriculum Others
31 FREE Ruby Entry COURSE
32 FREE Ruby Course Monthly and Free No Qualification Hand-made Texts
33 Syllabus Ruby Intro Install & Write your first Ruby Program Basic Syntax(variable / flow control etc) Basic Class Block, Proc and lambda OOP Use Rubygems & rake Introduce Ruby s Ecosystem
34 Campus Ruby Classes
35 Campus Ruby Courses Topics: Ruby + Rails Period: Between 2 and 5 days. The skill level of students are more even. Usually in computer class: Difficult to keep learning.
36 Commercial Course
37 Class Type Main Curriculum: Ruby on Rails From Zero Other: Additive for Main Course, or other independent topics.
38 Ruby on Rails from Zero Separate into 3 parts: Prototyping Handcrafting Go Shopping = 13 hours a week, 3 weeks in a row. Student can elect any one or all parts.
39 Prototyping Environment Setup / Scaffold / HTTP Basic HTML / CSS / Git Basic / Ruby Basic Rails Convention / Bootstrap / Useful Gems / Deploy to Heroku
40 Concept & Goals Foundation of the following parts, like HTTP/ GIT/Ruby Syntax Get a quick taste of Rails by Generators and some useful Gems Use Bootstrap Framework to decorate HTML Help Students build confidence by deploying their first APP to Heroku
41 Handcrafting Part MVC Structure / Assets Layouts / Helpers / Form Objects ActiveRecord / Association / Scope / Validation / Callback
42 Concept & Goals Learn Common Parts of Rails Bottom-Up Style, not only Generator Students will write a voting system as homework
43 Go shopping Detail User system by Devise/Facebook Connection Establish an E-Commerce site with shopping cart ActionMailer and Delayed Job Paypal Integration
44 Homework Flow Instructor create a new Github repo and puts initial codes. Trainees then fork & implement. Send PR for review.
45 Other Courses Supplementry Advanced Ruby HTML / CSS Independent Ruby Motion
46 HTML / CSS Name: Evolution From Designer to Front-End Engineer 14 hours, 2 days Target: Designers who want to become Web Front-End Engineers. Goal: Foundation of Rails Course. For Designers to Write Modern HTML and CSS3 by Hand.
47 Advanced Ruby Class name: Ruby s Note to Oneself 1 day, 6 hours Target: Ruby programmer who want to advance metaprogramming ability. What will learn: How to write OOP in Ruby Write Metaprogramming in Rails Write DSL Write Command Line Program in Ruby
48 RubyMotion Name:iOS App Development Guide for Rails Workers 4 days, 18 hours Target Audience: Rails Programmer who want to keep using Ruby to write ios App Use ProMotion and Related RubyGem instead of teach Cocoa framework
49 Corporate Training
50 Customer Background Convert existing projects from other languages (PHP,ASP etc) to Rails. Used to use other languages, planning to develop new projects in Rails. Currently using system based on Rails (Redmine,Gitlab etc) and want to customise.
51 Difference Taught at Customer s office. Programs are customized. Students usually have web programming skills of other languages.
52 Programs Ruby + Rails Git + Github + GitFlow Test Driven Development
53 Services Besides Training Consulting Service Outsourcing Development Human Resource Service
54 Special Outsourcing + Consulting Service We develop customer s commission project. Use the project s code as example on training. Assign issues to students, and review their results.
55 Actual Migrating Case Mission: Migrate old site to Rails. Target: An online cosmetic catalog website which has ran for 10+ years based on ASP,PHP and MySQL.
56 My Findings
57 Problems in Class
58 Environment Building OS Distribution Environment building is always a pain. Even for Mac. 35% 5% 60% Spends too much time. Windows Linux Mac
59 Workaround for Windows Install VM and Linux: Sometimes fails. Unable to Keep Learning. Rails Installer: C-Binding Issues on Some Gems. Windows Console is Awkward. Cloud Web IDE platforms: So far the best solution.
60 Cloud Web IDE Platforms My recommendation:nitrous.io and C9.io Pros:No need to work on student s computer setup anymore. Cons: Free plan runs tardily with low resources and no SSH. Sometimes boots very slowly, especially when many instances boots concurrently in class. In case we told students to register and create instance before class.
61 Inconsistent Skill Level Program Experience Git Experience 40% 40% Yes 35% 20% No 65% WEB Programmer Other programmer Non Yes No
62 Three Kind of Students Total Rookie. Experienced Web Programmer. Rails Beginner who wants Instructor to help with exercising and practicing.
63 Question & Response Students are shy. Need Time for Internalising Knowledge. People are too Busy to Gather at one Place.
64 Online Communication Tool Slack is easy and convenient. Our usage: Per Private Channel for one class. Distribute text and code,url etc
66 Enrolment Status 会 社 成 立 /4 2014/7 2014/ /1 2015/3 2015/5 2015/7 Split into ABC parts
67 Motivation of Learning Transfer from PHP or.net or Java. Learn New Skills. Become Full-Stack. Communicate with Programmers. Become a Programmer.
69 Education is Communication Feedback is important
70 Education is Experience Keep Accumulating Experience
71 Education is Balance Finding Balance Between Instructor and Programmer
72 ご 清 聴 ありがとうございました
73 Any Questions?