Frequently asked questions about Ruby Immersion
What is the goal of Ruby Immersion?
First and foremost, to teach the Ruby programming language, at a depth and level of quality which perhaps exceeds other similar training programs. Second, to train "World-Class Beginners" in the art and science of Ruby in the context of useful, real-world problems and solutions, helping to create a pool of talented software developers who are prepared to commence careers in this field and with this tool.
But where's the Ruby on Rails part?
This intensive training focuses on Ruby, the programming language. "Ruby on Rails" (or just "Rails") is a website application development framework, essentially a software development toolkit which is narrowly focused on one segment of applications, those which are deployed on/in Internet and intranet websites. Rails is written in Ruby, and both the popular/technical press and many in business management confuse the terms, as if "Ruby" and "Rails" are the same thing.
They're not: Ruby is a general purpose programming language; Rails just happens to be written in Ruby, and Ruby is used within Rails development projects to customize and enhance website implementations.
Granted, this is "where the hot action is" in today's business world, and there is a nearly insatiable demand for Rails website developers - a great employment opportunity for those who are ready and trained for it.
There are lots of training bootcamps, both online and in classrooms, which jump right into Rails. If nothing else, by providing a firm foundation in Ruby (the programming language), we can help train and prepare World-Class Beginners to enter the world of Rails development - our Ruby Immersion graduates will be exceptionally well qualified to undertake the next level of Rails bootcamp training, rather than just "jumping into the deep end" of Rails unprepared with Ruby foundations.
But again, why focus on Ruby?
Our own informal conversations with Rails project leaders indicates to us that they're all facing a similar staff/resource problem, namely, that graduates of "Rails only" bootcamps are actually under-prepared for full and productive involvement in a real-world, complex business website development team.
We hear this a lot: "They don't know enough about Ruby" and "They're under-prepared as software developers" and "They just don't have the overall background that we need on our team."
We're certain of these things: a) By itself, Rails-only training is insufficient as a career-pivoting course of instruction, and the wrong place to begin study and preparation for that career and job market. b) There is no professional training program (certainly not enough of them) which focus on the Ruby programming language, and in the context of full-scale software development.
We intend to fill that gap, and to provide world-class training opportunities in the foundations of the Ruby programming language and its real-world applications.
Who is Ruby Immersion training for? What qualifications should students have?
The course is designed for people with beginning-to-intermediate software programming skills.
This will be an intense, demanding course of study, and is not appropriate for absolute beginners in computer technology. Any kind of software development demands a level of precision and rigor in thinking, in problem solving, in creating, in executing algorithms and code in your head, in analysis and debugging, and even in the mundane tasks of typing in and formatting code (text editing) and Ruby is no less demanding in this than any other programming language.
The most successful students will enter the Newbie level of the Ruby Immersion with at least some team or solo experience at software development; in which language is less important than the experience of having conceived and implemented working programs in some language. Command line skills (bash/Linux, etc.), text editing, software installation and basic workstation or laptop management skills will be taken for granted - and Ruby Immersion will help the student take these to the next level (Emeril: "Bam! Let's kick it up a notch!").
Sounds pretty tough!
Yes, it is! That's why it's called an "Immersion," not just a "training class." Unlike some corporate-level trainings which are viewed as a sort of "vacation junket" away from the day-to-day office, Ruby Immersion students must commit to:
- Focused attention during class hours
- Precision in thinking and in execution
- "All-in" participation in class/team exercises and projects (there will be almost no solo, individual work)
- Eagerness to join the conversation to question and ask, to help others, to contribute, and to receive
- After-hours reading and homework
- Five full days each week - Fridays will be full days, no early travel home; make plans to go home on a Saturday flight
In return for this kind of dedication, students will benefit from:
- Exposure to and experience with real-world problems and solutions
- Mentoring from and interaction with industry experts in Ruby and software development
- Persistent projects which last beyond the few weeks of training, the ability to work on and contribute to Ruby software projects of lasting significance and value
- Experience with real agile development teamwork, from pair programming to larger, but tight, development teams
- A solid foundation in Ruby and object-oriented programming, enough to continue learning and personal development beyond the coursework, and enough to start a career with… Not just as a web-developer, but in any endeavor where Ruby and software skills can help you and your community
What should the student bring to Ruby Immersion?
Well, besides a great attitude, an expectation and commitment to work hard, and a basis of experience as outlined above, each student must provide and bring his/her own laptop computer, with Linux (preferred) or Mac OSX installed - we will not use MS Windows, except perhaps as a host for a Virtual Machine running Linux; dual-booting laptops (e.g., Linux in one partition, Windows in another) are okay too.
Nearly any mainstream Linux distro (e.g., Ubuntu, Fedora, OpenSuSE, etc.) is acceptable, as is Mac OSX - late(st) releases are best.
What about software requirements?
Classroom work will emphasize free/open source software products: Sublime Text is the preferred text editor/IDE (it can be obtained at no cost for extended evaluation purposes, no time limit), the Ruby Version Manager (RVM) for Ruby installation(s), and Ruby Gems will comprise the core of what will be installed on student laptops.
What's the style of teaching and presentation?
The Ruby Immersion Instructor is more of a mentor and a coach than a "traditional teacher." Instructor focuses on engaging students in active participation, not passive absorption. Students should expect to answer at least as many questions, posed by Instructor and other students, as they ask of the Instructor - probably more.
Although there is necessarily some amount of Instructor lecture and presentation, just to cover requisite material, the emphasis is on "hands on" and "doing" in preference to passive listening and note-taking. Exercises (called "scales and études") and full-blown projects ("concerti") are allocated a significant amount of class time.
And, on an as-available basis, Ruby Immersion will feature guest speakers, industry experts and leaders invited in from real businesses and projects - rather than "just a business talk" (although the speaker might give one), the emphasis will be on full-bore interactions, including Q&A, conversations and possibly even a bit of after-class socializing, all aimed at providing students with a real-world viewpoint, a taste of what they'll be getting into as a career, and why.
How does Ruby Immersion compare to other code schools out there?
This training is designed to fill a particular niche - actually a significant gap - which is apparent from current industry and social trends:
First of all, young professionals are looking to code schools rather than university programs to fulfill their technical training needs; for better or worse, academic computer science programs are viewed as less than relevant or helpful in today's job market, while code schools are focusing on actual business needs and required job skills.
There are many code schools and programming bootcamps sprouting up around the country, and several of them are very good, good enough that we would readily recommend them as a follow on to Ruby Immersion.
However, nearly all code schools jump straight into "trendy topics" like Rails, No-SQL databases, version control/repositories, and test-driven development. They presume the basics, and at the same time, ask students for personally expensive commitments to several months - from 12 to 24 weeks - of training.
Ruby Immersion focuses on Ruby, from basic syntax through object-oriented software design, from practical scripting through metaprogramming. Students will be exposed to the full spectrum of Ruby's potential application space, encompassing much more than "just Rails."
Why is Ruby Immersion so short compared to other months-long code schools?
We can lay the foundations of the Ruby programming language, plus exposure and orientation to software development best practices, within a four week timeframe; from there, a student's decision to progress to a longer duration code school should be much easier to make.
Is Ruby Immersion a feeder or prep-work for a Rails code school?
Yes, it can be, for those who want to pursue a Rails developer career track. Many code schools routinely see a few hundred applicants applying for about 10-to-20 student slots per class, prefaced by qualifying technical tests and interviews - so it's very likely that Ruby Immersion can improve your chances of acceptance to a Rails/web-developer code school, if that's your goal. In any event, you could attend that follow-on code school with a solid foundation in the Ruby programming language; if that school "reviews the basics," you'll be that much better off.
But it's also just as likely that, rather than pursuing Rails, you want to take your Ruby foundational skills to other application areas, including numeric processing, scientific &/or engineering modeling, system administration scripting, software tools development, text processing, image processing, and many more. Ruby is a general purpose programming language, and a very powerful one; our training gives you a non-Rails alternative.
Can I take Ruby Immersion as a distance-learning experience, on the web?
No - Ruby Immersion is, as a whole, a participatory learning experience, and if you are in another city, away from our classroom, you cannot effectively participate in the team learning. We know and acknowledge that open source teams function effectively with many members who are physically remote from each other but these are experienced software developers, not newbies who are just learning the language and the methodologies. To achieve our objectives for each student, the face-to-face interactions are key, especially during this learning phase. You kind'a have to be there…
Do I have to work for a PARSEC customer company to attend Ruby Immersion?
Ruby Immersion enrollment is open to anyone who can fulfill the prerequisites, regardless of employment status or affiliation - our class cohorts will include traditional employees, people making a career-pivot, U.S. Military veterans, working moms and dads, and others who are out-of-work or between-jobs.
Who will be my classmates?
Code schools, including Ruby Immersion, are attracting smart people from all over the place, from young professionals to old-school coders: from Unix and OpenVMS "gray beards" to youngsters just getting into IT/tech, from people making a career transition/shift to U.S. Military veterans just discharged, from coders who know six programming languages or more to newbies just getting started, men and women from all sorts of backgrounds.
Chances are that the people sitting next to you in Ruby Immersion are really just a lot like you - ready to learn something really new and challenging, and eager to see how this new set of skills can change their career and possibly their life.