Introducing Gary Hockin, PhpStorm Developer Advocate

Hello Gary and welcome to the JetBrains team! For those who don’t know you, can you tell us a bit about yourself and your background?

Hi, thanks for the warm welcome. My name (as you can see) is Gary Hockin, and I’ve been a web developer for more than 15 years. I’m an active member in the PHP community, a conference speaker, and keen blogger. I’m completely engrossed in the PHP community – in particular I love contributing to open source where I can.

Outside of work, I’m married and have two beautiful little girls. When I’m not coding I love playing competitive pool (and the pub).

Gary Hockin

How did you find out about the Developer Advocate role for PhpStorm and what interested you the most about the position? What will be your role and responsibilities?

I’ve been looking for a DA role for around 18 months. Previously I’d spoken to a few companies informally but hadn’t really been that interested in the product or company. At Sunshine PHP in February I mentioned to my friend Cal that I was looking for something, and a few months later he told me that JetBrains was looking for a Developer Advocate.

The strange thing was I’d already been speaking to Mikhail Vink and the team about Zend Framework integration in PhpStorm, and so I had already a relationship with the company. I’m also a paid user of the product. If I’m going to advocate something then I want it to be something I use and believe in, and for me, PhpStorm ticks all those boxes.

It might have cost me a bottle of whisky, but it’s proof positive that being active in the community is the best way to get ahead in the PHP world.

Tell us more about your experience with PhpStorm and what you’ve been working on?

I think I jumped in at the deep end! PhpStorm 9 had just been released when I started, so I’m working on a lot of documentation updates, and blog posts, on the new or changed features in the release. The documentation updates can be a little tedious, changing existing writing usually is, but I’m really enjoying writing new blog posts and tutorials on the cool new features.

I’m also spending time writing new talk submissions for up-and-coming conferences, and planning some new screencasts that people have told me they will find useful.

I’m also paid to continue coding on open source for 30% of my time. This is a quite amazing way that JetBrains encourages me to continue using the product I am advocating. I’m currently writing some scripts to convert the Zend Framework 2 documentation from reStructuredText to markdown format.

What trends do you see in PHP as a language? Where is it heading? What’s your opinion on latest changes?

We’ve definitely seen a renaissance of PHP over the past few years. Since the introduction of Composer (thanks Jordi), we’ve seen a huge increase of high-quality, reusable PHP packages.

PSR-7 passing is a huge moment for PHP. Hopefully it will lead to people writing even more reusable high-quality PHP packages but now targeting PSR-7 rather than designed for a specific framework. The days of a monolithic full-stack framework may be numbered; frameworks like Symfony, Laravel and Zend Framework might be replaced by a series of interoperable packages where you either write your own glue, or download lightweight micro-framework to glue the pieces together.

Of course, the other hugely exciting thing is the imminent release of PHP 7. Personally I am so excited by not only the massive speed increases, but by the more strict language features we are getting, like (strict) scalar parameter and return type hinting. That itself will enable a set of newer, faster, lighter packages to solve common problems.

It’s a great time to be involved in PHP!

If we look at the modern PHP frameworks, what trends do you see? Which is your favorite one?

Currently, most of the frameworks that have decent install numbers follow the same pattern; a series of components glued together by some kind of dependency injection container. They try to solve all things for all people and so can be quite lumbering. Typically you need to download the entire stack, even if you just want to have a fairly simple CRUD application. This is a limitation of the big frameworks of the moment, but we are already seeing this pattern change with the advent of frameworks like Slim, Silex, and Aura.

Slim 3 is particularly intriguing as it’s the first framework (I’ve seen) that actually targets PSR-7. As I mentioned earlier, PSR-7 based frameworks are particularly interesting to me.

As for my favorite framework, it’s still Zend Framework 2. I can’t honestly say it’s the “best” framework, but it’s the one I’ve been involved with the most, and the longest. I’ve made real friends in that particular sub-community. Indeed, I wouldn’t be where I am today without some friends I met through Zend Framework, so I will always have a soft spot for it.

Do you think PhpStorm manages to address changes in the PHP ecosystem, language, tools, frameworks, etc.?

I actually do. I don’t want this to feel like a loaded question because I’m working for JetBrains now, but I’ve always been impressed with how quickly the IDE keeps up with changes in the language. You only have to look at the PHP 7 support in PhpStorm 9 to see how well it keeps up with innovation in the language.

Framework integration is another thing entirely, it’s difficult to comment on as I don’t use many frameworks, but the ZF2 integration could be better. It’s one of the things I’m hoping to bring to the development team from the community.

What’s your favorite feature and what improvements would you like to see in PhpStorm?

My favorite feature is definitely the quick code reformat (Cmd + Alt + L) – I hit that key combination several times while editing any file because my code typing is sloppy and the IDE tidies everything up for me. I also love all of the refactoring features. As a lazy person, being able to extract things using the Refactor This menu (Ctrl + T) makes my life easier.

For improvements, I’m really excited to see more complete PHP 7 features. I’m already coding using PHP 7 and think that extra inspections based around type hinting would be a truly helpful thing.

Some PHP developers don’t believe they need an IDE for PHP, i.e. you can be just as productive with a text editor. What’s your take on this?

Horses for courses. Personally speaking I’m very happy with my productivity using PhpStorm. I’ve got used to most of the features I find useful and triggering them is second nature for me. I’ve seen people who can develop much quicker with Vim than I ever can with PhpStorm. While that looks really impressive, I’m not convinced that speed is everything in getting the code into the file.

I’m not an IDE preacher. I want people to know how PhpStorm is helpful to me every day in my job (and when I’m coding open source), but if you are already happy with your development tools, I’m happy for you!

What would be your advice for newbie PHP/web developers? For experienced folks? (Except using JB products!)

Don’t be scared! When you’re writing code for yourself, and if it’s never going to go live on a server in the wild, then don’t worry too much about it. The number one piece of advice I can give you is to get a mentor. PHP Mentoring organization (www.phpmentoring.org) pairs people willing to teach with people wanting to learn, and just having someone you can bounce ideas off is a useful tool.

Can you tell us something about yourself that people might not know, as well as what you enjoy doing when you’re not coding?

Of course. I own a VW camper van, and I love to get away for weekends with my family whenever I can. We go to local campsites, VW shows, and down to the Loire Valley for a couple of weeks in the summer. It’s a great chance to get away from the keyboard for a little while and helps to recharge the batteries.

As I mentioned earlier, I also love playing pool with my friends, I play in a local team league and I used to play at county level but had to give that up because of my travel commitments.

Thank you very much for your time Gary. Is there anybody or anything else that you would like call out?

I’d only like to thank everyone that’s helped me out in the community over the years. The PHP community is an amazing group with a fantastic “pay it forward” attitude. I would never be where I am today without meeting the amazing people I have from the community. If you aren’t already, you should really get involved!

Visit Gary’s blog for some of his more recent posts and follow him on Twitter @GeeH.

Posted in Interviews | Tagged , , | Leave a comment

JetBrains for Universities: Public Events in Passau and Munich, July 9th-10th

July 9th and 10th, JetBrains team members will visit two universities in Germany to share their knowledge and participate in discussions: The University of Passau and Technische Universität München.

The IEEE Student Branch at the University of Passau invited JetBrains to their July 9th technical talk and asked us to present IntelliJ IDEA to their computer science students. Florian Sattler, Chairman of IEEE Student Branch Passau, says, “We noticed that more and more people switch from Eclipse to IntelliJ IDEA. Our members and other students of the faculty would therefore like to learn more about IntelliJ IDEA so they can use it better.” JetBrains’ Hadi Hariri promises that attendees will leave his session knowing things that they didn’t even know existed, or were afraid to ask.

TUM Event

On July 10th, the Technische Universität München (TUM) will host JetBrains Night @ TUM, a technical talks and discussion event. We are excited about this evening and the positive reception our tools have met with at the university. More than 25% of computer science and engineering students have already joined our student license program, in no small part because of Klym Shumaiev, JetBrains Campus Ambassador. So what can you expect? Hadi will present Why You Should Take Note of Functional Programming in College, and Maria Khalusova will speak about essential teamwork practices in her talk, Code Review: What, Why and How?

The university talks are in English and open to the public. You can attend one or both events if you happen to be in Passau on July 9th and Munich on July 10th. Seating capacity is limited in the rooms, so those who come first have privilege to the seats.

JetBrains Campus Ambassador Program

JetBrains runs a global Campus Ambassador Program with a focus on THE Top 100 universities in computer science and engineering.1

The Campus Ambassador Program aims to support students interested in JetBrains tools at the university. Depending on a university’s specific needs, JetBrains provides technical assistance and guidance, sponsorship of various activities and funding, giveaways, and more. In Singapore, for example, more than 120 students are members of a JetBrains tools user group, and many of them regularly attend workshops led by Sebastian Lee, JetBrains Campus Ambassador at the National University of Singapore.

National University of Singapore

The primary goal of each JetBrains Campus Ambassador is to inform students that they are all eligible for free JetBrains IDE and .NET tools licenses, and help them get started using our tools in their projects. All students, not just those represented by a campus ambassador, can request free licenses for JetBrains products at http://jetbrains.com/student using their university e-mail address or ISIC card.

If you want to make JetBrains tools more popular at your university, please send an email to philip.torchinsky@jetbrains.com, and we’ll be glad to see how we can help.

1. The 2013-2014 Times Higher Education World University Rankings’ Engineering and Technology

Posted in Events, News | Tagged , , , | Leave a comment

Help Us Improve JetBrains.com and Win a License

It has been a while since the last time that we updated our website design, nearly three years ago when we switched to the current design from the one below.

jetbrains.com 2012

We’re thinking about making another update some time soon, but as a team of very technical geeks we love numbers. We do have lots of data already from the different analytics systems we’re using but we want to do a special survey right now dedicated specifically for JetBrains.com.

It is people like you who are visiting the website and using it to find the information that you need, so we are asking for your help.

As the survey is about a website, it might feel odd that we’re asking some questions which might not seem relevant. However, often decisions we make are somewhat related to other aspects in our lives. We’re catering the site to so many diverse individuals and some of the questions play an role in this. Having said that, some questions are optional.

If you are willing to help us, please complete our survey.

Web Site

And yes, we have some prizes for those who complete the survey: a chance to win one of 10 personal licenses for a JetBrains product of your choice, or one of 20 Amazon vouchers worth $25.

Thank you!

Posted in News | Tagged , | 18 Comments

JetBrains Night in Munich Recap, Raffle Winners and Recording

In March 2015, we announced an evening event at our JetBrains office in Munich where we would show our guests how to Use ReSharper Effectively, and Perform Exploratory Code Reviews with Upsource. The level of interest was so great that we decided to hold an additional night to accommodate the volume of demand. We could have filled a much larger venue, but we wanted to provide an opportunity to mingle with the team in a relaxed informal atmosphere. In hindsight, this was a good decision.

Over two nights, March 24th and 25th, 120 participants gathered at JetBrains office to see in action Upsource and ReSharper Ultimate (ReSharper, dotTrace, dotMemory and dotCover). The feedback that we received on location and through a follow-up survey were overwhelmingly positive, so much so that we are currently planning to extend the same concept with 3 hour in-depth workshops.

JetBrains Night in Munich

JetBrains, and our Munich team in particular, would like to thank all of the participants for their time, great conversations and overall positive sentiment that contributed to making the evenings successful. As promised, today we are announcing the winners of our free personal license raffle, along with their product of choice:

  • Maik Heller – dotCover
  • Michael Baur – IntelliJ IDEA

Lastly, we would like to share the recorded session featuring Matt Ellis (@citizenmatt), Using ReSharper Effectively. Enjoy the video and we hope to meet you at an upcoming event near you!

Develop with Pleasure!

- The JetBrains Team

Posted in Contests, Events, Screencast | Tagged , , , , | Leave a comment

JetBrains is Hiring for TeamCity – Join Our Team

Greetings everyone!

We hope everything is going well for you. For us the last few years were quite significant. TeamCity has become an important tool for many companies, the demands of our customers are growing and to meet them, we need to expand as well. Our team is far from small already. We have more than 20 people working on the product full-time, but we need more!

TeamCity logo

So we’re looking for the following qualified candidates:

1. Senior .NET Software Developer

The position is open in Saint-Petersburg (Russia), Moscow (Russia) and Munich (Germany).

The fact that TeamCity is written in Java does not prevent our product from being a popular tool in the .NET world. For this position we’re looking for a senior developer with a passion for .NET technology; a person who will improve and evolve our .NET integration, who will be able to bring new ideas and new features to the product. .NET integration in TeamCity covers a wide spectrum of technologies: from the integration with build tools like MSBuild, NUnit, and others, to integration with NuGet or Version control systems like TFS, not to mention the add-in to Visual Studio based on the ReSharper Platform.

For this position we require very good knowledge of C# and .NET development stack. Familiarity with Java is a big plus. Please see additional details and requirements on our jobs page.

2. Senior Support Engineer

The position is open in Saint-Petersburg (Russia), Moscow (Russia) and Munich (Germany).

TeamCity is quite powerful under the hood and as with any powerful tool, there are a lot of questions about the most optimal usage of the tool. We receive lots of feedback on our tracker, forum, support channel, not to mention Stackoverflow and Twitter. While we’re working hard to make the product as simple as possible, the amount of feedback grows constantly.

In this position, your task will not only be to help our customers solve their problems, but also to identify common problems and report them back to the team. Please see additional requirements for this position on our jobs page.

3. Senior QA/Test Engineer

The position is open in Saint-Petersburg (Russia), Moscow (Russia) and Munich (Germany).

It’s a challenging task to verify functionality in products like TeamCity. The software development field is changing constantly, new tools are arriving, new technologies, new integrations. You have to know a lot about completely different things. One day you’re trying to reproduce an issue with Git, the other day you’re verifying how recent changes in the TeamCity Amazon integration work. To add to that, we do not have strict specifications, so sometimes there’s no definite answer to how the system should behave and we need to decide on it together.

Given the complexity of the task, for this position we are looking for an experienced QA engineer with a very good technical background and deep understanding of testing process. Please see more details on our company jobs page.

What it means to work at JetBrains.

If you want to apply for one of these positions, then you should know more about the team and processes accepted in our company.

First of all, traditionally at JetBrains we’re trying to avoid complicated processes and bureaucracy; we tend to use the agile approach, but instead of using the whole set of agile practices, we only adopt those bringing the most value to the team. For instance, the only mandatory meeting for the TeamCity team is the daily stand-up. We also encourage our developers to use feature demos.

In the TeamCity team we are strong believers in continuous integration and continuous deployment. For example, we upgrade our production TeamCity server to a fresh version from the trunk once a day. This production server builds every JetBrains product, from IntelliJ IDEA and ReSharper to TeamCity itself (the server has about 250 agents, producing more than 5000 builds daily which amounts to about 120K builds per month).

It’s not easy to keep the production server stable and careful planning is required when significant changes are introduced, but it pays off. In addition, it brings constant feedback on the new features from all JetBrains developers.

“Eat your own dogfood” is a JetBrains’ mantra. When we plan a feature in the product, we always consider our own ability to use it. If we can’t use it right away, we try to “sell” it to other JetBrains teams, and/or to make it an open source plugin and share it with the outside world. Either way, the feedback from real users helps choose the design of the feature and avoid silly mistakes.

Unit and integration testing, static code analysis, code coverage, refactoring, code review – these are not empty words for us. We ourselves use these practices all the time.

Most JetBrains developers work in Saint-Petersburg and Munich. Besides the flexible work environment, the company offers free lunches, snacks, beverages, coffee, tea, etc, etc. We are not particularly fond of open space, so our team members work in spacious separate rooms.

We do hope you have enough information to make the right choice. If you’re interested in one of the positions above, please submit your CV on our jobs page: https://www.jetbrains.com/company/jobs/.

For a software developer position, a link to open source projects with your participation or examples of your code would be helpful as well!

Join us and happy building!

Posted in FYI, News, Uncategorized | Tagged , , , , , | 3 Comments

JetBrains Night in Munich, Wednesday, March 25, 17:00 – 21:00

We have a FREE special evening planned for you at our JetBrains office in Munich. You’re invited to join us where you’ll learn how to Use ReSharper Effectively, and Perform Exploratory Code Reviews with Upsource.

JetBrains Night in Munich

In addition to our two presentations/discussions, you will have the opportunity to meet our local team, as well as the evening’s presenters, Matt Ellis and Hadi Hariri. Light snacks and beverages will be served during the event.

Due to the high demand we decided to hold the event two days in row. The March 24th event is fully booked but there are a few remaining spaces on the evening of March 25th. Space is limited, so act fast!

Learn more and register now for JetBrains Night in Munich.

Posted in Events | Tagged , , , | Leave a comment

IntelliJ IDEA and WebStorm: InfoWorld’s 2015 Technology of the Year Award Winners

On January 26th, 2015, InfoWorld announced their 2015 Technology of the Year award recipients. In total there were 32 winners representing the best of cloud, data, hardware and software applications.

For the second year in a row WebStorm is a winner and IntelliJ IDEA returns to the list in 2015!

InfoWorld 2015 Technology of the Year Award

WebStorm

The WebStorm review by Martin Heller, InfoWorld Test Center Editor, highlights the core features that makes WebStorm “more than an editor” such as: built-in code inspections and code quality tools, Node.js and JavaScript debugger and tracer, Live edit, and integration with the testing tools.

IntelliJ IDEA

Just last month IntelliJ IDEA 14 picked up the 2015 Jolt Productivity Award for Coding Tools and now InfoWorld’s 2015 Technology of the Year. What a great ending to 2014 and start to the new year!

Here is part of what Rick Grehan had to say in his review.

“Granted, we wish the Community edition were equipped with the sorts of J2EE development tools found only in the Ultimate edition: database tools, support for frameworks such as JPA and Hibernate, deployment tools for application servers like JBoss AS, WildFly, and Tomcat. Nevertheless, the Community edition makes a fine Java application development platform that also gives you Android tools, as well as support for other JVM languages like Groovy, Clojure, and Scala (the last two via free plug-ins). Whichever version of IntelliJ IDEA you use, you’ll find a rich array of tools designed to simplify otherwise tedious development chores.”

Read more about WebStorm (slide 15), IntelliJ IDEA (slide 16) and the other winners in InfoWorld’s 2015 Technology of the Year Award slide show

Posted in Awards, News | Tagged , , | Leave a comment

Live Webinar: Software Architecture as Code, February 12th

We are pleased to invite you to our upcoming webinar, Software Architecture as Code, featuring Simon Brown. Register now and join us Thursday, February 12th, 15:00 – 16:00 GMT (10:00 AM – 11:00 AM EST).

It’s 2015 and with so much technology at our disposal, we’re still manually drawing software architecture diagrams in tools like Microsoft Visio. Furthermore, these diagrams often don’t reflect the implementation in code, and vice versa. This session will look at why this happens and how to resolve the conflict between software architecture and code through the use of architecturally-evident coding styles and the representation of software architecture models as code.

Space is limited; learn more and register now.

Simon BrownSimon Brown is an independent consultant and helps organizations to build better software by adopting a lightweight, pragmatic approach to software architecture. He is the creator of the C4 software architecture model and the author of “Software Architecture for Developers,” a developer-friendly guide to software architecture, technical leadership and the balance with agility.
Posted in Events, Webinar | Tagged , , , | Leave a comment

Webinar Recording: Reactive Stream Processing with Akka Streams

On Tuesday we had the pleasure to host a webinar together with Typesafe where Konrad Malawski, a Scala enthusiast who works on the Akka toolkit, gave a very comprehensive overview of the Reactive Streams specification and one of its implementations — Akka Streams. The slides from Konrad’s presentation can be found at SlideShare.

About the presenter

Konrad MalawskiKonrad Malawski is a late-night passionate dev living by the motto, “Life is Study!”, hacking on the Akka toolkit at Typesafe. While working on Akka Streams he also implemented the Reactive Streams specifications Technology Compatibility Kit. You can follow him on Twitter – @ktosopl

Develop with Pleasure!

Posted in Screencast, Webinar | Tagged , , , | Leave a comment

Webinar Recording: What’s New in TeamCity 9

The recording of our recent webinar with Wes Higbee, What’s New in TeamCity 9, is now available on JetBrains YouTube Channel.

In this webinar, Wes goes over the new features of TeamCity 9, namely: rearranging projects with Project Import; storing settings in VCS; creating and editing Custom Charts; running builds in Cloud Agents; as well as some other improvements.

Below are a selection of some of the most frequently asked questions.

Continue reading

Posted in Screencast, Webinar | Tagged , , | Leave a comment