justin = { main feed , music , code , askjf , pubkey };
Ask Justin Frankel
No reasonable question unanswered since 2009!

Suggested topics: programming, music, sleep, coffee, etc.

Note: please do not ask questions about REAPER features, bugs or scheduling, use the forums instead.

Name: Ask: Human (enter yes):
[back to index] | [unreplied] | [replied] | [recent comments] | [all]

Question: Hello Justin, it's the interview person again. After much procrastination, I have returned with 4 short questions: 1. What non-coding-related skills do you think are most important to your job (e.g. time management)? 2. Any common misconceptions about your job? 3. If you could go back in time, would you have any advice for your 20 year old self? 4. What was the most difficult part of writing REAPER?
Asked by Ethan (71.143.72.x) on December 11 2020, 1:22am
Reply on December 11 2020, 3:01am:
    1. I'm unsure if this counts, but being a user first is probably the biggest thing -- even if I were to stop programming, I'd still want to shape the software as a user. Other important skills (which I don't always do but have been important along the way): digesting feedback from users, both for QA purposes and for improvements. Bookkeeping. Deciding what tools are needed in order to increase productivity (things to help manage our build processes, customer interactions, etc). Finding people who you can delegate things to -- I'm pretty bad at this, but I've lucked into the relationships that we have that have been essential!
    2. Hard to answer this, I try not to read what people say on the internet...
    3. I'd try to get my 20 year old self to exercise more and take better care of its teeth. The prime 15 years of running ability instead were spent in front of computers and driving around in cars, doh! When I moved to SF I would often drive the ~2.5 miles from my apartment to the office each day (and then usually spend time looking for parking). That seems completely absurd to me now.
    4. Difficulty -- it's less about how hard things are and more about how much work they are. It's come a long way in these 15 years, and while there has definitely been code that was difficult to write, difficult to maintain, it usually was less difficult to eventually rewrite. Probably the hardest part with something like this is getting to the point where you feel like it's something that's worth continuing work on. Early on in projects you're making something and it's interesting, you get to some challenging bit that's going to take many hours of contemplation and experimentation, and you lose interest because you're not sure if it will be worth it. That still happens now, with particular subprojects and branches, but early on in a project it is more difficult. As an example -- I recently (due to Apple releasing M1 macs) started working on VST3 bridging for REAPER (it has never been supported, but now there's a real case where people will want to run REAPER/arm64 with their x86_64 plug-ins emulated). VST2 bridging is done by marshalling about 30 calls in each direction between the plug-in and the host. VST3 will require another 30 or so. I started work on it, started organizing things to make it more easily done, and it seems like it will work. But there's so much work ahead of it before I can even come close to testing a limping version. I'll get back to it soon, but in the mean time I can go work on other aspects of REAPER... Whereas if it were a brand new project, I might completely forget about it.

  • Posted by Ethan (71.143.72.x) on December 11 2020, 3:34am:
    Thanks for these answers! The one about difficulty is insightful and definitely reflects some of my experiences with my own projects. And I have just recently started trying to stop sacrificing my health for no reason, so I can agree with that advice!

    Your Name:   -- Site Owner's Name:  (for human-verification)


[back to index] | [unreplied] | [replied] | [recent comments] | [all]
Copyright 2021 Justin Frankel. | RSS