Evan You

Backstory

I started Vue as a personal project when I was working at Google Creative Labs in 2013. My job there involved building a lot of UI prototypes. After hand-rolling many of them with vanilla JavaScript and using Angular 1 for a few, I wanted something that captured the declarative nature of Angular’s data binding, but with a simpler, more approachable API. That’s how Vue started.

In late 2015 I started to seriously consider working full-time on Vue since its growth was very promising, and I had many ideas that I thought would push the project even further. In February 2016 I started a Patreon campaign where users and companies could make monthly pledges to support my work on Vue. To my surprise, the campaign got traction quickly, and now I’m able to work on Vue full-time. I’m extremely grateful to the community for making this a reality.

Over time many wonderful community members have joined me and we now have a core team and other active community members helping me with all aspects of the project. Vue is currently funded by the community through Patreon.

Responsiblities

Triage issues across multiple repositories and fixing them if applicable

Plan the short-term and long-term roadmap for the project as a whole based on user feedback and new developments in the platform / ecosystem

Find the time to implement these planned new features and improvements in the framework

Rewards

Working on Vue was how I grew as a developer: It motivated me to research and learn whatever it took to implement the features I wanted, and I had to hold myself up to decent engineering standards to keep the project maintainable. When the project got bigger and more opinions started to surface, I started to understand the art of trade-offs in software engineering and how different goals can lead to different design decisions.

As Vue grows in popularity, comparisons with other frameworks have led to long debates. Being the maintainer of Vue actually allowed me to look at all this from a different perspective and realize how important it is to keep an open mind and embrace the fact that having choices is a good thing.

“Working on Vue was how I grew as a developer: It motivated me to research and learn whatever it took to implement the features I wanted.”

Challenges

Properly prioritizing different types of tasks. For a very long time I tried to fix issues as fast as possible and only work on planned features after. My experience so far is that this model isn’t sustainable. My work schedule became very ad-hoc because issues can arrive at unpredictable times, and it’s hard to know how long it will take to triage and fix certain bugs.

I’m now experimenting with a different model: I have unsubscribed from most of the projects’ notifications and only triage issues in batch with a fixed schedule. The core team members filter the incoming issues and only ping me when something is critically wrong. This allows me to take better control of my time and stay focused.

Favorite moments

As a maintainer, most of the time you get pinged for problems in your project. Although it happens less often, it’s very heart-warming when users send you encouraging messages telling you how your project has made their work more enjoyable and how grateful they are for that. I’m quite proud that all the private messages I got on Reddit are the extremely positive type.

“It’s very heart-warming when users send you encouraging messages telling you how your project has made their work more enjoyable and how grateful they are for that.”

Good advice

Don’t press yourself too hard, take breaks from time to time, and take it easy when there is negative feedback. Keep in mind that you are already creating value for all your users and issues are just room for improvement.

What do you see as the greatest contribution need for Vue, now or in the future?

The greatest contribution to Vue would be things that can benefit the entire community: experimenting with new ideas, educational resources, or sharing solutions to encountered problems as reusable plugins, components, and CLI templates.

There are already a ton of these, but as of now the discoverability of high-quality resources could use some improvement. We’d greatly appreciate input from the community on this.