my experience of ruby education in taiwan
TRANSCRIPT
![Page 1: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/1.jpg)
My experience of Ruby Education in Taiwan
Mu-Fan Teng(@ryudoawaru) Ruby World Conference
~台湾にRuby教育で得た知⾒見
![Page 2: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/2.jpg)
はじめに発表する機会をいただき ありがとうございます
![Page 3: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/3.jpg)
自己紹介鄧 慕凡(Mu-Fan Teng)
a.k.a: 竜堂 終
両方どもある小説の登場人物
Github / Twitter: @ryudoawaru
http://ryudo.tw
![Page 4: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/4.jpg)
台湾人であり
![Page 5: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/5.jpg)
仕事は
![Page 7: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/7.jpg)
弊社の業務
![Page 8: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/8.jpg)
Ruby / Rails の 教育業者
![Page 9: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/9.jpg)
コンサルタンシー / オフショア海外の取引先は日本、シンガポールなどを持ちます
![Page 10: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/10.jpg)
Rubyの広めるRailsGirls / RubyConf…etc
![Page 11: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/11.jpg)
RWC初めの海外スポンサーになりました
![Page 12: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/12.jpg)
ここから、英語で話す
![Page 13: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/13.jpg)
AGENDA
Introduce Ruby Taiwan Community.
Ruby Employment Market in Taiwan.
Our Ruby/Rails Courses, how and why.
Cooperate Training.
My findings in teaching Ruby.
![Page 14: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/14.jpg)
Ruby Taiwan CommunityEstablished in 2008, only Ruby Community in
Taiwan.
![Page 15: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/15.jpg)
Ruby Community Events in Taiwan
![Page 16: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/16.jpg)
Ruby TuesdayRegular Ruby Meetup
![Page 17: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/17.jpg)
Taipei.rbMeet-up with Technical & Soft Topics
![Page 18: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/18.jpg)
RubyConf TaiwanAnniversary Ruby Seminar
![Page 19: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/19.jpg)
Rails Girls Taipei5 times from 2013.9
![Page 20: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/20.jpg)
Rails Girls WeeklySpin-Off of Rails Girls
![Page 21: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/21.jpg)
Chronicle
Appear in OSS Community
2006
Ruby.TW Established
2008
2nd RubyConf.TW
2011.8
2010.04
First RubyConf.TW
2012.12
3rd RubyConf.TW
1st RailsGirls Taipei
2013.09
4th RubyConf.TW
5th RubyConf.TW
2015.09
2014.04
![Page 22: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/22.jpg)
Ruby Jobs in Taiwan
![Page 23: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/23.jpg)
Statement
The following data is baed on what I see and hear, no guarantee.
![Page 24: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/24.jpg)
Ruby Company Distribution
30%
30%
40%Foreign CompanyLocal CompaniesLocal Startups
![Page 25: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/25.jpg)
Many Oversea Companies
From 2010.
Mainly from Silicon Valley.
For Relatively Cheaper Salary Level.
Rise Salary Level of Web Engineers Taiwan
![Page 26: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/26.jpg)
Average Salary LevelAn
nual
Sal
ary
100万¥
225万¥
350万¥
475万¥
600万¥
Junior Intermediate Senior
Other Ruby
![Page 27: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/27.jpg)
Engineer Skill Level
Junior: Entry-Level Skill.
Intermediate: Eligible Skill.
Senior: Fluent Skills and Experience on both Front-End and Back-End.
![Page 28: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/28.jpg)
Summary
The Actual Market
Demand of Ruby engineers are growing.
Employers always look for compact power(即戦⼒力).
Lack of experienced ones.
Juniors become depressed easily.
![Page 29: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/29.jpg)
Our Ruby/Rails Courses, how and why.
![Page 30: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/30.jpg)
Courses
Free
Monthly Ruby Basic
Promotional Courses in Campus
Commercial
Main Ruby on Rails Curriculum
Others
![Page 31: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/31.jpg)
FREE Ruby Entry COURSE
![Page 32: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/32.jpg)
FREE Ruby Course
Monthly and Free
No Qualification
Hand-made Texts
![Page 33: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/33.jpg)
Syllabus—Ruby IntroInstall & 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
![Page 34: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/34.jpg)
Campus Ruby Classes
![Page 35: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/35.jpg)
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.
![Page 36: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/36.jpg)
Commercial Course
![Page 37: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/37.jpg)
Class Type
Main Curriculum: Ruby on Rails From Zero
Other: Additive for Main Course, or other independent topics.
![Page 38: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/38.jpg)
Ruby on Rails from Zero
Separate into 3 parts:
“Prototyping”
“Handcrafting”
“Go Shopping”
3 + 3 + 7 = 13 hours a week, 3 weeks in a row.
Student can elect any one or all parts.
![Page 39: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/39.jpg)
Prototyping
Environment Setup / Scaffold / HTTP Basic
HTML / CSS / Git Basic / Ruby Basic
Rails Convention / Bootstrap / Useful Gems / Deploy to Heroku
![Page 40: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/40.jpg)
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
![Page 41: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/41.jpg)
Handcrafting Part
MVC Structure / Assets
Layouts / Helpers / Form Objects
ActiveRecord / Association / Scope / Validation / Callback
![Page 42: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/42.jpg)
Concept & Goals
Learn Common Parts of Rails
Bottom-Up Style, not only Generator
Students will write a voting system as homework
![Page 43: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/43.jpg)
Go shopping
Detail User system by Devise/Facebook Connection
Establish an E-Commerce site with shopping cart
ActionMailer and Delayed Job
Paypal Integration
![Page 44: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/44.jpg)
Homework Flow
Instructor create a new Github repo and puts initial codes.
Trainees then fork & implement.
Send PR for review.
![Page 45: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/45.jpg)
Other Courses
Supplementry
Advanced Ruby
HTML / CSS
Independent
Ruby Motion
![Page 46: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/46.jpg)
HTML / CSSName: “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.
![Page 47: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/47.jpg)
Advanced RubyClass 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
![Page 48: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/48.jpg)
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
![Page 49: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/49.jpg)
Corporate Training
![Page 50: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/50.jpg)
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.
![Page 51: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/51.jpg)
Difference
Taught at Customer’s office.
Programs are customized.
Students usually have web programming skills of other languages.
![Page 52: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/52.jpg)
Programs
Ruby + Rails
Git + Github + GitFlow
Test Driven Development
![Page 53: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/53.jpg)
Services Besides Training
Consulting Service
Outsourcing Development
Human Resource Service
![Page 54: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/54.jpg)
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.
![Page 55: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/55.jpg)
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.
![Page 56: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/56.jpg)
My Findings
![Page 57: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/57.jpg)
Problems in Class
![Page 58: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/58.jpg)
Environment Building
Environment building is always a pain.
Even for Mac.
Spends too much time.
OS Distribution
5%
35%
60%
Windows MacLinux
![Page 59: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/59.jpg)
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.
![Page 60: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/60.jpg)
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.
![Page 61: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/61.jpg)
Inconsistent Skill Level
Program Experience
40%
20%
40%
WEB ProgrammerOther programmerNon
Git Experience
No 65%
Yes 35%
Yes No
![Page 62: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/62.jpg)
Three Kind of Students
Total Rookie.
Experienced Web Programmer.
Rails Beginner who wants Instructor to help with exercising and practicing.
![Page 63: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/63.jpg)
Question & Response
Students are shy.
Need Time for Internalising Knowledge.
People are too Busy to Gather at one Place.
![Page 64: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/64.jpg)
Online Communication Tool
Slack is easy and convenient.
Our usage:
Per Private Channel for one class.
Distribute text and code,url…etc
![Page 65: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/65.jpg)
Enrolment
![Page 66: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/66.jpg)
Enrolment Status
0
10
20
30
2014/4 2014/7 2014/10 2015/1 2015/3 2015/5 2015/7
会社成⽴立
Split into ABC parts
![Page 67: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/67.jpg)
Motivation of Learning
Transfer from PHP or .NET or Java.
Learn New Skills.
Become Full-Stack.
Communicate with Programmers.
Become a Programmer.
![Page 68: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/68.jpg)
Conclusion
![Page 69: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/69.jpg)
Education is CommunicationFeedback is important
![Page 70: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/70.jpg)
Education is ExperienceKeep Accumulating Experience
![Page 71: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/71.jpg)
Education is BalanceFinding Balance Between Instructor and Programmer
![Page 72: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/72.jpg)
ご清聴ありがとうございました
![Page 73: My experience of Ruby Education in Taiwan](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5881d3c51a28ab331a8b5da1/html5/thumbnails/73.jpg)
Any Questions?