#saving time and moeny

Earlier this week, I was catching up with a buddy of mine and we started talking about some of the custom workflow tools we’d built for his sales team. From an engineering perspective, these tools are fairly straightforward – things like scrapers, browser extensions, and simple crawlers. What was interesting, was listening to how much of an impact simple tools like this were having on my friend’s sales team. From decreasing “grunt work” to helping them surface high quality leads, it started to become clear that the tools were generating high business value relative to their development costs. As we were chatting, I started to synthesize what seemed like the three key reasons the sales guys loved the tools.

Cut down on “grunt work”

Most people hate grunt work, but salespeople have a special disdain for it. They would much rather be on the phone selling rather than scraping data off a website, entering it in Excel, and then seeing if some formula decided they had a worthwhile prospect. Apart from being a waste of time, repetitive menial work kills morale and artificially limits sales bandwidth. By building tools to automate these processes, we had unknowingly helped keep the team motivated while also letting them do more selling and less bitch work.

Help reduce information asymmetry

As a naivete observer, my impression is that in many instances high volume sales people enter the sales process with imperfect or incomplete information. Often times, the information they don’t readily have is public but they lack tools to make the data easily available. From straightforward examples like knowing an employee headcount to more technical ones like knowing what hosting provider a prospect uses, these data points can often help shape the pitch to ultimately win the sale. After chatting with my friend, custom tools effectively fill this space since they’d offer unique insights compared to off the shelf solutions.

Nurture experimentation

Stagnation is a common problem across every job function. Once processes are set, it becomes the same daily grind and its difficult to justify any need for change. However, in my experience introducing new tools gives the organization the impetus to try out new things and hopefully pushes the envelop forward. There is clear precedent for this in software development and I’d argue the same holds true for both sales and marketing. Given new tools and room to explore, motivated people will buck the norm and try something new.

At a high level, I think developing custom tools for any job function is a worthwhile investment and it sounds like some of our sales tools have had a measurable impact which is awesome. I’m now off down the Quora rabbit hole in search of additional insights and anecdotes….

Posted In: Tips n' Tricks

Tags: , ,

The new Symfony forms are great improvement over the old forms and once you get over the learning curve you can’t imagine life without them. The only problem with them is that they don’t really offer client-side validation (yes, being agnostic when it comes to Javascript libraries is maybe good but come on). There is fortunately a plugin that does client-side validation but it is Prototype-based, and looks a bit clunky.

For those of us using jQuery there was nothing, so we decided to write our own small helper that integrates this jQuery validator with the new forms. It’s nothing fancy, but it does the trick for now, and we may expand it into a full-fledged plugin that does all sorts of crazy things.

Using the helper:

  1. Download and install the jQuery validation plugin.
  2. Download the helper and put it in lib/helper/jQueryValHelper.php
  3. Include the jQueryVal helper.
  4. To enable the helper for a specific form:
    <?php echo jquery_val_form_tag($form, array(‘action’ => url_for(“@register) ))?>

That’s it.

The validator currently supports email, min and max length validation. The only required option is action, the other options you can pass it are:

  1. error_placement: Change where the errors are rendered, for example:
    'error_placement' => 'error.prependTo(element.parent().next())'
  2. error_element: Change the element used to render the errors, default is label.

All other options you pass are added to the form as attributes.

Posted In: jQuery, Symfony

Tags: , , ,

Today I want to take the chance to stress the importance of having someone onboard that knows some technology. Through our experience we’ve often had clients who were mislead or taken advantage of by other technology firms. Whether it is being given poor advice or being overcharged for simple tasks, we’ve seen it quite a bit. In many of these situations a person with some technological knowledge would have saved them money and time.

What can a person with technical knowledge do?

  • Know what questions to ask – “Do you provide documentation for your code? Do you use a framework? Is your code MVC compliant? etc.”
  • Know when you are being taken advantage of – We’ve seen in the past many clients purchased servers and functionality they just don’t need. A technical person can make sure that you aren’t purchasing five servers when one will do, that you aren’t overpaying for simple hosting, etc.
  • To help choose your development firm. It is very difficult to tell whether a firms code is good. If you do not have knowledge in the area, good code and bad code appear to be the same. Choosing the development firm for your project can make or break the project. If the firm chosen produces messy, inefficient code, it dooms your product before it is even launched.
  • To monitor code quality. Once you’ve picked your development firm, it is important to check in now and then to make sure the quality of the code is of the caliber you are paying for. It is crucial to catch poor code in the beginning, to make sure the firm doesn’t continue to use the same coding style.

What if you don’t want to have a technical person on staff full time? Hire a consulting firm. Many firms provide assistance with choosing your development team and to monitor most of the technical aspects of the product. We offer these services.

Moral: Having technical knowledge onboard prevents your company from being taken advantage of and will often pay for itself in saved time and a quality delivered product.

Posted In: Tips n' Tricks

Tags: , ,