Tag Archives: recruitment

Google Jobs Indexing API Setup Problem

I’ve recently worked with Laura to set up three recruitment sites to automatically notify Google Jobs of new and changed vacancies showing on the sites.

The documentation is relatively good, but when setting up the second I made a mistake that I don’t think is easy to spot, so I’m writing it up here in case it helps someone else, or indeed myself in the future.

The problem was: we had everything set up – new set of keys and JSON for the site from the Indexing API dashboard for the site, had added the special email address you have to set up to Google Search Console, copied the reusable code from the first project, which was working fine and… it wouldn’t work. Sending URLs in through the Indexing API got the error:

response-4829
Google_Service_Exception
Permission denied. Failed to verify the URL ownership.
reason: forbidden

Now, neither of us are daft, we could see there was a permissions problem, but couldn’t track down where it was. After much re-tracing of steps and faff, I compared everything about the existing, working project and the second one we were setting up. In Google Search Console (AKA Webmaster Tools), you have to add a special email address from the Indexing API dashboard. I’d done this incorrectly.

I had set up the Indexing API user for the site via the “New user” button in Google Search Console, then given it Full permissions. This was wrong. I should have used the “Manage property owners” link and the “Add new owner” button.

Google Search Console manage property owners link

I deleted the user I’d added with the “New user” button, added one with the “Manage property owners” link and ended up with a list like this:

List of owners in a site in Google Search Console

The Indexing API then started to work, no problem at all.

The first time I’d set up a project with the Indexing API I’d followed the instructions very closely and had got this step right, the second time I’d got ahead of myself and thought I remembered all the steps, and this bit within Search Console caught me out.

I can understand why Search Console has two different categories of user, allowing multiple owners gives a layer of management in an account which lets anyone shift in and out of ownership. But, it’d be nice if the interface was more clear for a case like this, or that they had a category for API users – maybe this will come in the future as Search Console is developed further.

So, if you’re getting a permission error when using the Indexing API, check how you have the API user set up within Search Console, it could be where your problem lies.

Interview with Trevor Barnes of SaaS business ApplicantExtra

I am currently building a Software as a Service (SaaS) product, Earburner, and have been looking for other people nearby doing the same thing for some support and help. While coworking in Worthing, I met Trevor Barnes, who has built up his SaaS recruitment software ApplicantExtra over the last five years. I quizzed him about so much we decided to turn it in to an interview:


Paul: What does your software do?

Trevor: ApplicantExtra is SaaS (Software as a Service) recruitment system for small to medium recruitment agencies. It helps recruiters manage their candidates, contacts and vacancies as well as integrate with various third party tools and services. It has MS Outlook calendar and inbox integration as well as C.V./resume parsing, jobsite integration and much more.


Can you explain what a ‘Software as a Service’ is for anyone who hasn’t come across the term?

SaaS is software in the cloud (or on the internet) that you subscribe to rather than own. You use it through your internet browser rather than through a dedicated program and pay a low monthly fee to access your data from any device in any place that has internet access.


Why a software as a service instead of installable software?

Because it has most if not all of the functionality of regular software with the advantage of low upfront costs, included upgrades and fixes, regular off-site backups, universal secure access from anywhere and low PC spec requirements. Also, distribution and maintenance was simpler and lastly I was really excited by the web and its potential.


What did you do before you built ApplicantExtra?

I was a web developer working mainly with PHP and MySQL and I had just come out of a long term e-commerce project for a poster retailer. Prior to that I had worked for one of the UK’s largest client-server recruitment software companies as a system customizer (basically moving and re-labelling fields around a screen and writing simple functions) and later as a data converter for new clients.


How did you handle the transition from being a developer to running a SaaS business?

It was a large step because apart from learning another programming language (a long story), I was learning the ins and outs of the recruitment industry from the sales side. I have had to bury my geek side and square up to the challenge of demonstrating the software to clients online and sometimes face to face.


Have you been running ApplicantExtra long?

We have clients that have been using ApplicantExtra in one form or another since early 2003.


What technology stack sits behind the scenes?

ApplicantExtra is developed in Java and served by Apache Tomcat. It accesses a MySQL database server. We also use IIS to serve a third party C.V./resume parser and some third party PHP based software as well. If a customer uses MS Outlook for their email, contacts or calendar, we can sync the system with that as well. We hook into many social media and job-site APIs too, so ApplicantExtra is very much a mashup of many services and technologies.


With so many technologies all ready in the stack, why did you chose to integrate with Outlook?

After some approaches from potential and existing clients we soon realised that integration with Outlook would really make a difference for clients and give us a good USP against our other SaaS competitors. So we started hunting around for the best way to do it.


So it was worth the extra hassle as it would please your customers and potentially bring more onboard. Without giving away your advantage, how are you handling the integration with Outlook?

We found a great Java based browser wrapper that gave us much more control of what we could do with the browser and allowed us to override many of the restrictions that were designed to protect users from unknown websites but hindered trusted web applications like ours. We also found a Java Outlook connector that gave us connectivity with the mail, calendar and contact sections of Outlook. With considerable work and experimentation this gave us an installable version of ApplicantExtra that integrates closely with Outlook so that users can easily import mail against records and upload attached documents to candidate and contact document areas. We also added the ability for users to edit attached Word and Excel documents without having to re-upload the changed document.


Does your software work on the Mac too?

I noticed something about Macs, 99% of users will have PCs but you can bet your life that the one key decision maker in a firm will be an ardent Mac evangelist and its him/her you need to convince.

The core browser based web application does work on Mac but Mac Outlook does not allow integration so that aspect does not. However work has begun adapting a popular open source webmail application that should allow us to offer a mail application within the system for checking and importing email and attachments without a mail client being needed.


Have you had any major re-writes since starting out?

Since I have retired my coding skills my team have taken great delight in rewriting my code so it is a very different animal from when it started. I suppose a big lesson learned has been to be honest about your strengths and your weaknesses and hire in the help you need if you can afford to. I was probably a good website developer but for big complex 3 tier applications like ApplicantExtra it needed some bigger brains, especially when we started playing with client side Java and plugins.


How many staff do you have?

I have three developers permanently and various subsidiary contractors and service providers that I use for various tasks.


Do you run an office with everyone in, or are your team distributed?

I made a decision a long time ago that Candid Software would not get too big, I wanted a business that I could personally manage and have a hand in every aspect. So I run it from a dedicated office in a converted out building in my garden. I manage my team remotely and we meet online daily via Skype and instant messaging. The system bugs and features are managed through Bugzilla. This approach keeps my costs to an absolute minimum, gives me far more flexibility than most of my competition and means my commute is down to a few seconds.


How have you found having a distributed workforce, does it create any particular management issues?

Yes, this has been very challenging. It took a considerable amount of time to find the right people and imposing (or should I say negotiating) the correct controls to ensure delivery and quality. My advice would be to adopt this rule until you really get to know the developers you are dealing with: “Assume Nothing.”

Every feature spec. you write, every bug you log has to be recorded in exhaustive detail without assuming any prior knowledge, in simple standard English without any local slang etc. Especially if they are overseas contractors with English as a second language. For particularly complex features I will provide a flow diagram. It is time consuming but saves a lot of time if it prevents them going off in totally the wrong direction. I am still learning the best approaches on this and the main weakness in the process is me but I am getting better.


Do you upgrade the service as major updates, or are you constantly adjusting features?

We do both, fixes are sometimes rolled out hot as and when they become available but we do roll out major features in out of hours updates.


Do you test different behaviour within the service automatically with a test like A/B testing, or are you reacting to customer feedback?

Nearly all of our features are customer requested. We look at the request, decide if its generic enough to benefit the majority of our customers and benign enough not to hinder the rest and if it passes that test then we implement it. If not we negotiate changes so that it does meet our criteria. ApplicantExtra is growing all of the time at a pace and direction dictated by our customers and sometime potential customers.


Do you have any new features you’re working on at the moment?

We have a list as long as your arm but in the immediate pipeline at the moment are automatic event based scheduled reminders, result set column customisation, a new mobile version of ApplicantExtra and LinkedIn integration.


Back to how you started, how did you decide on recruitment agencies as a target market?

I had a little knowledge of the recruitment software industry from one of my previous jobs working for a leading recruitment software company and while working there I got heavily into websites. I remember asking some company managers if they considered moving their client-server system over to a web version but at the time they really didn’t get it. It would take them another 7 years to start sorting it out as they had all the big companies locked into long contracts on heavily customised software. So it was something that had been in the back of my mind when the opportunity arose.


I’ve worked in and around quite a few recruitment companies. As a company, their strongest asset is usually their candidate database and they have a lot of data in their systems. How do they get it in to your service?

We usually ask for an export from the clients old system (which generally comes in comma separated value files) and then we map the columns to our own table fields. I used to do this for a previous employer so got pretty good, they used to call me the “Data Doctor!”

We can nearly always recover the main candidate/client and contact records and maintain their links to attached documents and import them too. We sometimes have to refer back to the old system to figure out what belongs where but so far we have a very good success rate without imposing any work on the clients.


Have you come across any recruitment software that tries to lock in customers by making it impossible to export their data?

Yes, I am often surprised how difficult it is to get the clients data out of some providers, especially SaaS ones.

Data ownership and contract lock ins are a very hot issue in our industry and many charge for the “service” of exporting their data even though it belongs to the client. We find it easier to be as transparent as possible and offer a rolling monthly agreement with no lock in and no charge for the return of clients data. This has garnered trust and peace of mind for my existing customers and is a helpful deciding factor for potential clients. As long as you put the clients first very few have asked to leave.


How have you got most of your customers?

Word of mouth. Recruiters are very vocal about what they like and don’t like so do tend to give good recommendations. The flip side is we also hear about a lot of systems they don’t like so the number one effort is to keep them happy.


Are you doing any marketing at the moment?

We are making a concerted effort to improve our websites SEO at the moment which we have been rather neglectful of in the past. The advertising opportunities in the industry have increased so much that it is very difficult to focus your spend in the right place but we have had success with LinkedIn and we are looking at some online support forum banner slots.


How do you keep in touch with your customers?

All of our customers either email me or call. There are plans to setup some kind of customer portal but recruiters prefer to keep it simple.


I think being responsive to the phone and email is probably easiest as most of the recruiters I’ve known are not particularly technical. They tend to be very phone focussed, do you spend a lot of time on the phone with your customers?

You would expect that but not really, the product is mature and the issues are quite low so most activity is on email.


What’s been the hardest part of running your business?

The admin, I hate anything to do with accounts but that’s just part of the job.


I don’t know anyone who enjoys the red tape side of business! Is there anything you’d do differently if you were starting up today?

There are plenty of decisions and warning signs that in hindsight could easily have been done better or avoided but I would be in a totally different place and doing a totally different job so it’s best not to dwell on them. From years of hard work, anxiety and bloody mindedness we have a product and a business that I am very proud of and we did that by listening to the customers and bending over backwards to please them.


What are your goals for the future?

Everything is a balance of resources and time but we are working hard towards improving our mobile offering and making a tablet sister version of it. Improving Mac compatibility and features as well as continuing to listen to our customers requests and ideas. Personally I need to improve in certain areas like marketing and project management but there’s always something you can be better at, that’s part of the fun of running your own business.
 

I’d like to thank Trevor for all the time he’s spent answering my questions. It’s been great hearing from someone who’s built up a SaaS business and is making is a success. I’ve found it difficult to relate to some of the people running SaaS products such as Bingo Card Creator (from Patrick McKenzie) and Freckle (from Amy Hoy and Thomas Fuchs) much as they seem nice, they also seem very remote from my experiences. Meeting someone from my area who is making it work and who has been happy to talk about the good and bad parts, has been fantastic and a real help in convincing me to keep working on my product.

Thank you Trevor, and if you know any recruiters looking for good software please point them his way.