Evan You Evan You

Evan You @yyx990803

  • Project: Vue
  • Location: New York City, New York
  • Day job: Founder at Vue Technology, LLC
Evan You
In 2013, Evan You founded Vue, a Javascript framework funded by the community on Patreon. In 2016, Vue reached 2,000,000 downloads.

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.


Meet other maintainers

Hzoo-project

Henry Zhu

Henry Zhu splits his time between working on Adobe's Behance team and Babel, a popular JavaScript compiler used by companies like Facebook, Google, and Netflix.

Freakboy3742-project

Russell Keith-Magee

Russell Keith-Magee created BeeWare to fill a gap in his own process. Today, BeeWare is the go-to project for supporting Python on every platform.

Brettcannon-project

Brett Cannon

Brett Cannon made his first open source contribution more than 15 years ago. Now a Software Engineer at Microsoft, he's still a core contributor to Python, a project he has contributed to for more than a decade.