Founders and Coders Interview

Dan Sofer is the founding director of Founders & Coders C.I.C, the first full-time adult programming school in the UK to offer its services completely free of charge.

element14 Community

Connect with Experts, Engineers and Enthusiasts. Access technical documents and webinars.

Join Now
Dan Sofer - Founders and Coders

Tell us about your background...

I actually studied Physics in University, but after graduation I got a job as a research assistant in a role that allowed me to spend a lot of time teaching myself how to test and create software in programming languages like Pascal. Since then I’ve written software on and off throughout my working life, working for companies like the BBC, The Guardian and as a technical project manager for the London Olympics website to name just a few.

In recent years, I found that I was spending a lot more time project managing than I was writing software, so I decided to take some online courses to refresh my skills. They were useful, but I found I was struggling to concentrate, so I started arranging after-work meet-ups for people doing the same or similar courses.

...and that’s how Founders & Coders came about?

It became clear that getting groups of people together to learn was a format that I found really rewarding and enjoyable. I applied for some funding from the Greater London Authority (GLA) and managed to set up a classroom space in Camden town. We advertised locally and got a very positive response. By the time the funding ran out at the end of 2014, we were on our fourth iteration of the course, and seeing a really diverse mix of people coming along.

By this time word was starting to spread about what we were doing, and there was enough demand to justify trying to keep things going, so we ran a crowd-funding campaign on IndieGoGo that raised £10,000 – enabling us to move into new premises in Bethnal Green and pay the rent for the first 4 months. We started the first course in the new space in January 2015 and set ourselves up as a social enterprise.

How does the course work?

We have a very collegiate environment, without much formal teaching. We simply provide the structure and a degree of mentoring support, and the environment drives itself. Each course runs over eight weeks, with students expected to bring their own equipment and work as part of a team, with each member taking a distinct role. The majority of the mentors are former students working on a voluntary basis.

"People really seem to thrive in the environment we create... I think if we tried tocharge for it, we'd end up killing it."

Was there ever a temptation to start charging for the service?

Because of the way the project initially came about, I was always more of a participant than a course leader, and that informed the 'learning among equals' ethos that persists at Founders & Coders today. Around mid-2014 I did have a conversation with the students about the possibility of charging, but the feedback I got was that the students loved the fact that it was a free and informal service.

That being said, I still had to figure out a way to make it sustainable. One thing that came out of those conversations with the students was that many were willing to stay on after they completed the course and teach on a voluntary basis. From that, the idea formed to build a community where students could repay their 'debt' by supporting the school through coming back to teach, or by working with companies that we have a relationship with so that those companies will support us.

In less than 12 months we've reached a stage where we can cover our rent, and in a few months I might even be able to start paying myself a salary! It's an exciting time, and best of all the model is something we can so easily replicate. People really seem to thrive in the environment we create, which is very exciting. I think if we tried to charge for it, we'd end up killing it.

What was your own introduction to coding? When did you get started?

I wasn't one of those kids who grew up in his bedroom fiddling with his Sinclair Spectrum – I much preferred being outdoors! My first serious engagement with coding occurred after I graduated from University. I took a programming course and got a job as a research assistant that involved writing software. A lot of it was just a case of teaching myself on the job.

"There's no one-size fits all approach to learning, but for me it's much morerewarding to build something collaboratively with other people."

What advice would you give to young people who want to learn how to code?

Get involved. I really see software development as a social activity, so look out for weekend workshops and after-school clubs. If there isn't a coding club running at your school, ask your teachers why not, and see about getting one set up. There’s no one-size fits all approach to learning, but for me it's much more rewarding to build something collaboratively with other people. We're social animals, and you’ll find that you can achieve so much more with somebody else who shares your interests.

Which coding language do you think is the most useful to learn at the moment?

As a first language, I would say JavaScript, simply because it's the lingua franca of the web. Any interactive behaviour in a web page is there because someone has written in code in JavaScript.

Also, from a practical perspective it's going to be very difficult to get an entry-level job working with the more complex languages. No business is likely to trust a junior developer to mess around with the application logic at the back end, but they won't mind you making changes to the front. I would estimate that nine out of ten junior development jobs are primarily based on JavaScript. Even if the end goal is to be working in a totally different programming language in five years time, learn JavaScript first. Not because it’s the easiest, but because there are more jobs.

What do you think of the current state of coding in Education - for example the recent addition of coding to the national curriculum?

I think the new curriculum is a massive step forward, and the Python programming language the schools are currently using is a really good choice for learning the principles of writing software.

I do think there’s a broader problem in software development in that no one organisation - government or otherwise - is taking responsibility for providing vocational training to young people. I remember when I was much younger, anywhere you went in the UK TV and film industry you’d find producers, sound engineers and cameramen who had been trained up at the BBC. It was almost a part of the public service that the BBC provided.

There's no equivalent for that in our industry, and a problem we keep coming up against is that the demand for people who can write really good software isn't being matched by the supply, because the Universities aren't producing enough graduates capable of creating software. It's actually very difficult to learn how to write really good software, and there aren’t currently enough people doing it.

Dan Sofer - Founders and Coders

How does that manifest in the workplace?

Put simply, the talent pool gets hovered up. A lot of the companies that employ software developers are smaller businesses that don't have the resources to bring people on and train them up. A very common story is that companies that do invest in training their developers find that the employee is poached for a bigger and better role before they have a chance to recoup their investment. This makes employers scared to invest in their own people because they’re just not seeing the value.

Consequently, the employment market is increasingly run by recruitment consultants, who'll take a commission to poach a developer from one company to another. The employee gets a nice wage increase, the recruitment agent collects his fee and the only loser is the business. It's a vicious cycle, and at some point an agency is going to need to step in and take responsibility for offering the kind of practical workplace training that degree courses can’t necessarily provide.

What about apprenticeship schemes?

Apprenticeship schemes can be really helpful, but they're currently too focused on school and college leavers rather than graduates. It's not that school leavers can’t become software developers - I've met plenty of incredibly talented programmers who don’t have formal degrees – but the industry needs to be targeting the most capable people. Being a great software developer arguably takes more skills than being a great lawyer or accountant, and there needs to be a training scheme that's appropriate for the graduate skill level, because students don’t necessarily come out of University fully formed.

"People should engage with coding because smart people should makethings"

Given that coding can be such a challenging profession, what would you say to encourage people to pursue it?

People should engage with coding because smart people should make things, and writing software is essentially a creative act. There are so many smart, creative people who have great ideas that they would love to build into something the rest of the world can use. If you can’t write software, you’re less likely to be able to make those things yourself, and you’re always going to be reliant on somebody else.

It's like wanting to build a house but not knowing anything about construction. You’ll always have to hire a builder to do the heavy lifting for you. While that’s possible, it’s expensive, and if you want to start something from the ground up, chances are you won’t be able to afford to pay someone else. If you can write code yourself, you can build your own idea and test if it’s going to work in the world. It’s a demanding discipline that requires a lot of patience, but if you get a taste for it, I don’t think there’s another occupation that can give you so many potential creative outlets.

What innovations in coding would you like to see in the next few years?

There was a great promise with the web - that until about five years ago looked like it was going to hold true - that if you build an application once, it would run everywhere. In recent years the rise of iPhone and Android has meant the same application has to be redesigned 3 or 4 different times to cater to different platforms. Instead of putting their resources into making a product better, they’re putting it into building the same thing three times, which wastes time and slows down innovation.

I'd love to see a language and set of tools that would allow us to deploy onto different platforms so that we could build a program once and have it running regardless of whether you’re interacting on a desktop or on a phone. I know it’s something people are working on, but it’s not a problem that’s been solved yet.

Dan Sofer - Founders and Coders
"I'd like to see versions of what we’re doing available in every town in the country,and beyond."

...and finally, where do you see Founders & Coders five years from today?

Ultimately, I really want to see the program continue to offer the best training experience we possibly can. Our major priorities in developing the course have been the quality of the learning environment and scalability. We love the size we are at the moment - we take 16 students at a time and around a dozen developers - most of whom are alumni of the programme who now contribute to the mentoring program. To retain the quality of the experience, we wouldn’t want the size of the founders and coders campus to exceed 40 people.

However, I'd like to see versions of what we're doing available in every town in the country, and beyond. We do see F&C as a template; the schools are cheap to set up, they don’t require a lot of money to keep going and because of the value that they create, they’re capable of sustaining themselves, so all that’s needed is a small amount of investment capital to get something started, and we can create one in any town.

We can also supply people to run the program, because every one of our graduates leaves capable of setting up a founders and coders in another town, as long as we can find a space to do it and can pay them a living wage for the first year while they're getting the school up on its feet and making connections in the local community. We've got a model that just requires a little bit of seed investment to get going. That's where partnerships come in - we just need companies, government, charities to say 'we want this in our town' and we’ll be able to do it so inexpensively, and the value we’ll create will be so high that people won’t be able to resist.