My first experience with WordPress came in 2005. I was taking an online theology program and became friends with the director of the course, C. Michael Patton. The course was provided by a popular Christian website, but over time it became necessary to move it to its’ own site because of limitations in the current sites platform. I don’t know what it was at the time, I believe it may have been custom built.
Michael, along with me and several other students of the course searched for the best platforms to build the new site on we played with all the popular ones at the time. We looked at Joomla (Mambo at the time), Drupal, and WordPress. We also chose Moodle for the classroom piece and WordPress for the main site. We built the site and it went over well, the theology program was getting popular and the live chats that we did on Pal Talk were getting a lot of attention. The chat rooms were constantly getting attacked by malicious users who pop in and disrupt the classes, but we also wanted the rooms to stay public as there was a pretty significant Christian presence on there and we were getting many new students.
Michael decided that the best thing to do was to build our own chat platform add all the features that would make teaching and conferencing more efficient. Michael found someone to finance the new system, and I quit my job to work on this full time.
That lead to my first experience with outsourcing work, this was a big project and would require a large team. We ended up hiring an outsourcing company from Noida, India. We got to work building the ultimate conferencing platform.
There were a lot of challenges with the application, many were technical as we had purchased a voice conferencing SDK that could do peer to peer audio and text chat, but it was buggy and would drop users on a regular basis. As many technical issues as we had, we had more with the outsourcing company.
They were very friendly and polite, but there were cultural differences that I didn’t understand at the time, and these became a huge obstacle to ever completing the project. My past experience working for a high end financial consulting company that dealt with super wealthy investors, taught me that quality and deadlines were all that mattered, and if I gave a deadline for something or was given one it had to be met no matter what.
Things didn’t quite work that way in outsourcing, deadlines were treated as guidelines, and things that seemed like common sense such as how a confirmation box would work became additional features.
Basically, things that I took for granted but didn’t provide documentation for were never thought about, no one ever asked about how things like that would work, and the level of frustration built.
After two trips to India to try to get things back on track we finally pulled the project and moved it to the US.
During this same period, it was blatantly obvious that the SDK we were building this on was never going to work as advertised and we would need to write one from scratch. I had an acquaintance from the theology program, a professor at a college in San Francisco who had a small development company there.
Their main developer was a self-proclaimed genius and had done a lot of work in audio compression and had written code for Gibson mixers as well as some networking protocol work so it seemed a perfect fit.
We signed the contract and off we went, or so we thought. After 6 weeks of discussions, emails, and arguing back and forth, the company wanted a percentage of our business to build the conferencing piece. They were claiming that their developer was going to use his custom algorithm to provide the service, but that was not part of the contract so they would need to own a portion of the company.
My guess is that they planned on that from the beginning, but nevertheless, after over $10,000 and a lot of lost time all we received was some documents with the theory behind this magic algorithm and copies of a bunch of downloaded open source communication frameworks.
I can go on about this project, but the main thing is that it ultimately ended in failure, and it still haunts me that we never got this to market.
As difficult and painful as this failure was, I did learn a lot from it, I know that’s cliché but it really is true, and what I learned is the point of this post.
In 2010 I moved to El Salvador for reasons that are beyond this post and would require way too much of your time. I got married here, and my wife and I started a coffee export business. We did pretty well with that until 2012 when the rust leaf virus hit the country and really hurt the quality and quantity of coffee available for export.
I needed to find a way for us to make a living, and I started scouring the internet for jobs that I could do from here. I found a listing on Craig’s List, and landed a job as a project manager for an outsource company based in the US.
Most of the work was in WordPress which I had continued to dabble in by doing sites for friends, and our coffee business, so I was pretty comfortable with the platform. The part that was the challenge of the job was that I was again working with developers’ half way around the world, that didn’t understand the American culture or clients’ perspectives.
My experience with WordPress helped quite a bit because I could jump in and fix things, and finish projects that were incomplete. I built a good reputation with clients many of whom where marketing companies that needed sites built to promote their clients’ businesses.
The owner of the company is a bit of an entrepreneur and in 2013 he decided to build a new business setting appointments for real estate agents in the US. I got the job of building a custom portal for his new venture using a couple of the developers that I had been working with over the last year and a half.
This was a fairly large project as it was tied to several APIs and was on an unrealistic deadline, but we managed to get it done and the business was rolling. Ultimately this didn’t work because it required telemarketers that were working on commission so they were doing anything to get appointments including booking them when they shouldn’t. The real estate agents were mad, the owner of the company was refunding money constantly, and that was the end of it, and the outsourcing company.
I started doing work on my own using the two developers that I had worked with that were very good, and things were going well, but I still had to deal with the time and cultural differences. Waking up to see what progress was made on a project only to hear from the dev that he couldn’t do anything because he had some questions, even though we discussed projects and had the details in our online management system.
In 2014 I decided it was time to hire local developers, I was getting busy and I couldn’t afford to miss deadlines and I needed more control over my projects. Besides, my goal was always to earn a living here, while treating the local people fairly and not taking advantage of them. I wanted to provide opportunities not just make money.
My wife formed the legal company as I cannot own a company here yet, I’ve still got to finish the legalization process.
I hired our first two full time developers in the fall of 2014, one front end for themes and templates, and one back end for plugins and API work. While we had plenty of work we didn’t exactly hit the ground running.
There was still a cultural adjustment period, and neither were really that familiar with WordPress. This meant a lot of long hours for me as they were learning the ins and out of WordPress, and even more importantly, the importance of detail and meeting deadlines.
The work culture here is a lot like that in most of the world, much more laid back then that in the US, so I had to teach my team to understand what mattered and what didn’t to our clients. I had to use the lessons that I learned from my failures in working with outsourcing companies and individuals in the past and use that to build a working environment that is productive for the company but also a place that my workers are happy to come to every day.
There were a lot of challenges that we had to overcome aside from just the cultural differences and approaches. The employment laws here were a surprise that I learned on what appeared to be a little later than a need to know basis.
All employees get 15 days’ paid vacation from year one, and they get 15% of their monthly salary in addition to their regular pay for that time. They also get an annual bonus that is 50% of their monthly salary. And then there is indemnizacion which is basically unemployment, except here the company pays one month’s salary for every year an employee works, you have the option of paying this annually, or all at once if you fire an employee.
These were things I learned after agreeing to pay my developers their asking salaries.
If you’re going to start an outsourcing company in a foreign country, learn their laws first!
Other issues that I learned from my first outsourced project is that other countries have their own holiday schedules. I had Hindus on projects that had some holidays, Muslims that had other holidays, and clients that didn’t care about either. The same thing here, El Salvador’s’ Independence Day is not July 4th, their Labor Day is not the first Monday of Sept. and they have a lot of holidays based on the Catholicism.
These are all issues we work around by managing our time and projects, and a lot of extra work on my part during these holidays. My team works most US holidays, but that would be the best time for them to be off, and when I would like to be off.
We currently have four full-time developers and we keep everyone fairly busy, but I also care about my team and we try to manage our projects so that no one needs to work overtime, or even the half days on Saturdays that they are contracted for. So far I have only needed to have them work on Saturdays twice in the two years since we started here, but they all understand that if deadlines are in danger of not being met we will work Saturdays. That’s a little motivation that seems to be working.
I also realize that I am not going to get a lot of production out of a new developer for a couple months. Most people here don’t know WordPress very well, or the other platforms that we work on, so we train them, give them small things to do and time to learn. They need to learn not only how to do the actual programming, but how to embrace WordPress as an application development platform or framework. In the beginning they all want to work on their favorite MVC framework for everything, but when they really learn the power and clarity of the platform they get hooked and productions shoots up.
I never wait until I have too much work to hire someone new because I know the beginning will be slow.
If I need to scale in a hurry, I still have relationships with my oversees guys and I’ll give them a project to keep moving.
There is a lot to running an outsourcing company from a foreign country, and I have a big advantage having spent most of my life working in the Northeastern US and understanding what clients expect. One of the main things I do is to manage those expectations to create realistic requirements, and realistic deadlines. We meet those deadlines or we work extra, though we have hardly ever needed to do that.
I believe the failure of a lot of outsource projects, companies, and freelancers is the lack of clear expectations in the beginning.
Much like most of the world, the people here put a lot of importance on being agreeable and polite when discussing projects or really anything. That sounds good on the surface but it leads to unmet goals and cranky clients. If you’re working with US clients it’s far better to be honest about deadlines, skillsets, etc. than to just say yes to everything and have it fall apart.
My team has learned that it’s better to tell me the reality than just what I want to hear, if they’re struggling with something they come to me and I guide them, sometimes to one of the other developers, sometimes I do it myself, but the key is that they are comfortable in knowing that none of us knows everything. Salvadorans are very proud people so this is a huge accomplishment.
I know this is a long post and maybe I ramble a bit, but if you’re living in a foreign country and running or considering running an outsource business I hope that some of my experiences will provide a little guidance to help you along. Having been on both sides of the outsourcing world has really helped me to understand what clients want, and how to help my team deliver it.