2017 in Review

It’s that time of year when we look back to see how things have gone in the last year, what we accomplished, how well we stuck to our goals, any major changes – good or bad, and start making plans for the next year. All arbitrarily based on a calendar system someone made up centuries ago, but so be it. If there’s no natural origin point, make one up.

2017 was a year of massive change for me. I changed companies once and changed jobs twice. And to a large degree, I actually changed careers once. I abandoned one coding platform, ramped up on another one and started learning an entirely new one.

My Job and Career

When the year started, I was working at a company called Dreamsocket, doing mostly Android work, with some web work and helping out now and then on iOS. I’d been there nearly three years and learned a whole lot. It’s a small company that does way more work than you would imagine possible. Award-winning, high profile work. It was an honor to be part of a lot of those projects. But I was feeling the urge to move on. It was just a feeling. I hadn’t gotten to the point of actually looking for another job. But then Steff, a friend and former coworker at two different companies reached out and asked if I’d be interested in coming to have a chat where he was working.

The company was Notarize. They do on-line notarizations. Not too exciting, I thought. But sure, worth a chat. As it turned out, I wound up being impressed enough with the people and technology that I wound up accepting an offer and became part of the web team. It’s all React, with Relay and GraphQL. Rails backend. In other words, a whole bunch of technology I knew almost nothing about. The first couple of months were a struggle. Although I came on as a senior engineer, I felt like a total noob. But I eventually found my feet and got productive and feel like I’ve been doing pretty well in terms of helping shape the team’s best practices, improving processes, improving the build, etc.

The company has been growing fast. There were 6 developers before me. Now there are close to 30. A month or so after I started there, Steff became the Engineering Manager. As we continued to grow, we needed additional managers. In just about every company I’ve worked for in my career as a developer, I’ve had some kind of manager role offered to me. I’ve never been interested. I just wanted to code. At Notarize, it was different. I really liked the way Steff was defining the role. It aligned with what I really wanted to do – help other developers be successful. So I volunteered. It’s very different. Much less coding, but I’m really enjoying getting to know all the engineers more and helping align what they want to do with what the company needs to get done. I have 8 developers I’m working with. Soon to be more. Working with Steff has been great. We see most things eye to eye and have a lot of agreement on where we should be headed. So that’s my job and the start of my budding new career.

Personal Projects

In the last few years, I’ve done a lot of physical making of stuff. Woodworking, knife making, leather work, blacksmithing. It’s been great, but it’s taken a back seat this year. Mostly due to the new job, which has required learning a whole lot of new stuff. There’s also the commute factor. For the previous four years, I was working at home. At the end of the day, I’d just pop downstairs into the shop and do an hour’s work before dinner. Or even get something done in the morning before work. I’m starting to feel the urge to build something these days though. I’m planning to at least get down into the workshop and do some cleaning up and organizing before New Years, and hopefully get a few projects done in the coming year.

As for personal coding projects, at the beginning of 2017, I started a new BIT-101 Lab. This was kind of a revival of my earliest BIT-101 Flash-based experiments lab. I had hoped to continue the experiment-a-day for the full year, but the new job did impact that. I’d be coming home and learning about React and Relay and Ruby and Rails. I had a backlog of daily pieces which acted as a buffer for a while, but when those ran out, I didn’t have the time to continue doing more.

Eventually, as I stabilized in the new job, I started being a bit more relaxed after work and had the urge to learn something new. I’ve been coding graphics and animation in JavaScript and Canvas for years. I really felt it was time to learn a new language though. Two that I was really interested in were Rust and Go. I somewhat randomly chose Rust, and for the last couple of months, that has been consuming me. It at once feels very familiar, but is also so fundamentally different than any other language I’ve worked in. It’s been a real challenge, but not in any overwhelming sense. I’ve been able to get productive in Rust while I continue to learn its weird nuances. I’ve been porting over a lot of my JavaScript graphics libraries. I’ve discovered that porting code you are really familiar with is a great way to learn a new language. You know exactly what you are trying to do. You just need to know how to express that in the new language’s constructs. I’ve already published one article on what I’m doing, and have plans for more to come.

I haven’t gone deep into animation with Rust. I’ve been using Cairo graphics, which really just generates image files which I save to disk. I have got a setup going where I can very easily generate an image sequence and convert it into an animated gif. Eventually, I want to explore the Piston game engine. More for its interactive animation capabilities than actually creating games. But who knows where that will go.

Personal Life

Not a whole lot to report here. I’m a year older than I was last year, slowly working my way through my sixth decade on this planet. (No, that doesn’t mean I’m in my 60s. Do the math!) There’s a lot to be said for getting older though. As your own mortality becomes more real to you, a lot of BS falls away. A lot of things you used to fret over now seem silly. You start to focus on what’s really important. And you realize that what is important is an individual thing that nobody can define for you, and you can’t define for anyone else.

I guess I’ll just end on that existentially inspirational note. I’m honestly excited for what 2018 will bring!

3 Comments

  1. Pingback:2017 in Review – Javascript World

  2. Si te hace feliz, te admiro muchísimo. Entendí mucho sibre Actionscript estudiando tus libros y aun tengo increíbles codigos que quiero interpretar con Javascript, que comencé hace poco. Mi tarea es la enseñanza y programo para ello pero soy profesora y estudio programación independiente. Sos un genial artista!!!!

    Reply

Leave a Comment

Required fields are marked *.