Hi Simon. Thanks for giving us this interview, and also for your Snapshooter.io company sponsoring the LaraHack event and LaravelUK website. That's really good of you.
We should probably start at the beginning. Could you introduce yourself? Tell us a bit about your family, your interests, and your childhood.
Hello LaravelUK. My name is Simon Bennett and I am a software consultant from Norwich UK, I work from home with my lovely partner Claire and 18-month-old daughter Evie.
Day to day, I consult on Event Sourcing and CQRS, while also running a startup - SnapShooter.io - a product to help you take better backups of your DigitalOcean Servers.
How and when did you get started with programming and/or tech in general? If you worked in another industry first, tell us a bit about that as well.
I first got started with programming when I was 11 years old, and our IT teacher at school got us to make web pages using MS word. I soon learned that Word was just generating bad HTML and that you could just directly edit the HTML.
From this, my interest in the web took off like a rocket, and I soon discovered backend code. Dreamweaver at the time was heavily linked with ColdFusion, and I quickly learned how to build logins and databases. I then discovered PHP, the language that has made my career.
What Languages are you comfortable with or an expert in?
I have always focused on PHP and would deem this my area of expertise. However, during university, we mainly used C# and, while its been years, I felt pretty comfortable using it and think I could easily pick it up again if I ever needed to go the Microsoft route again.
Are there other languages you wish you knew how to write, or write better?
What has been the free tool/hardware/software that has helped you the most, and what purchase has helped you the most in your career?
I am not sure which is the free tool that has helped me the most. I have always valued paying for software that saves you time.
I did find that PHPStorm helped my programming no end. I am really dyslexic and I used to be a die-hard text edit/sublime developer until university when I started using C# and discovered how powerful Visual Studio is. I decided to try PHPStorm and was hooked since it greatly improved my accuracy.
Another tool I could not live without is Grammarly, the best grammar and spelling check tool I have discovered. The free version is great if you don’t want to pay.
I know you have a product or service, since you were kind enough to sponsor the Larahack event and the LaravelUK website. What made you create that particular product or service? And please tell us about how it works, and how it benefits your customers.
I run a SAAS product called SnapShooter, which basically allows you to make better backups of your DigitalOcean servers and volumes that DigitalOcean provides. It works by hooking into the DigitalOcean API and automating calls for you on a schedule, to create and manage snapshots. Internally we use Laravels jobs and a queue system which enables us to retry jobs, as the DigitalOcean API will sometimes throw issues for no reason.
Are you looking to expand it futher in the future?
SnapShooter has always focused on DigitalOcean backups, as they offer a unique way to take a whole server Snapshot. Our competitors have looked at supporting as many platforms as possible, but we have decided to focus on DigitalOcean, and offer a unique service specialised for DigitalOcean. We are adding new features all the time, when we find customers with unique use cases. We are also looking to offer an on premise version for those clients who need tighter security.
If you were going to tutor somebody starting to learn development from scratch now, knowing what you know, what would you do that was different to your learning path? What would your training plan look for them to follow and why?
Practice makes perfect, and if you want to improve, get writing. Come up with a simple project and build it. Once you have finished, try and get someone you know to review it. It will be painful to hear, but take the advice and build something else with that advice, and try using a new idea/technology (not too many at a time). Rinse and repeat. I would say there are so many resources online (especially video) to help you learn to program that you no longer need to go to the library and find a book. Take advantage of the online community.
How do you organise your life? How do you keep motivated? How do you minimise procrastination?
There are two aspects to this: through work I use a notepad, Jira and GitHub to organise and decide what to work on or get others to work on. In my personal life like I am a lot worse! It mostly involves a calendar that my partner writes in. She is amazingly organised.
Motivation is something that comes in floods when working on a new idea or project but then has to be carefully managed, I try not to work on new ideas unless I have validated the expected results as to not waste time. As for the boring tasks, have then written down and just one at a time knock them off.
I work from home so procrastination is always difficult, but I have been remotely working for over 4 years now and have learned when I need to focus. One of the biggest changes was 18months ago, when my daughter Evie arrived, so now I literally don’t have time to procrastinate, my goal changed to “get it done”. I am not advising to have a child to help if you procrastinate, but I would recommend 100% focus on one task at a time. If you get distracted by something make that part of your day, and go and spend a dedicated amount of your day doing that. Then when you come back to work leave it behind. Otherwise, you also ruin your enjoyment time.
What are your favourite forms of (non-coding) entertainment?
When I am not in the office my next hotspot is the garage, where I enjoy shed time with woodworking and general DIY projects. I renovated our old house and on this house have undertaken jobs like boarding the loft and building bespoke shelving. I do our car maintenance and repairs as well which always keeps me busy. Other than that, a bit of TV in the evening. We are currently chain watching “Stranger Things” and the British classic “The Good Life”.
If you had to live your life by one rule you weren’t allowed to break, what would it be?
I guess it would have to be “Be honest without being brutal”. Over the years there may have been instances where if someone was honest, for example about money troubles, the situation would not have gotten so bad.
Simon, thanks for being our first interviewee on the “LaravelUK Talks To…” section of our new website. It was really interesting to get to know you and Snapshooter a bit more.
If you want more information about Snapshooter.io or have further questions for Simon, here are the links you need: