To recruiters, from a web developer

So this week I thought I would do a quick article, a bit of an open letter to recruiters, really. Throughout my career, especially when I was contracting, I have had a really rocky relationship with recruiters.

I have to say some agencies have been an absolute pleasure to deal with, others have been down right rude and their behaviour has bordered on harassment. With this in mind, there are a few tips, from my perspective for agencies.

To my favourite agents, and the true professionals, this will be teaching you to suck eggs. To some this may just be of interest, to others it may be a bit of a learning curve. Some may just be procrastinating and killing time.

  1. You don’t need to be a developer or even a techie, but it does make a difference when I can tell you understand the requirements of your client and how they match my CV
  2. Take your time to understand me, too. I get that I’m not your client. However, if you offer me roles that are of no interest consistently, I just junk your emails. I’m sure I’m not the only person out there who gets bombarded by agents regularly. As such, those who target their emails well, and those who I have had personal communication with (especially those who have placed me) will always get read and always get a reply. Some get read, most get binned.
  3. Be polite to me, and whoever answers my phone. In busy times, when I’ve been interviewing, I’ve had my calls forwarded to my fiance who I trust wholeheartedly, knows my skills and is allowed to schedule for me, and effectively field calls so I don’t miss them altogether. When I was contracting she was also my account manager and handled invoicing and scheduling and such. Being rude to her just means I won’t return your call.
  4. Here’s a big one for me. I categorically, will not, ever, even consider looking at a role which fails to state the key details of a role. Location, skills, job role (junior, mid level, senior, lead, manager) and salary/rate (as appropriate). Why would I?
  5. Furthermore; “competitive” isn’t a salary. Competitive to me is in excess of £40k, I know people who are on £70k (who would find £90k competitive) and people who are on £16k (who would find £25k competitive) – all doing jobs with the same title. You telling me it’s “competitive” compels me to believe it’s actually not, because the best roles generally advertise their rates, because the highest rates attract the best candidates.
  6. Don’t assume that I can talk to you on the phone right now, or even in the next working day or so. Be adaptive, some days phone calls are best, they’re fast moving days. Other days I need to be on email and not on the phone. I imagine most web developers are the same; be open to communication on different levels via different channels.
  7. The easier it is for me to work with you, the more I’ll want to work with you, the higher your chance of placing me
  8. One final one. I’m not the most sought after professional in the world, but I’m sought after enough that it has never taken me more than about 2 working weeks to find a permanent role. With that in mind, please don’t be upset or offended if I have nothing tangible from you, so move onto the next offer, it’s just business.

I know which agencies I like (Emma Larrington, Luke Gardiner, and Elliot Smith at The One Group, and James Leech at Opus, amongst others) – so they’re the ones I always respond to with priority. The guys at the One Group have sent me for 3 interviews and placed me 3 times, in roles which were perfect fits on everything I was looking for.

I’m not the end client, but I am the product you may be trying to sell. Based on my success rate, and the fact they understand me, who do you think I call first when I’m looking for a new opportunity? Now I, as an individual, am not that important. But if every candidate is treated in this way, who do you think has the best talent pool?

One final footnote. Agencies are an integral and important part of the process, especially if you intend on aggressive career climbing or contracting. However, the relationship must, must, must be based on mutual understanding and respect. You have to trust I am exactly who I say I am, and I have the skills I say I have. I have to trust you’re going to work with my best interests in heart.

Know me, know my skills, situation, and what influences my decision. Make me happy and I’ll come back to you every time.

To my favourite agents; thank you for making career climbing obtainable and as enjoyable as the recruitment process can be, something which is stressful by its very definition. Keep up the good work!

Keep your eyes on the prize, money matters

In this article I am going to share with you some of my thoughts about the business aspect of web development, and how that needs to apply to our principles as web developers (or indeed contributors to any project).

As programmers, developers, coders, whatever you want to call us, we solve many problems. In essence our entire job is to help businesses solve problems, we do it with technology in the same way that accountants do it with financial matters. When there are no problems left to solve we try to make things better.

I believe that good web developers know a range of technologies and how to apply them, this may be in the form of technologies or languages, it may be in the form of methodologies or frameworks, or content management systems. I can’t make an educated decision on the nutritional value of a Wispa Duo (my favourite chocolate bar!) and an apple, if I didn’t know the apple existed, or that the Wispa is bad for my waistline. For the record I concede that I am festively plump in February, and that’s fine.

Now, in order to normalise the many ways of skinning a cat, and to create maintainable software – remembering that money is everything – we, developers, have created a bunch of rules. Things like the SOLID principles, MVC architecture, the separation between logic and display, and everything like that. Hell, WordPress is widely adopted because it solved a common problem with easy (blogs and brochure sites), without having to hire a web developer every time.

So we have all the rules and, unless we have a decent reason not to, we should follow them. Absolutely, without a doubt, not questioning it for a minute. Well, maybe a little bit. You need to know the rules exist, and how to apply them, and I’m a strong advocate of all of them in almost all scenarios.

But the reason I’m an advocate of all of these things has nothing to do with whether I like them or not. They do help us build better software, undoubtedly. However, that’s not the point. The point is fast to build, easy to maintain, quality software is good value for money.

The reason I’m an advocate of SOLID, of MVC, of the various issues of PSR and all of those things, is because it makes my life easier, but the more important side effect of this is that it means I can build and maintain software quickly, with high quality, and high maintainability. It means when the business wants to see my output, or modify a requirement, or change something I can do it. It makes me an asset to a business, rather than a burden, a “no” man or a “that’s going to take some time, boss” guy.

This is why I’m an advocate of rapid application development frameworks. Because they allow the rapid development of high quality software. Time is money, so as far as our value to a business goes it’s about producing high quality stuff and doing it quickly. The same goes when we have to maintain it, which is why the rules are good.

This in mind, I don’t mind bending the rules when there’s a decent case for doing it. If the code is clear in it’s function, it is easy to work with and easy to find. I don’t see the issue.

I could be wrong, but I’m yet to meet a Managing Director, Chief Executive Officer or an Accounting Director who cares about PSR-2, PSR-4, MVC, OOP, SOLID or any of the cool stuff we insist we must know. And that’s absolutely fine! It’s not in their remit to know about those things, they’re our job.

It’s our job, and our responsibility, to deliver quality and efficiency. Once we are a few years into our careers we are expensive resources, with decent salaries, expensive equipment and software, usually a fairly high turnaround (most developers move on within 6 – 24 months). So it’s important we hit the ground running, and prove our worth.

I like making my clients and employers happy, with my ability to turn quality products out in record time. It makes my job far safer than ivory towers in legacy code. I don’t mind bending or even breaking the odd rule to achieve this, if another developer can work on, and modify/extend, the software with ease, then I’m happy. The rules are only there to make our life easier, if I’m not making life harder than I personally think any argument against it is moot.

If I’m showing a fast return on investment to the business, and there’s no question whether I’m providing value for money without cutting the quality of my work, then there’s no question as to whether I should be doing it.

Remember guys; we want to build awesome software that changes the world. We want to build quality software that’s easy to maintain and upgrade; but I’m hired by businesses. If I’m not making the business money, or showing a valuable contribution in decent timeframes, I’m not likely to be around much longer. Eventually I’ll be replaced, or the role itself dissolved and the work outsourced to someone who is doing the above.

Time is money, and money is time. Quality is important, but time is equally important. You have to be able to justify the resource poured into you, and you have to justify it by proving your worth and having tangible output

The first post

This feels a bit ominous now. I decided to start a blog. To document the the cool stuff I am working on, to share some knowledge and some tutorials and to discuss some of the different ways which development is approached.

Realistically this is likely to be a bit of a sporadic thing about some of the technologies that I am really keen on, as well as documenting the expansion of my knowledge as I learn new things. Because a successful programmer, developer or generally anyone in the technical industry is someone who can, and will, learn and adapt as the industry changes. I am sure this is the case in most fields.

This is likely to be more about building things from a server side (I really don’t like the terms “front end” and “back end” because the muggles laugh at us as a result!), though I will cover client side technologies, because I’ve always been interested in them and am keen to add them to my digital toolkit, as it were.

Just for reference at the minute I really like Laravel, so I will be documenting some stuff to do with that. I’m also keen on WordPress when used correctly and not destroyed with random themes and plugins downloaded from y0urfr33l33th4ck5.com – I’m not sure if that website exists, if it does, I’m sorry! And also why would you purchase that domain?!

I have a bit of an odd sense of humour. You might like it, you might not, who knows?