PHP is the world’s #1 programming language for creating websites. But it’s capable of so much more. How about real-time processing the social firehose? 🙂

More Than Websites: PHP And The Firehose @DataSift (2013) from Stuart Herbert

Thanks to Brighton PHP for hosting this talk last month.

Be the first to leave a comment »

Taken at the Google Campus in London last night:

Right now, everyone is hiring. It’s nuts. In 18 years of being a professional software engineer, I’ve never known a time like it. We’ve gone from a society where it was considered a bit odd to be interested in computers, to a world where software engineering skills are the single-most in demand skill today.

This is what you’re competing against – and this is before Facebook and Microsoft open up their new London offices. So the question is … if you’re someone trying to hire developers for your firm, what are you going to do in the face of this competition?

6 comments »

Aim Higher!

Posted by Stuart Herbert on July 26th, 2012 in Opinion, PHP In Business.

At the start of the month, I was on a panel at Unified Diff (which, if you’re in the South Wales area, is well worth your time going to every month), and the last question we had is well worth expanding into a blog post. We were asked what each of us would do with a failing developer, and everyone was taken aback by my unequivocal answer: I’d fire them. After some back and forth between us (which carried on over a pint afterwards), my fellow panelists concluded that I seemed to be able to afford higher standards than they could in their organisations.

And that comment really struck a chord with me.

Fire Failing Developers

So why would I fire the failing developer? By keeping that person on you’re damaging the morale of the rest of the team, and you could end up losing good people and being stuck with the one you should have fired in the first place. (Guess who learned this one the hard way!) You’re also wasting your firm’s money on the person, you’re probably damaging your product, and if the person has any direct contact with your customers, you’re probably damaging your firm’s reputation there too.

Can you turn a failing developer into a star developer? Perhaps, and you should definitely try to do so. In fact, that’s part of your job – to spend every single day trying to turn every developer you manage into a star in their own right. Never wait for someone to start to fail. If you’re doing your job right, then when someone reaches the point where they’ve become a failing developer, you’ve already done all you can about it.

I’ve had to do it a few times over the years, and it feels bloody horrible every time. It’s not a nice thing to have to do, whether it’s an employee or a supplier. I always want to see the best in someone, and I always want them to have the success they deserve. But it’s part of the job, and you do no-one any favours by not facing up to it if it has to be done.

Why Do You Aim So Low?

What about higher standards? How come I seem to be able to afford them when others feel they cannot?

When I was a kid, I sat a lot of exams throughout my school years, but I was never remotely interested in how well I’d done versus everyone else. What I cared about was measuring myself against what was possible. How high could I consistently score? What was the next level up of test that I could sit? What could I learn from other sources? How could I apply it, play with it, really get inside it to start to actually understand it a bit? Where did the hard work need to be put it to take it further still? How could I have fun with it?

I’ve applied this approach to everything I do, whether it’s software engineering, writing, speaking, music, photography, or my martial arts. And I have found it to be liberating. My constraints are my slow-witted mind, my somewhat broken body, and the march of time … and I am in competition not with you, and not with failure, but only myself.

In a world of frankly very low standards, if all you do is measure yourself against the people around you, then it really doesn’t take much to seem like you’re doing pretty well. There are a lot of advantages to being ahead, it’s true, and evolution does favour the lazy … but you’ll never amount to anything much, and you’ll never achieve anything worth a damn if you don’t lift your gaze, look out to the stars, and see what can really be done.

This world is full of people with amazing potential, who never realise that potential. They’re just a waste of space. You can be better tomorrow than you are today. Aim high. You can do it. Everyone can do it. You just have to choose.

We don’t have a lot of time to achieve things in life, and as you get older, you become more and more aware of just how quickly the days are passing. Every day you spend just trying to get through the day … you can’t get that day back. It’s gone forever. And you never know when fate is going to cut your days suddenly short. Make the most of them. Achieve something worth while, and aim high when you do.

7 comments »

We’re Hiring

Posted by Stuart Herbert on July 19th, 2010 in PHP In Business.

I’m looking for a PHP developer to fill a permanent web team lead developer & team leader role, based in Bath in the UK. The role is with Gradwell, a multi-award winning provider of business internet services (we’re also one of the top 50 fastest growing UK tech companies according to Deloitte), reporting directly to me in the Engineering department. We have some exciting projects (including a public-facing API) to deliver and the usual challenges of morphing legacy code to solve.

If you’re interested, drop me a line at the office (stuart.herbert at gradwell dot com) to get more details and explain why you’d be worth an interview 🙂

No agencies, thanks.

Be the first to leave a comment »

By now, you might have heard the details of HipHop, Facebook’s PHP-to-C++ convertor that was announced yesterday. Like most of you, I’m eagerly awaiting the release of the code so that I can play with it and learn in detail what it can do and what it can’t. For now, Marco’s post seems to have the most technical information in it so far.

I’m with Sebastian on this one. Whether or not you think Facebook’s HipHop is relevant to you, I think they deserve credit for having shared their particular solution with the wider community. (They’ll get extra credit when they actually release some code 🙂 ) After all, they’ve built on top of open-source in the first place; giving something back to the community is part and parcel of being a good member of the community.

How many of you earn your living from open-source, but have never contributed anything back?

But that isn’t really what I want to blog about today.

I’ve been following the chat on Twitter about HipHop, and I think all the nay sayers have been overlooking an important point. HipHop has the potential to reduce the amount of power consumed in running a website. And surely that can only be a good thing for all of us?

If you don’t run your own servers in a data centre (for example you use a virtual server, or host on a shared hosting solution), then perhaps you might not be aware that the power required by each server in a rack is often a major factor in the overall cost of running the servers. Whether or not you believe in climate change, energy prices are on the rise. Whether or not you believe in peak oil, oil and natural gas supply issues are forecast to push energy prices up further. Taking steps to get more work done per unit of power consumed has been the focus of hardware manufacturers for several years now. Isn’t it time it also was the focus of the software community too?

CPU usage is only one aspect of the total power consumed by a server in a rack, but in my experience people tend to add more servers to their solution primarily because they need more CPUs running their web servers to handle more traffic. A reduction in the number of CPUs required will translate into a reduction of the number of servers required … which means a reduction in the amount of energy being consumed.

How can that not be a good thing, if it can be achieved?

I know the answer will be that PHP apps are not CPU-bound, that they spend much of their time waiting for results from the database. That might be true if you’re measuring a PHP app from the point of view of elapsed time, but what if you’re measuring the PHP app in terms of CPU cycles consumed? Every single PHP script has to run on a CPU, and has to get to the point where it’s sat waiting for the database. If HipHop means that each PHP script uses less CPU to get to the same point, that has to be a step in the right direction.

Until we can play with HipHop ourselves, it’s impossible to say whether it saves enough CPU cycles to allow us to use less CPUs and therefore less servers. Remember, you’ve still got the overhead of your operating system and web server to factor into the equation. And then there’s the energy cost of compiling your code in the first place during development; for seldom-visited websites, HipHop may increase overall energy requirements.

But it sure is nice to hope, isn’t it?

Be the first to leave a comment »

Stuart is running a course in Manchester in October immediately before the PHPNW09 conference on how to setup and organise your PHP developers to ensure things run smoothly for you and your customers, which will include looking at how to get the most out of Trac. Learn more about the course, or sign-up now.

When it’s just you, working on one project at a time, it’s easy enough to keep track of the work you’re doing and the work you still need to do to complete the job. Chances are you can keep it all in your head, or at least keep the discussions with your customer on something like Basecamp in your head. You know that you should be using source control and bug tracking because it is “best practice”, but it just seems like too much of an overhead to bother with when it’s just you. After all, you’re working on the customer’s server, and there’s no-one else editing the code anyway.

Some of the folks reading this blog post might be cringing at that, but I’ve lost count of the number of times I’ve come across professional PHP developers who work in exactly this way. Is it because they don’t know better? Maybe. Is it because it has worked okay for them up to now? For sure.

But eventually, there comes a point where one developer becomes a team of two … or more. Having a team means that you can go after larger projects … but it also means that you have to go after larger projects to pay the team. Larger projects mean more complicated requirements, multiple phased deliveries … and a larger, more demanding (and probably a more complicated) customer holding the pay cheque.

Running a team of PHP developers (like all management activity in all walks of life) comes down to three key things: direction, organisation, and supervision. Only now it isn’t just you and a customer, just a list that you can keep in your head. Now you need to keep track of a larger list, of multiple lists for multiple people to work on that need to be brought together in the end, and if anything slips through the cracks it’s your reputation on the line. Getting the customer to come back for repeat business just got a lot less easy to take for granted.

Trac and Subversion have been part of our community’s toolkit for many years now. Used correctly, you can get yourself and your customers well-organised, and grow your reputation when you grow your team. If you haven’t started using them yet, both are open-source, and well-backed with plenty of information freely available around the blogosphere on how to use them.

Or join me in Manchester in early October, where I’ll show you how they fit into an overall approach to running your team of PHP developers.

Be the first to leave a comment »

Came across a second Microsoft-sponsored competition aimed at showcasing PHP on Windows. This one is for Canadian residents, and is headlined ‘The Ultimate Coder Battle‘. The premise is quite interesting: one student and one professional developer will be the chosen finalists, and they will battle head to head at the “Make Web Not War” conference. The winner walks away with substantial cash prizes – $5000 with another $5000 in bonus awards available. Entries close 3rd June.

After many many years of pushing ASP and ASP.net, I’m finding it fascinating to watch Microsoft push Windows as a viable platform for publishing PHP applications. Although PHP apps on Windows have been viable for many years (provided you ditched the fundamentally-flawed ISAPI approach and stuck with the slower-but-stable CGI route), I think it’s great to see the improvements that are being made both to PHP and IIS. From personal experience, I know it can be very difficult to sell PHP-based apps into organisations that choose Windows; being able to point at Microsoft’s support for PHP is a good thing for the ISV community.

Be the first to leave a comment »

I’m currently looking for two PHP developers to come and join my web development team at Gradwell. The team creates and maintains the web-based control panels for our award-winning VoIP service, plus our broadband, email, and web hosting services. From time to time we also get to do crazy things like Twittex and Facebook applications. Our partners often describe us as the geekiest company they ever have to deal with. And one nice bonus is that we use Linux for our desktops not Windows 🙂

The full details are on the Gradwell website, but the basics are that I’m looking for people with a computer science / software engineering degree, with PHP experience (via open-source projects is fine; it doesn’t have to be commercial experience), and experience with symfony is a major plus. It’s essential that you fit in with everyone else in the company, so you’ll need to be someone who’s proactive but supportive rather than competitive.

If you’re interested in applying, talk to me on Twitter or send through a CV and covering letter explaining why you’re the person for the role to stuart(dot)herbert at gradwell(dot)com.

Be the first to leave a comment »

Finding Ada

Posted by Stuart Herbert on March 24th, 2009 in Opinion, PHP In Business.

If you’re a regular reader of Planet PHP (and if you’re not, you should be), you’ll know by now that today (March 24th) is Ada Lovelace day. The idea is to throw a spotlight on female role models in tech, in order to encourage more women to get involved in technology work and roles in the future.

The need to do this was made very clear when I sat down to put this post together. I’m sad to say that I simply don’t work with any women in technology atm, and I’m struggling to think of any female programmers that I’ve worked with over the last 18 years. (I’ve sent Sara a patch or two for runkit, but I don’t think that counts as having worked with someone). I’ve worked with female product managers, project managers, and marketing consultants, but with only one notable exception I wouldn’t say they worked in technology, but around the male-dominated teams who did.

The research that has inspired Ada Lovelace day talks about women having a stronger need for suitable role models than men do. But the question that’s been praying on my mind today is this: what else do we need to do to make working in technology more appealing to women? Leaving aside the behavioural problems in male-dominated environments for a moment, are there changes to technical tools and practices we could make that would play more to the psychological strengths of women?

Be the first to leave a comment »

The PHP UK conference is tomorrow at the Olympia Conference Centre in London – and there are still a few tickets left. Why not come along tomorrow and join us for what will be a great and informative schedule of talks?

Be the first to leave a comment »
Page 1 of 212

This Month

September 2017
M T W T F S S
« Jul    
 123
45678910
11121314151617
18192021222324
252627282930