When it was first proposed that I would come to Costa Rica and start up a new office, there were a lot of questions about how all this would be done. Starting a new office means running without the infrastructure that you’re used to, without any of the existing foundations that you need, with a whack of unknowns that get in your way, and without the hands-on help you’d normally get.
In other words, it’s all one big massive challenge. In the big picture, challenge is good. It’s when challenge bleeds strongly into the details that things go from being interesting to difficult to … well, to past being frustrating to the point where you really want to do nothing more than scream at the top of your lungs for a while.
Anyhoo, all of this leads me to evolution. Namely, the evolution of my job.
First of all, let me explain where I’m coming from. Literally. The title back in Canada (which is the same as here) was Technology Director. It’s a fancy term that a number of us struggled with for a while because it wasn’t really clear on what a Technology Director should do. Some of us were still programming as if we were merely senior developers on the team, and some of us were more like Army Generals, sending troops into battle.
It wasn’t until I’d had a performance evaluation (a couple of years ago) with Dan Evans that I’d really begun to get a good insight into the job. We’d talked about some troubles I’d had with trying to manage things when we’d had this conversation:
Dan: What’s your title?
Me: Technology Director.
Dan: Right. The key word there being “director”. So… direct.
Sometimes, you need a little slap to the head to help you figure things out. It was a great slap, as it turned out, since after that things went much more easily.
Well, at least until I got to Costa Rica. Spending two years directing a team of 15 and suddenly find you’re the only one … well, that takes a bit of getting used to. Since arriving, I’ve had to take on a variety of roles to help this little office grow. Some of them I haven’t done in a while. Some of them I’ve done poorly. Some of them didn’t get enough attention. All of them keep me really busy.
Allow me to elaborate…
This is my regular role. Basically, make sure the Technology group hums along. This includes (but is not limited to) team management (looking at morale, individuals’ performance), use of technology, discussion with the Operations group regarding use of specific people, and discussions with clients. It’s also delivering technical vision, which requires you to have a lot of trust in your team to know what they’re doing so you can point towards the new (and sometimes dangerous) frontiers.
This is what I did for 2.5 years on the Rolex team back in Canada. I learned a lot there, and by the end it was really hard for me to leave — it’s a solid team (I still miss working with them), and it was always great delivering the experience.
I did this as Technology Director, but was usually something I handed off to the Managers in the team — guys who were technically superior to me in development (I hadn’t released a line of code in over three years before coming down here) and could translate the overall vision into specific architectures and designs.
Here, this is now my job. I have to slap together the big pieces and provide the team with the framework they’ll run within to deliver the project. Some of these guys have never worked in this way before, so it’s a challenge to ensure that there is something flexible enough to provide leeway, but rigid enough to ensure adherence to standards and consistency across people. And speed — if you can’t develop within the architecture quickly, it’s a failure.
I never really did this job specifically, but years ago I was a Tech Support rep at computer stores and within Digital Equipment of Canada. I never really hated the job, but I never really loved it, either. (But I was very good at it.) At first, when it was just a few of us, and without the insane pressures of project work, it was easier to focus on things like infrastructure. But even with the support of the Calgary Tech team, I still found it challenging to deliver the right pieces.
As it currently stands, I provide support for almost everything here. That includes our sometimes-sketchy internet (though it’s been stable as of late), the server hardware that we’ve had to buy (that I’ve never worked with before), setting up a server room (also a new experience), planning the network (ditto), and working towards things like security (never done).
Now add to that the joys of trying to order hardware and software from vendors who neither speak decent (or sometimes any) English and operate in a totally different manner to what you are used to (as Javier reminds me constantly, customer service in Costa Rica is very different from what I was used to in Canada), and I’m surprised I have any hair left on my head. It doesn’t help when the computers I order with English Windows XP arrive as Spanish Windows Vista, and I can’t figure out why they won’t connect to our network.
I’m trying to find a replacement for this right now — I need a systems administrator here — but I don’t know how fast we can get one.
Anyone who works in the technical field does this for a living — you have to read to stay on top of things. But instead of this being something you can easily squeeze into your daily activities, this is literally a “to do” item on my list. If I don’t do this, I miss out on a lot. I’ve trimmed my RSS list, I only check news sites a couple times a day, and I only periodically glance at Twitter to see what memes are cropping up. This is something that worries me, for without the research I can’t expect to have a good idea of what the guys back north might come up with next.
Offshore Services Vendor
This is the role that I am truly here for. Our Costa Rica office is about selling services (not unlike the Canada, US, and UK offices, by the way). It’s the way we’re set up down here (a near-pure production model) that makes things different. This is what I’m trying to learn now — how best to work with other companies. I’ve been on the other end, having to work with an offshore to deliver my needs. Now the shoe is on the other foot and I’m the one providing solutions back to someone else. This is something I’m going to be writing more about. It ain’t easy.
Developer / Programmer
Like I said, I haven’t done a lot of this in recent years. I became a manager. I organised, I documented, I architected, I directed, I dealt with vendors, I dealt with clients. I did everything but actually program. I know all the principles, but my skills have gone rusty. (My friend Jim once was presented some code I’d written, without knowing it was me, and had commented: “Who wrote this shit?”)
Since arriving, I’ve had to pick this back up again. So far, it’s been more backend and higher-level architecture than working through all the templates and CSS, but it’s still something I have to do. It’s a re-learning for me, and a very humbling one, too. Fortunately, I’ve got good friends (including Jim) who don’t give me too rough a time when I have to ask for help on tougher stuff.
Also part of being a Director — you’re a mentor. You impart the wisdom you’ve gained over many years onto others, in the hopes that you don’t remain a single point of failure, and allow others to take on responsibility and knowledge, thus creating more teachers.
For the last year and a half, it’s been all managerial education. The guys I talked to were senior, and couldn’t learn anything from me in terms of programming. All I could do was guide them in being better managers. To large degree, I’d like to think I was successful.
Down here, it’s a little different. Now I’m teaching code again. (Yes, despite what I wrote above.) Some of these things are tricks of the trade, but some are standards that we’ve laid down at Critical Mass over the years. Stuff that my developers need to know so that when they turn code over to someone else, it’s compliant and easy to integrate.
And it should be pointed out that I’m still teaching others back in Canada, too. I have far too much knowledge crammed into this poor excuse of a brain, and others have to come knocking for it. (This ain’t a complaint, just a fact.)
Scheduler / Technical Project Manager
In my past, all this was done by Project Managers with my input — I didn’t have to do much. Now it’s all on my plate. It’s nothing I’m not familiar with, it’s just the extra work I have to do. And if nothing else it’s teaching me to be more like a PM, which is something I’d always harboured an interest in. It also helps me organise myself such that we can ensure things are done on time and on budget — always a key factor when you’re working at an agency.
Estoy en Costa Rica, y muchos de las personas qui se contratan hablar español. Ergo, yo necesito a hablar español tambien. En este momente, mi español no es bien, pero estoy apprendiendo. (Tengo una lecciÃ³n de español esta noche.) ConfÃƒ o en Google Translate a ayudarme con mi sustantivos y verbos, y lo necesito menos a mi enteder mÃ¡s. Escribo meyor que hablo, y hablo mucho meyor que oigo.
I still gotta find people, and this is also part of my job. Which is something I’ve done for years anyway. Just that it’s tougher here, usually due to the language barrier. I hear only every third or fourth word in interviews (well, the non-technical words) so I have to rely on Marcela a lot to help translate. Eventually, I want to include some of my more senior team members to help me in interviews. I think it’ll also help getting more people ready to conduct them, too.
This seems to have ended up more of a complaint or rant than it was an evolution of my job. I suppose all the frustration is biasing my writing. There’s a lot of it there. It’s not been an easy ride thus far. I never had any allusions that it would have been an easy ride — don’t get me wrong — but even with the expectation of difficulty, reality often finds a way of being even harsher than you thought.
Still, I’m glad I’m here. It’s a good job, even if it is a tough one. I’m learning a lot (if I wasn’t, I’d really hate it) and in the end it’ll be a good thing for me.