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.
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.
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?