Meet new Pluralsight author Simon Allardice
- select the contributor at the end of the page -
At WWDC last month, Apple announced it will open source the Swift language later this year. But Apple is an extremely secretive company; do you think it will accept patch requests that enhance the language, or just bug-fixes?
Apple has more open source projects than many developers realize. And they're substantial works, like Darwin, WebKit, Bonjour. Just a few months ago, Apple released ResearchKit -- its new medical research framework -- as open source.
I think the WebKit project is a decent assumption for how Swift might be open sourced: where the first priority is most definitely on bug fixing and exhaustive testing. That's how you get involved. And where every contribution is intensely scrutinized. It's not a free-for-all feature dump. You'll be able to be part of the process, but if you think you'll be able to just commit
YOUR_FAVORITE_LANGUAGE_FEATURE and decide that's now “Swift 3” -- well, no.
And sure: Apple is secretive. But the mistake people make is in thinking that “silence = unresponsiveness.” Apple is responsive, with its closed source products and developer tools. Follow Apple long enough and you can tell they listen deeply and thoughtfully to feedback. Just don't expect to be involved in a day-to-day conversation.
How did you get started in software development?
I've been programming professionally since I was 17. I started in a branch of the British Government, which in the early '80s was like having an old-school apprenticeship: years of writing mainframe COBOL and Assembly Language (on paper, no less), sitting through algorithm design classes with expert graybeards who considered green-screen terminals to be new-fangled claptrap for nitwits who weren't good enough to read punched cards. And after that, a couple of decades of consulting: finance, transport, nuclear power stations, game development -- you name it.
How did you get started with teaching?
I started with lynda.com, before it went online. I'd attended one of the in-person classes so I could learn more about color, layout and typography for Web design. But I ended up being the token geek in the room, answering everyone's questions on server-side programming and building shopping carts, so they asked me back to teach a course on those. And my first video training course -- on creating database-driven websites -- was released in 2002. It was okay; I've gotten better. Spent several years doing in-person training for Interface Technical Training in Phoenix, which was almost a “boiler room” hothouse environment for technical trainers. Many excellent trainers with Pluralsight have a history with Interface: Jason Helmick, Dan Wahlin, Don Jones, Greg Shields, Mike Palermo, Spike Xavier, to name a few.
Your office wall is full of guitars and you have a piano as well. What kind of music do you like to play?
I know; it's not uncommon to be a programmer who plays an instrument. I'm an entirely unremarkable guitar/piano player with the occasional delusions of grandeur. I wrote a few game soundtracks back in the '90s, though the mundane reality of game composition was unappealing. Music technology is still a deep interest of mine, and I'm continually amazed by what can be done in software now: take a few products from folks like ProjectSAM, Spitfire Audio or 8Dio, and with a few mouse clicks have an entire orchestra or a 100-person choir at your fingertips. And if I'm not playing around with virtual orchestras, then it's over to loud guitars. I might dress that up with words like “atonal,” “progressive” or “polymeric,” but that's all entirely self-serving: sometimes a chap just likes to crank it.
What have you learned lately?
Since WWDC 2015 I've been buried in Swift 2 and watchOS 2, figuring out the best way to learn and teach that content. I'm also trying to work on my functional programming chops: I've got a decent technical understanding, but the functional mindset does not come naturally. At least, not yet.
Are there any learning experiences that stand out to you as being especially well done, effective or memorable?
I taught in-person for many years. And there's tremendous value to that format, but I'm most enthusiastic about video instruction. And not treating it as some second-rate approximation of a classroom, but genuinely as its own modality, with its own style, approaches and best practices. So I watch a lot of it, and I'm delighted when I find good content. It is tough for me to watch programming courses now without automatically dissecting them, so for my personal enjoyment, it's mostly other subjects: Robert Greenberg's music courses at The Teaching Company. Ben Long's photography courses. And it's worth mentioning the two works that first proved to me that video teaching, done well, is capable of trouncing bad (or even average) in-person teaching: Carl Sagan's Cosmos and Jacob Bronowski's The Ascent of Man.
What Web or mobile apps stand out to you as being well-designed or well-implemented?
That's more difficult to answer than it used to be. The last few years I've welcomed the notion that we're getting away from the “killer app” idea. That if you're not developing a game or a multimedia experience, the mark of a well-designed app is that it's almost transparent. And if you notice the design or implementation, something's amiss. Sync software is a good example of this: you don't want to notice your syncing solution. You don't want to enjoy it or spend time in it. You just want it to work. The only time you notice it is when something's wrong.
Apple Watch is a another example. If you decry the lack of an obvious “killer app” for the Watch, you're missing the point. When you've used one for a while, you realize you don't want a killer app. That it's most successful when your involvement with it is minimal, pared down to tiny, brief interactions. But pragmatically, there are certainly apps I find useful. I recently re-imaged my phone with the iOS 9 beta, and the first apps I immediately reinstalled were Omnifocus, Headspace, Dark Sky, Tripit and Sonos.
What do you like about being a full-time author? What's challenging about it?
It's a solitary profession, for sure. This rewards long stretches of uninterrupted time: a lot of writing, a lot of pacing up-and-down in my office reading out loud a dozen different ways to describe a concept, to try and figure out which one's going to work best when recorded.
There's no pretense that I possess some magical, esoteric Book-of-the-Dead knowledge on any of these subjects. I have access to the same sources - the same tools, books and documentation as anyone else. What I do have are “a very particular set of skills”: to be able to take some content, focus deeply on it for weeks, and be able to then deliver that in a way that saves you time. Where you'd learn it from me just a little bit quicker, a little bit easier, a bit more memorably, than you would otherwise. When I can succeed at that, it's immensely satisfying.