Blog Post

Pixel art of Paul Rosen being interviewed

Interview with Paul Rosen

Job Title:

Frontend Engineer

Place of Work: 

Sight Reading Factory

Industry or specialization: 

We do music education software. I also have an open source project, abcjs, that puts standard sheet music in a browser.

What got you into Web Design/Development/working on the web?

In the ’90s I created a few simple html sites for personal projects. I wanted to do more with the web for my job but didn’t get a chance until I changed jobs in 2008. One of the reasons I took that job is that it was working with new web technologies.

What does a typical day or week look like for you? What sort of things do you do?

I work remotely. The entire company does, and has been remote since it started. We are a small company – we have one full time backend programmer and me as a frontend programmer. We have some large projects that we do, which we interrupt with maintenance releases when needed. 

We have one weekly meeting where we plan out work and talk about problems. It’s sort of an agile stand-up but it is pretty loosely structured. We just chat, although the boss does have a list that he makes sure he gets through. We are also constantly on Slack.

At the beginning of a large project I work off of my own notes. When the project is far enough along that it can be shown off, we switch to Jira. That is, there is a Jira issue for everything that should be tested. I’ll generally change one to five Jira tickets to “in progress” at a time and I work independently on them. If there are things that I need from other people in the company I try to identify them as soon as possible and take care of them first.

Once in a while we “switch to maintenance”. At that point I switch git branches and work strictly off of Jira tickets for a couple days. When that is done we merge that work into the feature branch. We try to have only three branches active at a time: main, the feature branch, and possibly the maintenance branch.

I wrote a little program that scrapes our log files for problems. If anything anomalous happens, our website calls home with useful data. I check that at least once a week and find the oddest problems. Our app is used by a lot of mobile devices and many of them don’t respond consistently.

The majority of my time is writing in Vue – that is, html, css, and typescript. I do a little bit of design but we have a designer who does the main part of that. I do some automated testing but the hardest part of our app is real time and most of the bugs are device-related, so most of the testing is done manually. I write a little bit of documentation – mostly for myself to plan the architecture.

What types of web technologies do you work with most often?

git – for version control
Vue – for the front end app
Storybook – for testing visual components
Jira – for bug tracking
Figma – for designs
VSCode – for editing
Notion – for company-wide information
Obsidian – for my own notes
Chrome, Firefox, Safari – for testing
Docker – for development environment

What is your favorite thing about your job?

The hours are flexible; the people are nice; the product is good and is fun to talk about; the technology is fun.

What do you wish you could change about your job?

Technical debt creeps in no matter how careful I am. I rewrite more than I wish I had to. And there is never enough time. And every release of Safari breaks something in our app and I need to stop what I’m doing.

Where do you see your section of the web development/design/etc industry going?

I absolutely don’t know. I keep expecting a large company to release a competing product, or Apple to do something that makes our app not work. I am so far not impressed by AI, but someday that could be a threat. I hope that the Vue community stays strong so there is plenty of support but I’m afraid that React will take over everything.

What technology and/or skill do you wish you learned before you entered the industry?

I had been a programmer for a long time before starting on the web, so I had the basic skills already.

What are you looking to learn or what skill are you looking to build next?

I want to get stronger on design. I want to be better at automated testing. I want to be better at accessibility.

What would you tell someone to do who’s looking to get into the industry? How should they best prepare themselves?

The most important thing is to learn how to learn. Every 5 years I have had to reinvent myself and start over with a new technology. But every time it gets easier because I get better at learning. So learn the basics of programming and debugging in whatever the language of the day is. You will be able to apply that knowledge to whatever you need to do in the future.

I think this work isn’t for everyone. I think there are personality traits that good programmers have; in particular, be excited to learn and be able to stick to a problem without giving up. I think that’s why so many programmers are musicians: those are the same traits that you need to stick with practicing.

Anything else you’d like to tell future designers, developers and web people?

There are many toxic people and workplaces out there. You might think you hate your job and want to quit the industry when you are really just hating your situation. You need to be in a job where you are respected, you feel comfortable saying “I don’t know”, and there is a way for you to grow.

My theory is that you know its a good job if you are hired to do a particular thing, but you end up doing whatever you are good at. You aren’t a cog and a good employer will recognize what you can uniquely contribute.

Is there a way people can get in contact with you to ask questions etc?

My day job: https://sightreadingfactory.com
My open source project: https://abcjs.net
My Mastodon: https://hachyderm.io/@paulrosen

Last Question: If you had to be a zombie and you had to eat someone’s brains, whose would it be and why?

That’s hard – do I get particular power from the person’s brain so I’d want to eat the person I most admire, or is it just meat, in which case I’d want to eat the person I hate most? Or, are some people’s brains sweeter than others?