ariya
Ariya Hidayat
When Ariya Hidayat is not a VP of Engineering, he maintains PhantomJS, one of the most popular tools used by companies to write automated integration test for web applications.
  • Project PhantomJS
  • Location San Francisco, CA
  • Day job VP Engineering, Shape Security

Backstory

In early 2008, I worked on Qt and WebKit. Part of my effort to understand the code base was to write tons of small examples. At some point, I was tired of creating little C++ apps, and I created JavaScript bindings to most of the useful parts of QtWebKit.

This initial effort later became PhantomJS, which was released for the first time in the beginning of 2011.

I spread the word about PhantomJS in the usual ways: I tweeted about it, I wrote blog posts on things you could do with it, I mentioned it during various discussions in meetups. When it became more well known in 2014, I started giving presentations about it.

Daily tasks

The amount of time that I spend working on my open-source projects varies a lot. It can get up to five hours per week, and sometimes, it drops to zero. It largely depends on my other life commitments—work, family, kids, etc. Triaging issues and answering questions take a lot of time! Surprisingly, it takes up more than any actual coding.

Rewards

Maintaining PhantomJS is similar to any kind of hobby projects: soothing and therapeutic. My projects become a good channel to explore my other creative sides, not bounded by a certain obligation.

PhantomJS in particular really helps me keep an eye on the progress of web platforms. Many open-source projects are not being used anymore after the first year of their existence, yet there are still users excited with PhantomJS after six years. So I will go on as long as someone continues to find it useful, and I keep learning new things.

"My projects become a good channel to explore my other creative sides, not bounded by a certain obligation."

Challenges

The maintainer does not always have infinite time at their disposal. Not every project is equal; some projects do not have the backing of paid and unpaid engineers working non-stop on every single problem or answering every single question.

Favorite moments

This is not a single moment, but I'm always happy when I'm going to a meetup and someone tells me that they find PhantomJS useful for them. It is a relief that my effort has not been wasted.

I'm always happy when I'm going to a meetup and someone tells me that they find PhantomJS useful for them.

Good advice

Plato once said, "Never discourage anyone who continually makes progress, no matter how slow."

No project is perfect and it is absolutely fruitless to please everyone. As long as your project keeps making progress (no matter how small it is), do not get discouraged by any kind of unfavorable color commentary.

What will your story be?

Team

$9 $9

per user / month

Includes:

  • Unlimited public repositories
  • Unlimited private repositories
  • Team and user permissions

Starting at $25$25 / month which includes your first 5 users.

Sign up your team

Business Cloud

$21 $21

per user / month

  • SAML single sign-on
  • Access provisioning
  • 24/5 support with 8-hour response time
  • 99.95% uptime SLA
Get started

Enterprise

$21 $21 *

per user / month

  • Self-hosted
  • SAML, LDAP, and CAS
  • Access provisioning
  • 24/7 support for urgent issues
  • Advanced auditing
Start a free trial

* Sold in packs of 10 users and billed annually.

Want to use GitHub on your own? Check out our personal plans.