
Please love and favor:
John Lindquist , a new member of the technological evangelists team at
JetBrains . In early August, John gave us a detailed interview, the Russian version of which we want to present to the audience Habr. But enough prefaces - read and meet!
1. Hello, John! We welcome you to JetBrains. Thank you for taking the time to talk with us. You are a fairly well-known 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 the hypercard, it was even earlier). Later, I became interested in writing my own blogging software from a home server (ASP), and then proceeded to carry out one-off projects while I was still in college, around 2000 (php, java). The next couple of years he developed an internal application for the University of Utah, designed to send / convert 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, USAF (HTML / JS, flex, flash, etc.).
Now about the personal one: I have been happily married for 9 years now, three wonderful sons are growing up. I received a diploma in English philology and tried my hand at the law school (studying there seemed to me unbearably boring), but in the end I settled on a career as a developer.
')
2. Why do you want to work in JetBrains and what will you work on?For several years I had a public “romance” with IntelliJ (and I found many like-minded people). This integrated development environment JetBrains allowed me to save a lot of time thanks to intelligent code refactoring, checks, etc. I feel that I am simply obliged to share my knowledge with the world;) In addition, I am very pleased with the support from JetBrains developers in implementing my suggestions for improving and processing
error reports . Probably, now I will bother them with my suggestions more often, because we are on 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 highlight their useful properties. First, I will focus my attention on JavaScript development environments using WebStorm, but after a few months or years I will begin to deviate from the main theme towards other languages ​​and tools.
3. What influenced your decision to switch from one technology to another?I work with the interface part and I like to create non-standard applications. I don't care which language or platform to use - the main thing is that the result completely satisfies the end users. Recently, I got great pleasure in figuring 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 plug-ins for IntelliJ (in Java) fully justifies the effort, since they can be shared with other users, and, in the end, I use them every day. Fortunately, I have quite a lot of experience moving from one language to another, so learning a new language is fairly free. This is such a strange feeling when you return to a language that you have not used for several years (for example, php), and your ideas about languages, patterns, architecture, and so on have changed so much that it seems like you are starting all over again.
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 iPad. This is perhaps the only thing that worries customers now.
You should watch the recent
“The Web Can Do That?” Presentation from the Google I / O conference to see how awesome browsers are. It is a pity that the whole world does not work with> Chrome 21, but now comes a truly amazing time for web developers.
Considering how much attention Flash is paying to games now, you need to believe that it will be more stable and more efficient on all browsers compared to HTML / JS for several years. Although I have seen some impressive demo versions of games on JS. Honestly, I think that now in the JS communities there is such a stir, motivation and competition that they refute any prejudices about the weaknesses of JS.
5. Which of the latest HTML5 features did you use personally, and did you get the desired result? Would you advise others to take advantage of these features when developing enterprise applications?Most recently, I worked at PhoneGap and used WebView to create mobile apps. Due to the nature of mobile devices (a huge variety of versions of operating systems and WebView support), we had to constantly look for compromises to implement some basic functions (graphic 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 for breaking JavaScript?By no means. People love to be blamed and poke a finger. In fact, you just need to analyze the market and choose the most appropriate technology. Flash is being reborn as a gaming platform. JavaScript has reached that “mature age” when developers start to consider it as a real solution for building applications. I believe that rises and falls indicate market preferences in the choice of solutions. No more, no less.
7. Does JavaScript have enough potential to supplant classic languages ​​(Java, C #, C ++)?My sister, a blogger, often "copy-paste" javascript code snippets, but in Java it is unlikely. I think the popularity of languages ​​comes down to their “entrance barrier”. If we talk about JavaScript, then to work with it you do not need to download and install anything, besides, all the changes are visually displayed (html, etc.). I think that this will attract future generations of developers (although I am sure that many readers will disagree with me).
In addition, I hope to see many new languages ​​on the top lines of TIOBE ratings when new devices and platforms appear on the scene.
8. Is it possible now to create corporate JavaScript applications with a client-server architecture?Enterprise applications are usually created by large teams that efficiently use 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 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 that 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 too early to recommend JS to all companies in a row.
9. What would you advise to novice and experienced JavaScript developers (besides using JB products!)?Beginners: there are many good applications that pose interesting problems. For example, try developing twitter using fictitious data. Then add additional functions, for example, make lists with sorting or ordering by common words. Do the work step by step and leave Stackoverflow open in another tab ... you won’t believe how quickly you create your own client JS application. Just enjoy the process and do not 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, the open-source community perfectly master 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 it is both a blessing and a curse at the same time - making a living from your hobby. Sometimes you think: “We need to rest more,” but suddenly in the middle of the night it dawns on you, you create a new cool feature and jump straight into the rabbit hole.
By the way, I love badminton and I play the guitar, and I also help with low-income assistance projects.
11. Thank you for your attention, John, and we hope for 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/johnlindquistStarting next week, I will begin to officially work at JetBrains and work on my conference schedule, updating online profiles, etc. Thank!
You can get more information and find out about John on his
website and on
Twitter .