4 ms·
I have always used play projects as opportunities for professional development: learn a new language or UI framework, try out a programming paradigm, explore au
by rerdavies 4y ago
I have always used play projects as opportunities for professional development: learn a new language or UI framework, try out a programming paradigm, explore audio programming, &c. But always because I love what I do.
And I frequently ask, in interviews, what sort of programming candidates do in the spare time. It seems completely sensible to me to take play projects as a sign that candidates love what they do; and if they love what they do, they are invariably going to be better at it.
Typically, my play projects are a bit larger than what you are doing. My most recent play project was a a guitar pedal that runs on a Raspberry Pi that can be controlled via Wi-Fi from a phone.
https://play.google.com/store/apps/details?id=com.twoplay.pipedal https://play.google.com/store/apps/details?id=com.twoplay.pi...
https://rerdavies.github.io/pipedal/ https://rerdavies.github.io/pipedal/
Professional development benefits I accrued while working on this project:
- learn TypeScript
- learn React Framework
- experience with optimizing C++ code for ARM processors
- learning that GCC auto-vectorization consistently produces faster code than hand-rolled ARM NEON assembler (but only with the right pragmas).
- experimentation with design of adaptive, complex touch user interfaces.
- using ML techniques for real-time audio processing.
I have given thought to monetizing the project; but I really don't think there's a huge opportunity, without a 6-figure investment. And I really don't think it's the sort of product that's going to make me a multi-millionaire. For the most part, it was done because it is beautiful, and it is useful, and it gave me more than adequate joy to compensate for the effort put into it.
Over my entire career, I've probably done about a dozen of these sorts of projects. Three of them were eventually released as shareware projects that earned 5-figures-ish over their entire lifetimes; one of them actually was used as a foundation for a startup. But all of them were done for joy not money.
From my perspective, if I'm interviewing a candidate that is coding in his spare time, for the sheer joy of it, that is a Very Good Sign that I'm going to be hiring someone who is going to be actively working on improving their software development skills.
- nicbou 4y agoThat doesn't sound like play to me, especially if you start expecting others to do it to get hired.
- rerdavies 4y agoDo you not play? That sounds to me like a reason not to hire you. It would be interesting to find out what percentage of professional programmers play. I would guess almost all of them. Would I expect anyone to do the sort of play I do? Definitely not.
- nicbou 4y agoWhen I was a professional, 40 hours of programming were enough for me. When I went home, I wanted to do something else. This is what I'm getting at. It's no longer play if it's mandated by the industry, on top of your full-time job. It puts people with a life outside of programming at a disadvantage.
- leetcodesucks 4y ago[dead]
- notabee 4y agoThis is hustle culture virtue signaling.
- rerdavies 4y agoIf people started doing it only to get hired, it would no longer be a good interview question.
- heisnotanalien 4y agoIt's not play if you're doing it for such reasons. To do it for play means just to do it for the activity itself with no ulterior motive (including career growth). Similar to kicking a ball against a wall - you do it because it's fun not because it will get you somewhere. The problem is everyone is trying to get somewhere these days (essentially to find security in a world that doesn't really offer any).
- rerdavies 4y agoPlay doesn't have to be useless. It just has to be inefficient. Efficiency in this case would be to just go and buy an $1800 guitar pedal instead of investing $40,000 worth of personal development time on a toy project for the sheer joy of it.
- monsieurbanana 4y agoWe need to hurry and invent a new synonym of play for profesional athletes, all this time they haven't been playing at all! More seriously, what constitutes playing is such a subjective feeling I personally wouldn't tell someone that's not what he's doing. Now using that to gauge someone in a interview is a much more tricky discussion.
- leetcodesucks 4y ago[dead]
- taink 4y agoBy screening people this way, you're missing out on people who have several passions outside of programming and limited time. Maybe you're only looking for people with exactly the same mindset as yours, but if not it might be interesting to look for other Very Good Signs.
- phforms 4y agoIn my understanding, in order for an activity to count as “play”, the primary and _sufficient_ motivation has to be fun, even though there can be other motivators. I understand _fun_ as a motivation that is not goal-oriented and not forced. So if you would also do it just for fun and fun is the main reason why you do it, I would say that “play” is an accurate description – which seems to be the case from what I read in your post. However, my definition immediately rules out any activity enforced by a company that may be labeled as “play”, but actually feels more like work for the people involved for the reasons mentioned above. People may also feel forced to create play projects because they want to get hired by you – also not “play” in this sense.