Get the INside Scoop: Q&A with John Papa

DevToolsGuy / Tuesday, October 15, 2013

John Papa is known as one of the most knowledgeable people out there when it comes to programming and the computer world. Infragistics had the chance to pick his brain about what makes him tick, what he loves best about coding, and where he sees the field in the future. Read the full interview below.
 

Q: OK, so you have been at this for a while – how did you get into programming?

My father was (and still is) my inspiration. He bought me a Commodore 64, which I immediately got bored with once I hit its limits. He then sprung for a. IBM PC Jr. and took me to my first user group meeting at age 13. I learned how to use the BBC board and dialed into as many systems as I could. Until I got caught trying to book an airline ticket for my sister to Moscow. One way.  I was hooked :)

 

Q: Is there any one programming tip or trick you think has remained constant regardless of the platform?

I'll cheat and offer 2. First ... What's the point? Seriously. Know what the point is of what you're doing. It's likely not to make a better Angular controller or to show 10,000 rows on a View. It's most important to know what you are building, what problem it solves, and how folks will use it. From there, most of the answers flow easily.

Second is to deconstruct everything, and I do mean everything, into small problems. Don't tackle a screen from end to end and say it's a 40-hour task. Instead, break it down until it's in bite size tasks that are 2 or 4 hours (8 at most). I find when I do this the 40-hour estimate is way off as I always remember other things I need to tackle. I end up with 12 tasks of 2 to 4 hours that may add up to 50 hours. So what's the point (coming back to tip #1)? Well, this produces a more accurate estimate, makes it easier to knock a few things out each day, shows progress, and makes it easy to use things like tests and CI. Plus your project manager will love you.

 

Q: If you could go back in time and rewrite any application out there, what would it be and why?

I don't look back, or I at least try not to. I prefer to look to what I can learn from in my past and instead improve moving forward.

 

Q: There is a lot of talk about BYOD (bring your own device) – do you think that is real? How should developers start thinking about this?

Absolutely. Some companies are doing it now and many more will be in the next 3 years. I predict this will become the majority as device proliferation continues. Learn to develop for multiple devices and platforms. Learn how to leverage cloud services and patterns to help minimize what is being written specifically for 1 platform. Today, this means learning cloud, HTML5 and native mobility.

 

Q: What would you consider the next big thing in programming?

Isn't it already here? Mobile, cloud, and social are all hot. I think we will start seeing more and more social platforms and uses of them to bring the world together. The devices are a means to an end, but the apps and uses for those devices to bridge the gaps between people ... and that's just beginning.

 

Q: How would you encourage someone to break out of their coding comfort zone?

Choose something that interests you and has value in your career. Give it 2 weeks and see how it goes. Try a new development environment. Attend a conference or code camp sessions on topics you don't know anything about. I dabble in a lot of things ... many long enough to know I don't want to do them full time. But that experience is hugely valuable so I can empathize with how other developers do their work. And occasionally you find a new passion.

 

Q: What's your favorite ASP.NET tip or trick?

I love Web API. There is no trick to it; it's just very simple HTTP services.

 

Q: Do you have any interesting hobbies? I hear that you and your family are kind of Disneyworld fanatics?

I enjoy playing acoustic guitar, spend many days/nights walking casually around Disney World with my family (mostly taking in the tranquility), and spend as much time with the kids as I can. Pretty boring, but very fulfilling.

 

John Papa was formerly the Senior Technical Evangelist for Microsoft on the Silverlight, Windows Phone and Windows 8 client teams.  Now, he is a Microsoft Regional Director, as well as an author of 100+ articles and 10 books. Check out his Pluralsight courses or learn more about John Papa at www.johnpapa.net