One problem with résumés is that they put all the focus on what you’ve done, while there’s almost never room to represent what you’re learning to do. And I’m in the process of learning quite a few things — so many that I’ve amassed a spreadsheet of more than 600 study resources and have been sporadically working on an application to enable organizing, tracking progress on, and sharing them.
In the meantime, the following are some of my current areas of inquiry:
I’ve worked with GraphQL on a consulting engagement, but it wasn’t really necessary for what we were doing, so I only got to scratch the surface. I’ll be filling in some of those gaps on my next assignment.
- Object-oriented design
When I learned this approach in grad school, using Processing, we used code mostly to literally describe objects — e.g., to draw graphics and move them around on the screen. OOP never made much sense to me in non-graphical applications, until Stride arranged to have Sandi Metz teach a three-day workshop about it, which I was lucky enough to attend. The workshop was excellent, but one can only absorb so much in three days, so I’m continuing this line of study on my own.
I’ve been studying Python on and off for several years, so I have a ton of – too many, really — resources for learning. So right now I’m focusing on completing just one. My favorite du jour is Reuven M. Lerner’s book-in-progress, Python Workout.
In her OOP workshop, Sandi referred several times to Martin Fowler and Kent Beck’s book Refactoring: Improving the Design of Existing Code, and I realized that there was a lot more to refactoring than I’d ever realized. So I’ve begun working my way slowly through that book.
I’d never really used TDD until I learned it to complete Stride’s take-home coding challenge, when I applied to work there. As soon as I got the hang of this practice, though, I wished I’d picked it up much sooner. Then, on my first consulting engagement, I got to test-drive code almost every day, so I grew reasonably competent at writing unit tests, especially in the context of React. On my second assignment, I started getting my head around integration tests, but those and E2E tests are still mysterious and a bit terrifying, so I’m digging into them more.
I’ve used TypeScript on the job, but not enough to do much more than swear at it. I suspect I’ll never learn to love this language, but I’ve heard that it at least grows less infuriating after a few months…
Once I feel I’ve absorbed enough of the topics above, I might dig into the following:
I learned some basic calculus at pre-engineering summer camp but never took the class in high school, because there was a 50 percent chance of getting a notoriously abusive teacher, and I didn’t like those odds. But I think it might be fun to study now?
There are certainly other data visualization tools I’m interested in (Victory, for one), but this seems to be the most widely used, right now.
- Functional programming
I used Java in grad school but haven’t really touched it since. I don’t expect to ever enjoy reading or writing Java, but it’s ubiquitous and, apparently, inescapable.
R is yet another language I was introduced to in grad school but haven’t had occasion to use since then.
I’ve used RoR on the job, taken a couple of very brief classes on both Ruby and Rails, and muddled through enough to build this site using Jekyll, but I couldn’t whiteboard FizzBuzz in Ruby right now for a million dollars.
Some developers I know seem to looooooooove it.
I know, this is a problem. I look forward to having a job so I can focus on whatever we’re actually using.