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.
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.
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.
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”
3 + 3 + 7 = 13 hours a week, 3 weeks in a row.
Student can elect any one or all parts.
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.
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
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.
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.
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
40%
20%
40%
WEB Programmer
Other programmer
Non
Git Experience
No
65%
Yes
35%
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