Interview with John Lindquist, JetBrains Evangelist

John Lindquist Please 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 a pretty 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?

Sure. First, about my professional path: I started programming at school, wrote games on the TI-85 calculator instead of doing math (except for hypercard, it 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 at 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, ВВС США (HTML§JS, flex, flash и т.п.).

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 improving and processing error reports . 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 on various technologies / development environments, etc., using JetBrains tools to emphasize their useful 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. Recently, I enjoyed it a lot when dealing with 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, “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 in the JS communities there is such a stir, 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 features of mobile devices (a huge variety of versions of operating systems 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 possible now 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, enthusiastic about using this technology, to create an application from scratch. On the other hand, ask anyone how difficult it is today to hire a team of talented, highly qualified JS developers, 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 creating “banal” corporate applications). I think now is 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 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 earn a living with your hobby. Sometimes you think: “We need to relax more”, but suddenly in the middle of the night it dawns on you, you come up with a cool new 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 will take care of my conference schedule, updating online profiles, etc. Thank!

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