LShift was formed in 2000 by a group of senior developers tired of the way they were expected to work. We asked what our new company would have to be like for them to want to jump ship and join us in forming it. We had several months of brainstorming to make it somewhere the best people would want to work.
Those founding developers had two main demands:
First, they asked that they not be pigeon-holed, not employed for just for one skill, or to work in one role or just on one project. They wanted to be able to continue to develop their skills, and to continue learning about new technologies. To achieve this we decided that we would be a development house with a difference; a company without any specialisation at all, without partnering with the big tech companies and without becoming resellers for anyone else’s products. So now, when LShift is asked to design a solution for a client, we recommend the technologies we believe are best for the task in hand, and we aren’t limited in our choices in any way. We do not specialise in any particular programming language, operating system, database, content management system, or anything else. We do not even specialise in the industries we service. All of our developers are generalists, but that does not mean that they are not experts—far from it. In order to be able to turn your hand to new technologies and languages you need broad experience and a deep understanding of engineering and computer science principles. As a small company promising to perform such a wide range of work we can only afford to employ developers who are willing and able to learn constantly on the job.
The second thing our founders wanted was to get ‘irrelevant middle management’—project managers, account handlers—out of their way so that they could get on with creating world-class software. To do this we created the role of the Lead Developer. The LShift Lead Dev sits at the absolute centre of our management process. When a new project arrives at the company the first thing we do is appoint one of our team to be the Lead Dev on the project. As such, the Lead Dev attends all of the crucial meetings with the client—not just concerning technology, but about the business goals of the project and the aims of the client company generally. The Lead Dev writes the technical proposal that we make to the client, specifies what technologies and tools will be used, and manages the project team throughout the lifespan of the project, monitoring and managing all aspects of the development process and our relations with the client, right through to final delivery.
Such a role is demanding, and we understand that your experience to date may not have prepared you with all of the skills required. Don’t worry—we won’t be throwing you in the deep end. Instead the management of LShift are wholly focussed on giving you all of the support you need so that you can grow into the role gracefully. You will receive training and guidance throughout your time at LShift, and the company culture is one in which people can freely and easily ask for and receive the help, support and advice they need to do their job.
Other companies talk about ‘lifelong learning’ and developer empowerment—at LShift these two ideas are truly at the heart of everything we do, built in to the core of how we work from the start. On the basis of this model we have spent over a decade delivering complex software on time and on budget, in an environment that many of our competitors still think ‘goes too far’. For our developers it means having the chance to truly express their skills, both technical and otherwise, to the limit.
Next: the working environment.