UpHex (http://uphex.com) is a tiny, nascent SaaS company that helps marketing agencies monitor analytics for their clients. We're currently funded with a $900,000 round to take us from beta to commercialization (and beyond).
At the moment we're in beta testing with a small group of about a dozen agencies and a waitlist of about 120 more. In total, they're sending us about 1.2M data points per day across a number of connected Twitter Ads, Facebook Ads, and Google Analytics accounts, of which we store a small portion that are most relevant to the data they care about.
Now that we're beginning to get customer feedback, we want to increase our velocity a little more and make sure we're keeping up with what's most relevant to our product direction. That's where you come in!
About the role
We're looking for a full-stack engineer to help us build this platform. We're looking for someone who has a passion for software development, loves making things work well, and who thrives in a high-impact, low-ceremony startup environment.
In general, you would be responsible for:
- creating and developing additional controllers, views, styles, scripts, services, and models to support new features
- integrating with and authenticating to other third-party services
- evaluating, prototyping, and experimenting with technologies to decide if they're right for us
- helping us scale to ~105 users and ~1010 observations per day
- using your technical expertise to help set the direction for the company's future
- maintaining, refining, and refactoring our codebase as needed or warranted to add value
This is a contract position. We're open to working with your availability, although we'd prefer that you work at least 2 to 3 days with us each week to gain some consistency. But otherwise, we care much more about the results you deliver than the hours you spend.
In other words, it's more important for us that we see steady progress than how many hours it takes you to deliver that progress in a day, whether it's two hours each day or eight.
We welcome diverse, qualified applicants from the global technical community, and we want to work with you no matter who you are, where you are, or what your background is.
We generally place a high premium on architectural and code simplicity, and try to minimize complexity at all levels.
We run a Padrino stack on Heroku. ActiveRecord 4 is used for the small number of models that interact with the database directly. The datastore is Postgresql 9.5; we also use Redis to store jobs and for ephemeral caching.
The architecture is likewise fairly simple. In production there are two web processes (what Heroku calls dynos), one worker process, and one Postgresql database. Our codebase is small right now, clocking in at around 6,000 lines including all models, controllers, and services.
You can run all the tests (RSpec and Rubocop) with a single command, and you can deploy to production or any other environment with a single command. We maintain an up-to-date README as if someone could join the project at any moment.
- are comfortable working with a remote team that's centered around UTC-5 working hours
- are comfortable using tools like Google Hangout and Flowdock to collaborate with teammates
- have a video camera, a microphone, and a stable, high-bandwidth Internet connection for video chat
- have a GitHub, Twitter, or StackOverflow account
- are a fan of DRY, STTCPW, and YAGNI
Your technology experience includes most or all of the following:
- substantial experience with the Ruby language
- expert proficiency with Padrino, Sinatra, or Rails 4+ (especially ActiveRecord)
- comfort at the command line, using Git, and navigating around a filesystem
- comfort interacting directly with services like Postgresql and Redis
- significant experience with JS, React, events, and asynchronous method calls
- familiarity with Sass and CSS
- experience integrating with and authenticating to third-party services
- a preference for writing clean, simple code and questioning complexity
- experience writing and refactoring good tests with RSpec
Bonus points if:
- you have worked on the team of at least one revenue-producing, production project using Padrino or Sinatra
- you've used ChartJS, D3.js, or a similar agnostic visualization framework
- you've used Coffee
- you can point to public commits you've made on a project you like
- you have written an interesting technical blog post, essay, rant, etc. that you can link to
- you have worked at a startup before
- you understand and use topic/feature branches in Git
How to apply
If you think you'd be a good fit, we'd love to hear from you! To apply, send an e-mail to firstname.lastname@example.org that includes the following info:
- the URLs for two companies or projects that you've previously worked on, along with a short description of what you did there and when
- the URL of the most interesting thing you've read, listened to, or watched lately, along with a short description of why it's interesting to you
- one of:
- the URL of a commit that you made to a public project, why you made it, and why you like it
- the URL of any public commit that you like and feel strongly about, and why you like it
Please also include at least two of:
- your GitHub or Bitbucket account URL
- your StackOverflow user profile URL
- your LinkedIn profile URL
- your Twitter handle
- your blog, website, or other public-facing presence (even if you don't keep it up to date, that's okay!)
or alternatively, it's also okay to comment to the effect that you don't maintain a public presence.
Please don't send a resume. We're not hiring a PDF — we're hiring you!
We promise to be in touch within one business day. If you have any questions, we invite you to talk directly to John Feminella, our CTO. His e-mail is
We look forward to hearing from you!