RJMetrics Spring 2013 Hackathon Results

Spring is here, and with it another RJMetrics hackathon. Our third hackathon saw more outstanding projects, more pizza, and more bleary eyes.

The Projects

  • An inside look at what we eat in the company kitchen using RJMetrics dashboards to track snack and beverage metrics.
  • An automated gong-ringer that will sound every time a new client signs up.
    gong

    Rohan and Ben test their project.

  • A new RJMetrics data connector, deployed on our Data Import API. It sucks down data from our marketing automation platform, Pardot, and updates RJMetrics dashboards on an hourly basis.
  • A dashboard that updates in real time. Hackathon_Shot1
  • A wiki search function for our newly upgraded company wiki on Github
  • A hack of our Keurig machine, which now refills on its own.
    Hackathon_Shot3

    Jake and Shaun are blown away by the endless coffee.

  • A prototype of a pivot tables, bringing all the wonders of Excel pivot tables to your RJMetrics data.
  • An A/B testing tool for sales conversations.
  • A new UI which allows us to enable or disable features for different users

The Results

Congrats to Bob Moore, Connor McArthur, and Cathy Lennon who took home first place for their real-time dashboard project! Second place went to Matt Monihan, Nate Vecchiarelli, and Buck Ryan for their pivot tables prototype. And third place went to Shaun McAvinney and Jake Stein for their A/B testing tool.

Turns out hackathons are a lot of fun. Maybe quarterly isn’t enough…!

Hackathon_Shot2

Return of the RJMetrics Hackathon

This Thursday at Noon, we will kick off our second seasonal RJMetrics Hackathon.

Our previous hackathon was an enormous success. It caused major disruption in our development pipeline. Many of that hackathon’s projects are currently being beta tested and will hit our production codebase soon.

It also spawned such live features as:

  • QueryMongo.com, which topped Hacker News and helps dozens of coders (including our team members and customers) every day.
  • A snazzy new sales video, which is being A/B tested on our homepage.
  • And much, much more.

Most importantly, everyone had a great time and couldn’t wait for the next one.

The Prize

Last time, our winners enjoyed a lavish dinner at Del Frisco’s Double Eagle Steakhouse. This time, we’ve upped the ante.

This Hackathon’s prize is inspired by the classic film Brewster’s Millions.

The winning team will be given $500, with the caveat that they must SPEND IT ALL IN ONE NIGHT. You can pick any night you want and spend it however you want, but that money has to be gone by the time the sun comes up. Winners are encouraged to document their shenanigans.

Taking Suggestions

Got a suggestion for something our team should take on at the Hackathon? Let us know by emailing support@rjmetrics.com with your suggestions. They will be passed on to our entire team.

Check back next week for results!

RJMetrics Round-Up (11/28/2012)

The hits keep coming at RJMetrics!  Here’s some of the recent progress we’ve made:

Product Updates:

  • Our new chart builder made its public debut. All users can now participate in beta testing this tool. Read more about it in our documentation.
  • We changed the font throughout our dashboard. Say hello to Proxima Nova.
  • We have expanded our time zone support. Charts with a time frame relative to “right now” will be calculated against your time zone, which administrative users can change in the settings page.
  • Email summaries now include a warning if they contain stale data – that is, data for a time period that RJMetrics has not finished calculating. These email summaries are automatically resent once that data is current.
  • Our “Cohort Analysis 101″ guide is now live at www.cohortanalysis.com.
  • We have increased the parallelization of many of our calculations, resulting in significant speed boosts.
  • We have updated our integration to support many of the improvements to the Google Analytics API recently – specifically allowing the visitors trend to be grouped across many more dimensions.
  • There are now fewer constraints on restriction sets for repeat event probability charts.
  • We’ve sped up the dashboard-wide “change all dates” tool.
  • We’ve sped up the auto-complete drop downs in the chart builder.
  • We made major improvements to file uploader, including auto-detection of the file structure for new uploads.
  • We have begun beta testing a data mapping tool that uses zipcode information as an input – stay tuned for more on this.
  • We finished production of the promotional video that was created at our last hackathon – it can be viewed at https://www.rjmetrics.com/index2

Company News:

  • Our CEO Robert J. Moore has been busy getting the word out:
  • We’re currently interviewing candidates from Drexel University’s Co-Op program for participating in next year’s RJMetrics co-op.

Why Our Success Means Client Success

Inside the walls of 1315 Walnut Street, you will find a group of sincerely dedicated, smart and driven people. I started here not so long ago and in that time I have found that the pleasure of working with the employees of RJMetrics has surpassed my expectations. Those who work here are truly engaged; they start the day with excitement and end the day accomplished. The success achieved here makes each working day a step in the growth of the company through the evolution of ideas.

My perspective is through support (makes sense, I am a support and implementation analyst after all) and in my time I have already marveled at the treatment of ideas. A simple support request can turn into a vibrant discussion of how to enable a new metric. It starts as “Hey, how could you….” and before you know it, you are walking through the office sweeping people up in the tornado of an idea. Of course, this one idea turns into five more. Finally the process is over. People are grinning with excitement from the idea-sugar rush and the baton is passed to the developers.

It’s these little successes, these little victories that make the day worthwhile. They drive passion and innovation that enable to us to constantly put forth a better product and better service. And to top it all, it’s not only a satisfying process but an empowering result. Our work matters because it matters to our clients. Our work enables someone else to understand their business better, to help drive their growth. Here in support, we teach our clients to understand the system and empower them to create metrics. Often this leads to that support request that turns into “Hey, how could you…” And the cycle is complete. There is a symbiosis to it all; which is why in the end, our success means client success.

Stand Up for RJMetrics

This post began as an explanation of character set encodings and some of the UTF-8 problems that I have recently encountered, but as I struggled to find the right words and salient examples, I found myself nervously pacing around my living room and wishing I had the same “standing desk” at home that I do at the office, so that I could work off some nervous energy while still focusing on getting my thoughts on the screen.

After managing to prop my laptop on a cookbook on top of a high counter, my focus has transitioned to workplace environments and workspace setup, topics that have been discussed in depth recently, including numerous articles on the hazards of sitting at a desk all day and a New York Times article this Saturday on workplace noise.

One of the major draws of working at RJMetrics was the opportunity to design my ideal workspace, including my desired chair, desk, and computer. I had been considering a standing desk for a while and was excited to see that this was already a common feature in the office. Most developers here have a GeekDesk, which is a motorized desk that you can sit or stand at. Each person has a different balance of sitting and standing, but everyone appreciates this somewhat unusual office perk.



These desks are not just a novelty- recent research has shown that being sedentary for long periods of time increases a person’s risk of obesity, diabetes, and heart disease even if he or she exercises regularly.

For me the draw of a standing desk was more practical. I prefer standing, stretching, and pacing while I’m working and I find it hard to sit and focus when I have a lot of pent up energy. I also find sitting for extended periods to be uncomfortable, and have gone through many desk chairs in the past trying to find one that doesn’t bother me. I’ve found instead that the best way around this for me is to take frequent standing breaks. It also helps keep my energy up in the afternoons when I find myself getting groggy.

Plus, having a standing desk fosters collaboration. It’s easy for me to share a workspace with another developer while standing and looking at some code than it is it cram a bunch of swivel chairs at a workstation. Stand up!

9 Unexpected Perks of Working at a Startup

I recently left a job at a large company to join Philadelphia startup RJMetrics as a Software Developer. While I knew it would be very different here, I wasn’t completely sure what to expect. Now that I’ve had a chance to get the full experience, I thought I would share some of the pleasant surprises I’ve encountered.

While a few of these are RJMetrics-specific, I think many of them would be true at most startups. As such, I would encourage everyone out there who is considering a move to a smaller company to read closely and strongly consider taking the plunge. Here are 9 unexpected perks of working at a startup:

1. Values

Many of the items on this list are what I would call “perks,” but they all exist because of the compelling core values of our company. Two of the values that struck me earliest were trust and fairness. These could seem like ephemeral ideas, but can have very benefical results when put in practice at a company. I saw them in action in my first few days.

RJMetrics gives away a free iPad to all of its developer applicants who make it to the in-person interview stage. I must have glossed over this when reading the job description, because I was completely unaware of the program. Shortly after I started, however, our CEO realized that I had never been given an iPad and immediately ordered me a shiny new iPad 3. I would have never asked for it or begrudged them for not getting me one — they did it anyway because it was the right thing to do. They keep their promises.

Understanding and agreeing with values like these makes it easy to feel proud of what I do and grow as a person while I do it.

2. Ownership

Every single person at the company participates in the Employee Stock Option Plan. This aligns all of our incentives for creating long-term value and makes us proud and excited by each other’s accomplishments.

3. Amazing People

Being surrounded by people who you respect intellectually is one of the most valuable parts of a job. When you’re at a large company, it’s inevitable that some people have slipped through the cracks who just aren’t up-to-par. In some companies, those people end up being the majority. Startups, however, have smaller teams and are able to exercise a much higher level of control over who is brought on-board.

It is extremely clear that every single member of the RJMetrics team was hand-picked and rigerously vetted before being brought on-board. There isn’t a person in this office who I couldn’t learn something new from, and based on the interview process I went through, I can tell that I was hired because I will teach a few lessons myself.

4. Frequent Feedback

Every six weeks, the founders of the company sit down privately with every single member of the team to provide job performance feedback, solicit feedback on their own performance, and listen to opinions and ideas about the direction of the company.

This simple process is extremely valuable, so it’s surprising to me that most larger companies have infrequent reviews that don’t involve bi-directional feedback.

For me, this process provides a clear sense of how I’m doing and what I can expect as a member of this team. It also gives me a chance to help steer the business side of the company, which is not always a perk that a developer receives.

5. 10% Time

We are each given one day every 2 weeks to pursue a project of our choosing. This is a fairly new program at RJMetrics, but it has already generated a bunch of really useful internal tools and some great user experience improvements.

In addition to yielding great output, this program also allows everyone to exercise their creative side and be an end-to-end product manager on something that genuinely interests them.

6. Agility

Older, larger companies often have layers of bureaucratic scar tissue that can discourage employees and even make it seem impossible to innovate. Startups have to get stuff done to stay alive, and their teams are motivated to do so quickly.

As a result, I get to look back at “where we were” even a month ago and see real, meaningful changes that I’ve helped bring to life.


7. Transparency

Every day at 5PM, we have a stand-up meeting where each team member briefly reports on his or her progress that day and plans for the next day. This keeps me in the loop about company-wide projects and confirms that what I’m working on really matters.

We also have flat-screens throughout the office showing metrics about customers, revenue, system usage, and other indicators of company value. Sometimes these figures raise questions that are completely unrelated to my job. Thanks to our culture of transparency, I’m not afraid to ask them.

8. Trust

Employees are a startup’s most valuable asset. Team members are trusted to contribute everything they’ve got. They are offered tremendous perks as a result of that trust.

Besides more common employee benefits like health insurance and stock options, RJMetrics provides a suite of benefits to promote a healthy, efficient and fun work environment. Little things like the fully stocked kitchen, freedom to design your workspace (including the awesome Geekdesk), and flexible working hours go a long way towards helping us contribute our best possible work. We even have a nap room for those days when a power nap at lunchtime will lead to a more effective afternoon.

9. Fun

There are no shortage of jokes in this office. We go out for company events on a regular basis. Our conference room table doubles as a ping pong table. I can’t recall a stand-up meeting where everyone hasn’t laughed at least once.

When everyone is excited about what they’re doing and proud of the output, it’s easy to have fun at work. Nowhere is this more possible than at a startup.

Conclusion

As I read through this list, it strikes me that these “perks” mirror our company’s core values very closely. Everything on this list is a reflection of the culture of RJMetrics.

When looking for your startup job, try to make note of the culture of the company. It’s a much bigger deal than you might think.

Getting Startup Jobs, If You Aren’t a Programmer

Roughly one year ago, in April of 2011, I quit a promising job at a Fortune 100 company to find work at a startup. I had wanted to work on break-through technologies and be part of a starting team, but I lacked the programming skills that are necessary in most cases.. Over the next nine months I made various attempts to get a job at a company that would not only give me an income, but also give me opportunities to grow and impact the world. Many of my job searching techniques did not work, but I’ve compiled a list that helped me land an awesome position here at RJMetrics.

Learn to Program

One of the first things I did was to start boning up on programming for the web. I went through most chapters of Learn Python the Hard Way, skimmed The Bastard Book of Ruby and did every one of those interactive tutorials. It doesn’t matter what language or framework you choose. Learning anything is better than knowing nothing at all. If you mention that you went through Rails for Zombies, the interviewer is jotting down that you understand some basic knowledge of what is going on behind the scenes.

Don’t apply, ask for an introduction first

While you are thinking and working towards joining a company, you should also be cultivating meaningful relationships in your local startup scene. Go to meetups, hackathons and StartupWeekends. Heck, host a Startup Job Fair in your town. In the startup world it isn’t who you know, it is who knows you. This is a small world, and it only gets smaller when you make friends. When you see a job listing on craigslist for a startup position, send a text to the most well known guy in local startups to see if he would be ok with introducing you to the CEO. I did this once and had a job offer from a company 24 hours later.

Jump through hoops

We’ve highlighted our data-driven hiring process in the past. As someone who went through that process, I will tell you that there are tests and tasks to complete before you are even considered. It would be easy to ignore or half-heart them. We count on applicants to do that, and weed them out. We use Resumator.com to help organize our applicants. Resumator has a cool feature that has applicants enter a blurb about what makes them unique in 150 characters or less. Many applicants leave that field blank, or input “n/a”, instantly removing them from the candidate pool. I’ve included my 150 submission. Bob also let me know recently that the misspelling slipped past him. Yikes!

I take the initiative. I went on a Punch-Drunk-Love-pudding-like trip, compaired movies to hundreds of listeners, and had 3 kids in under 17 months.

Communicate well

At most small state startups, if you are not coding, you are most likely in a client facing position. This means a lot of emails, marketing copy and sometimes phone calls. Founders are looking for someone that can bridge the gap between the code and the marketing copy. The ability to communicate has to be evident throughout your candidate process. In your resume, emails, and interviews be diligent to be clear and make sense. Learn the art of active listening. Spellcheck everything. Be confident and honest. I wrote out a script for a voicemail I was going to leave for a founder. Then I practiced it, twice. You have to assume the level of scrutiny is high, because it is.

Be passionate and picky

When you are reaching out to your network and getting callbacks from startups, be clear about what you are passionate about. This starts with knowing what you love to do and not lying to yourself; it’s something that may take you years to discover, but start today. If you aren’t using twitter and think it is a fad, your network shouldn’t refer you to a social media company using twitter’s api.

I had a call with a sales and marketing company, and after the CEO explained what their market was, and what my role would be I told them I didn’t think we would be a fit. If I had continued the conversation and had the interview, I probably wouldn’t have gotten the job anyway. My lack of enthusiasm would have become apparent to the CEO, and if he had any smarts, he wouldn’t hire me. In contrast, when you interview at a company that is doing interesting things and facing complex issues that you can solve, the interviewer will make note of that as well. Being enthusiastic about things you like is a good thing.

My colleague Xiao used a tactic that exudes passion. When you come for the interview, bring a document that details all of the areas in the company that you could improve and how you would do it. I’ve since seen a video on this called “the briefcase technique” which is a great explanation of the presentation of this.

I wish you the best in your job search. Oh, by the way, RJMetrics is hiring!

Startup Lessons: Screening Calls

When you’re trying to start a business and spread your name around, communication is key. As the administrative assistant, my duties include communicating with potential and established clients, through both email and phone. Emails come from interested parties looking for a time to meet and learn more. Phone calls come from telemarketers, insurance salesmen, television personalities and generally anyone with any motivation other than calling our company for business.

How, you might wonder, does one screen out the mundane, the irrelevant, the liars and the scammers and those who wish to waste your time and take your money?

I have a process. It’s (nearly) foolproof.

Step one: Identification
No matter who it is, always ask the caller to identify themselves, clearly. People who only give first names or are reluctant to say who they are can’t (and don’t) have a good reason to contact you.

(Example: This is **insert strange guttural coughing noise here.** )

Step two: Purpose

Perhaps the most important question, “what is your reason for calling” can usually weed out even the most confident and sneaky. Unacceptable answers we’ve gotten include (but are by no means limited to):

-Are you happy with your insurance provider?

-Would you like to donate money to the _____ fund for ________ on a monthly basis and receive a tote bag and/or commemorative plate?

-Do you do IT maintenance? I saw you in the yellow pages.

-I’m trying to reach Jack. No, wait, Jim. John. Definitely John. Mike.

Step three: Timeline

Is this your first time calling? This usually goes one of two ways, which can put the nail in the coffin in terms of identifying motive.

a) I am calling for the first time, or am returning the call of ______.

-or-

b) I call all the time. I speak with the boss. Just connect me with the man in charge.

Generally, if you don’t know the name of the man in charge, you haven’t spoken with him. Sometimes, callers will research their prey ahead of time… though not much can be said for the quality of that research. Hint: our company employs neither a Robert Stein, nor a Jake Moore.

Equal confusion comes from those who stop for “neither snow nor rain nor heat.” In the three short weeks since I was hired, we’ve gotten mail for no fewer than five other people who supposedly work in our office space. Bills, medical records, tax forms and credit card offers sit in a box I have newly labeled “return to sender,” awaiting the daily time when I can return them to the postman, who shakes his head in befuddlement and hands over the next piece of someone else’s mail.

When the stars align, and a call or email is truly filled with intent to learn about and perhaps try our product, I politely transfer and respond to their inquiry. I have no problem answering questions and helping callers with issues. I’m here to serve the client, someone who already has or soon might pay good money for our services. It’s just the sorting out and finding these people that causes our headaches. So, if you please, call us and see what our company and products are all about. But do me a favor, while you’re at it, and keep the commemorative plates to yourself.

3 Reasons to Consider Working at a Startup

Prior to working at RJMetrics, I worked at Wells Fargo Bank. I had positive experiences there and learned a lot, but I wanted more. I made a list of attributes that the optimal job would have for me and found a match with RJMetrics. I am loving my experience and I have tried to pick out the top three reasons others working in a more traditional job should consider working at a startup.

1. Rapid growth and how it will impact you and the company

As a startup, one of our main goals is to grow constantly and exponentially. It takes a wide range of skills that span across many disciplines and departments to successfully achieve the goals of a company. RJMetrics aims to achieve its goals with a small, dedicated team. I have found that my learning curve here is incredibly steep because I want to get better every day. I know that if I get better, there is a higher probability that we succeed and I know that all of my team members feel the same way.

I have been working here for a little over five months and have been involved in projects that span across marketing, sales, law, technology development, product management, UI design, SEO, social media, client relationship management, and the list goes on and on. Sometimes my role is very client facing and at other times it focuses on our internal needs. The range of skills I develop here is much broader than any previous job. It is an opportunity to reach my full potential, uncover talents that I didn’t know that I had and then strive to reach my full potential in those areas as well. I can’t think of a more fulfilling experience when it comes to an employment opportunity than the growth of the company and the expansion of your own personal skillset growing together.

2. Know what you are doing and why you are doing it

I understand our value and I am aligned with our vision. I didn’t walk in on day one with the full understanding but through my involvement in a broad range of projects, these things became apparent quickly. I believe in what we are doing, and this allows me to play a part in determining what my contributions should be and to accurately evaluate what kind of impact they are having. This level of understanding and transparency coupled with the ability and freedom to expand my skillset as needed makes me a highly effective team member. It makes us all highly effective.

It is obvious on a day-to-day basis that we are all working towards the same goals, and this establishes a high level of trust between us. I am much more willing to take the time out to share something with another team member because I know that that person is going to use that information to make a valuable contribution. The company is willing to invest in me because they know it is a sound investment, and in turn I am willing to invest more into the company. This makes us capable of achieving what it would take a much larger team to achieve whose members were not aligned with the vision of the company.

3. Constant communication

Communication is key and I have never been in a professional setting where it was as easy to do it as it is here. No red tape. No bureaucracy. Nobody is out of reach. Whether it be a complex question, a product improvement suggestion, a process recommendation, telling a joke or just yapping about something you find interesting everyone is accessible and ready to listen. The exchange of ideas, knowledge and insights is so easy that you can come in with an idea in the morning and be executing by the afternoon, having already vetted it with your team members. We are empowered by the ability to gain the knowledge that we need quickly and to put it to use to solve problems, to innovate and to become more efficient.

I give kudos to my colleagues here for putting together a team of talented individuals who have found common ground in wanting to see their company succeed and in their own continuous development professionally and as individuals. We are lucky in that RJMetrics is allowing us to achieve all of these goals simultaneously. If you think this is something you want to try out, you can learn a little more about us, a little more about our recent funding, why we call Philly our home, or check out our available positions.

Perhaps my experience is unique, I would be interested in hearing others’ experiences whether they be good or bad so feel free to comment away.

2011: What We Learned

Here at RJMetrics, 2011 was full of growth: we went from a few employees to a dozen, and more than tripled our customer base. We moved into our new Center City, Philadelphia office on January 1st, and promptly outgrew the space. We’ve hired developers, analysts and designers, and although we’re far from a big company, we aren’t a couple of guys in an attic anymore either. Over the course of the year, we evolved a handful of traits in response to problems caused by this growth. These are a handful of the lessons we’ve learned:

Email is not an organization tool

E-mail was always our default medium for getting feedback from our customers and product. Customer has a problem? E-mail our support team. Code ran into an unusual exception? Send an automated e-mail to warn the dev team.

This approach has a number of problems. E-mails don’t have an owner so much as a number of contributors – how do we know who is responsible for this support request? How can we see all of the pending requests? Automated e-mails inevitably lead to a filtering problem – once I receive three automated e-mails with the exact same information, I ignore them going forward.

We have been transitioning our e-mail based processes onto more suitable platforms. Zendesk allows us to assign requests to team members, see all outstanding requests at a glance, and maintain a knowledge base of answers to commonly asked questions. Instead of e-mailing the team when our code does something unexpected, we automatically generate high priority Fogbugz tickets for our development team to investigate further.

Anything we can do, our customers can do better

In the early versions of RJMetrics, customers were unable to edit anything beyond the level of charts and dashboards – modifications to the actual data set had to be performed by an RJMetrics analyst. The stated reason for this was that the tools we had to perform these changes were powerful and confusing, a mix that we were afraid might lead customers to make irreversible changes accidentally.

But, as our customer base has matured, we have felt more demand for data warehouse management tools, and as our product development team has matured, we have recognized that the above reasons are really just lame excuses. We can build tools that aren’t confusing, and we can build in protections for reversing accidental changes – and that’s what we’re going to do. In 2011 we began by exposing a Trend editor, restriction set editor, and connection manager into the settings page, and we are planning to continue to continue to build out this tool set in 2012.

Bug tracking != Product Management

Just about a year ago we started using 2 week long sprints to organize development tasks and track progress. As our team and backlog grew, though, there was also a growing disconnect between small implementation tasks and our higher level goals for the product and company. Too often we would prioritize one or two of the most urgent tasks across dozens of projects into the sprint, and then feel disappointed when we didn’t have much tangible forward progress to show at the end.

To address this we created a road map of prioritized projects and categorized every task by project. Now we plan sprints by looking at the highest priority projects, and allocating enough time for each project to hit its predetermined milestones.

We are our own best critics

The most important change we made in 2011 was to introduce processes for giving ourselves feedback. Our code review system now ensures that poor programming practices are squeezed out, and best practices dispersed through our development team.

More generally, every month we conduct mini-review sessions to encourage our team to step back from their day-to-day work and discuss what they think is and isn’t working at RJMetrics on a strategic level. In fact, most of the changes listed above came out of these review sessions. This feedback mechanism will help us evolve and face the new problems that will arise as the team and company continue to grow.

These are a few of the most valuable lessons we learned this year – what did your company learn in 2011? Happy holidays from the RJMetrics team.