My To-Learn List

By James Dabbs, Rails Engineering Instructor

Reflection, learning, and growth are very much a part of the DNA of this organization and team. We just finished up an amazing cohort, which means I’ll get a wonderful opportunity (mandate, even) to sharpen my own skills and crack open my backlog of technologies to explore before the next cohort starts up in January. (Have I mentioned that we’re hiring like crazy?)

There’s always so much to learn, but here are some of the topics near the top of my list. Some are new, some are just new to me, but I can’t wait to dig in.

Functional Programming

In the future, more and more of our lives will be driven by complex software systems, and I believe that being able to understand and work in those systems will be more and more important. In part that’s an educational challenge (which is part of why I’m here), but in part that’s a challenge to build better, more maintainable and extensible systems. I’ve done a decent amount of Haskell hacking, and it feels like a massive step in the right direction, but there’s so much going on in this space – Idris and dependent types, Elm and FRP (and a time-traveling debugger), Rust and sane memory-management.


Meteor seems to finally be living up to the promise of having server-side javascript – write your models once, use them anywhere. It’s a crazy world: the Chrome console is the database console; end-to-end live updates via pub-sub and data binding. It looks to draw from the same ethos that drove me to Rails – quick prototyping, developer productivity, batteries included (awesome for hackathon demos). I’m not sure how I feel about the level of coupling that Meteor seems to want as an app grows, but I want to build and live with a non-trivial Meteor app for a while to see.


I’m a big Angular fan, but didn’t love teaching it in my Rails class. Too much black magic, too much non-transferrable knowledge required. That said, I absolutely don’t want to encourage old-school storing data in the DOM with jQuery. React seems like a nice middle ground – lightweight enough to get your head all the way around, but still quite powerful. Like Angular: the Good Parts.


On a similarly pedagogical note, I love the idea of ramping up to Rails, but was a little unsatisfied with Sinatra – like Angular, it’s its own DSL, so somewhat magical and non-transferrable. Camping, on the other hand, introduces the MVC terminology early, provides practice with plain ol’ Ruby objects, and has a relatively clear upgrade path to Rails when the time comes.

What are you learning next?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

About theironyard

The Iron Yard exists to create exceptional growth and mentorship for people, their companies and their ideas through code education and startup accelerators.