Interview with John Lindquist, JetBrains Evangelist

Published on August 27, 2012

Interview with John Lindquist, JetBrains Evangelist

    John lindquistPlease love and favor: John Lindquist , new member of the JetBrains technology evangelist team . In early August, John gave us a detailed interview, the Russian version of which we want to present to the audience of Habr. But enough preface - read and get acquainted!

    1. Hello John! We welcome you to JetBrains. Thank you for taking the time to talk with us. You are quite a famous person - for example, in the world of Flash, but could you tell us a little about yourself for those who still do not know you?

    Of course. First, about my professional path: I started programming at school, wrote games on the TI-85 calculator instead of doing math (except for hypercard, this was even earlier). Later, I became interested in writing my own blogging software from a home server (ASP), and then moved on to one-off projects while still in college, around 2000 (php, java). Over the next couple of years, he developed an internal application for the University of Utah, intended for sending / converting to view documents in pdf format (php, pdf, etc.). Then he got a job at Schematic and worked with clients such as Disney, Dell, Target and others (flash, html). Recently, he worked as a consultant at Roundarch with clients such as Bloomberg, HBO,

    Now about the personal: I have been happily married for 9 years, three wonderful sons are growing up. I received a diploma in English philology and tried my hand at the law faculty (studying there seemed unbearably boring to me), but in the end I settled on the career of a developer.

    2. Why do you want to work at JetBrains and what will you work on?

    For several years I had a public “romance” with IntelliJ (while I found many like-minded people). This integrated development environment of JetBrains allowed me to save a lot of time thanks to intelligent code refactoring, checks, etc. I feel that I simply have to share my knowledge with the world;) In addition, I am very pleased with the support from the JetBrains developers in terms of implementing my suggestions for improvement and processingerror reporting . Probably, now I will bother them with my offers even more often, because we are in the same team. ;)

    I specialize in creating video tutorials (see the link to my channel http://youtube.com/johnlindquist ), so while working at JetBrains I will mainly focus on creating video tutorials about various technologies / development environments, etc. using JetBrains tools to emphasize their beneficial properties. First, I will direct my attention to JavaScript development environments using WebStorm, but in a few months or years I will begin to deviate from the main topic towards other languages ​​and tools.

    3. What influenced your decision to switch from one technology to another?

    I work with the front end and like to create custom applications. I don’t care which language or platform to use - the main thing is that the result fully satisfies the end users. I recently had a great pleasure sorting out Lua to implement some of my projects, simply because this language allows you to do anything. On the other hand, I think that writing plugins for IntelliJ (in Java) justifies the effort as much as possible, as they can be shared with other users, and, in the end, I use them every day. Fortunately, I have quite a lot of experience transitioning from one language to another, so learning a new language is quite free. This is such a strange feeling when you return to a language that you have not used for several years (for example, php),

    4. What, in your opinion, are the advantages of HTML5 over Flash, and what needs to be improved?

    HTML (and, in part, HTML5) works on the iPad. This is perhaps the only thing that worries customers now.

    You should watch the recent presentation of “The Web Can Do That?” From the Google I / O Conference to see how amazing browsers are. It’s unfortunate that the whole world doesn’t work with> Chrome 21, but now it’s truly amazing time for web developers.

    Considering how much attention Flash now devotes to games, we must assume that it will be more stable and more effective on all browsers over several years compared to HTML / JS. Although I saw some impressive demos of games on JS. Honestly, I think that now there is such a stir in the JS communities, motivation and competition that they will refute any prejudices about the weaknesses of JS.

    5. Which of the latest HTML5 features did you personally use, and did you get the desired result? Would you advise others to use these features when developing enterprise applications?

    Most recently, I worked at PhoneGap and used WebView to create mobile applications. Due to the peculiarities of mobile devices (a huge variety of operating system versions and WebView support), we had to constantly look for compromises for implementing some basic functions (graphical gestures, scrolling, etc.). As for Canvas, WebGL, CSS3, sockets, video, I will save my opinion for later, since my experience is limited to prototypes and online demos.

    6. Was the Flash crisis at the end of 2011 the only reason JavaScript broke?

    Not at all. People like to scatter accusations and poke a finger. In fact, you just need to analyze the market and choose the most appropriate technology. Flash is reborn as a gaming platform. JavaScript has reached a "mature age" when developers begin to see it as a real solution for building applications. I believe that the ups and downs indicate market preferences in the choice of solutions. No more, no less.

    7. Does JavaScript have the potential to supersede classic languages ​​(Java, C #, C ++)?

    My sister, a blogger, often "copy-paste" snippets of JavaScript code, but in Java it is unlikely. I think the popularity of languages ​​comes down to their “entry barrier”. If we talk about JavaScript, then you do not need to download and install anything to work with it, and besides, all the changes you make (html, etc.) are visually displayed. I think this will attract future generations of developers (although I’m sure many readers will disagree with me).

    In addition, I hope to see many new languages ​​at the top of the TIOBE ratings when new devices and platforms come onto the scene.

    8. Is it now possible to create enterprise JavaScript applications with client-server architecture?

    Enterprise applications are usually created by large teams that leverage existing systems. Today, JS is perfect for small, well-coordinated teams that are enthusiastic about using this technology to create an application from scratch. On the other hand, ask anyone how difficult it is to hire a team of talented, highly qualified JS developers today, and you will understand how difficult it will be to assemble a large team to implement a JS project (especially if you want to involve them in the creation of “banal” corporate applications). I think that this is exactly the moment when the technology is ready for use, but the community lacks experienced application developers who would play the role of "corporate JS consultants." Therefore, it is too early to recommend JS to all companies in a row.

    9. What would you recommend to newbies and experienced JavaScript developers (besides using JB products!)?

    Beginners: There are many good applications that pose interesting tasks. For example, try developing twitter using dummy data. Then add additional functions, for example, make lists with sorting or sorting by common words. Perform the work in stages and leave Stackoverflow open in a different tab ... you yourself won’t believe how quickly you will create your own JS client application. Just enjoy the process and don't be afraid to make mistakes!

    Experienced: work on open source projects and participate in discussions. If you have already reached a certain level of skill, the only way to learn something is to let others criticize your work. Believe me, open-source communities are fluent in the art of criticism;)

    10. What do you do in your free time? Do you have any hobbies?

    I program a lot and / or read specialized literature. I think this is both a blessing and a curse at the same time - to make a living with your hobby. Sometimes you think: “We need to rest more”, but suddenly it dawns on you in the middle of the night, you come up with a new cool feature and jump right into the rabbit hole.

    By the way, I love badminton and play the guitar, and I also help with projects to help the poor.

    11. Thank you, John, and look forward to a positive contribution to the work of JetBrains! Are there any events, books or topics that you would like to draw the attention of readers?

    At the moment, only my youtube channel: http://youtube.com/johnlindquist

    Starting next week, I will officially start working at JetBrains and work on my conference schedule, updating online profiles, etc. Thank!

    You can get more information and learn about John on his website and Twitter account .