Developer Interview with Ash Allen - OpenLampTech Exclusive
In this OpenLampTech exclusive interview, freelance Web Developer Ash Allen shares insight, knowledge, and tips on web development with PHP and Laravel.
Hi and welcome to this OpenLampTech exclusive.
In this newsletter, I'm sharing a fantastic text-based interview with freelance Laravel web developer, Ash Allen
Having read a great deal of Ash’s quality newsletter content, blog posts, and tweets on PHP and Laravel over the past several months, I was absolutely ecstatic that Ash agreed to participate in this interview for the OpenLampTech newsletter audience.
And now without further adieu, let’s get right to the interview.
Q: Please tell us about yourself, and what you currently do for a living.
Hey! I’m Ash Allen and I’m a freelance web developer from the UK. I work on Laravel projects for organisations around the world and also contribute to open-source projects. I currently maintain some Laravel packages that have over 200k installs and have contributed to many open-source projects including the Laravel framework.
I also do quite a bit of writing about PHP and Laravel. You can find the majority of my content on my blog at: https://ashallendesign.co.uk/blog. I’ve also had guest posts published on Laravel News and Honeybadger.
As well as the blogging, I’ve also written an ebook called “The Clean Coder’s Guide to Laravel” which is a free 70-page PDF that shows readers a few different ways to improve their Laravel code.
Although I’d love to make a living from producing content and blogging, at the moment, I make my living as a web developer working on projects for clients.
Q: Why PHP and Laravel? With the wide range of languages and frameworks out there, what makes Laravel your framework of choice?
When I went to university, I had the opportunity to use different programming languages in my classes. Over the space of the 4 years, I built a few small projects using PHP, C++, C#, and Java. There was something about PHP that just “clicked” in my head. It seemed a lot easier to get up and running, and I also found the resources online a lot more beginner-friendly.
So, when it came to my final year project, I used PHP to build a drag-and-drop prototyping tool called Quick UI (similar to Figma but much more simple). Even though I’d probably laugh now if I saw the code I wrote for it, I absolutely loved the entire experience of building it.
When I was finishing my master's degree, I was on the lookout for my very first web developer job. I was looking for PHP developer jobs mainly because it was what I enjoyed the most at university. But, I was completely open to any language if I thought the job description sounded good enough. I came across a junior Laravel web developer job that was based near where I lived. I loved the sound of the projects that I’d get to work on, and the location was ideal for me to commute, so I applied for it. Thankfully, I got the job! Apart from reading through parts of the documentation and watching some videos about it, I’d never really worked with Laravel. But, while I was at the company, I was taught how to use Laravel and built several projects there. It took my love for PHP to the next level!
So, I guess, I sort of fell into Laravel mainly because of the location of my first job.
Q: Do you think it is important for developers to learn SQL? Why or why not?
That’s a really good question, and I’m sure that if you were to ask me this question in a year's time, you’d probably get a different answer.
In my opinion, if you’re a web developer, it’s likely that you’re going to be dealing with databases. So, based on this, I think that knowing at least the basics of SQL is a must-have.
A lot of languages/frameworks have ORMs that you can use to read and write data in a database. So, I don’t think you need to understand the exact syntax for SQL queries (especially for complex queries, because this can be searched if and when you need it), but I think it’s crucial that you understand the underlying logic that the ORM is running.
Q: You are working on (at the time of this interview) a new book, Battle Ready Laravel. Tell us, what is Battle Ready Laravel about and who is it for?
Sure! Battle Ready Laravel is going to be a book about how to audit, test, fix, and improve your Laravel applications. I’m hoping to release it at some point during Summer this year.
As a freelancer, I quite often get brought on board to projects with the sole purpose of fixing bugs and writing tests (usually on projects that don’t have any tests at all). So, the book is going to cover the usual steps that I’d take whenever I audit a project and start making improvements to it.
It’s by no means going to be an exhaustive guide, but I do hope that it’ll provide value to both new developers and more experienced developers.
Thanks to the generosity of Spatie and StyleCI, I’ve managed to get every person who buys the book up to $145 worth of discount codes to use across Flare, Oh Dear, and StyleCI.
Anyone who joins the waiting list (https://battle-ready-laravel.com) before the book is released will also receive a 25% discount code when the book is released!
Q: What's your favorite text editor or IDE and why?
I think I’d have to say that PhpStorm is my favorite IDE. In the past, I’ve tried using VS Code, Sublime Text, Atom, and Brackets. These were all pretty nice to use, but as soon as I started using PhpStorm, I fell in love with it!
I really like how everything just seems to work without needing to mess around configuring settings. The test runner is also great and it makes it super simple to run my tests outside of the CLI and retry failed tests at the touch of a button (or keyboard shortcut).
Q: Do you have a blog, newsletter, book, podcast, or another resource you would recommend to other developers that you find valuable? (Can be non-programming related)
In terms of podcasts, I really enjoy listening to the Laravel News podcast. Michael and Jake are great hosts and it makes it nice and easy to keep up to date with the latest news in the Laravel world while I’m out on a walk.
When it comes to blogs and videos, I would definitely recommend Povilas Korop’s YouTube channel and blog called “Laravel Daily”. I’ve been watching his videos for years now and they’ve helped me a huge amount.
Q: What advice would you give to developers who want to share their knowledge and passion through content creation?
This is a really good question! In terms of content creation and blogging, I’m still pretty new to this myself. But, I think my main piece of advice (assuming the developer isn’t looking to blog purely to make money from it) is to write about what you enjoy.
When I first started my blog, I actually did it to try and improve my portfolio. I’d just started out as a freelancer and was reading online about how to get more clients, and I kept seeing advice saying “start a blog”. So, I started writing blog posts about topics that I thought would make potential clients look at my blog and think “Oooh he knows what he’s talking about”. But the truth is that I didn’t really enjoy writing those articles and it kind of shows in the quality of the writing.
I eventually changed my mindset to “I just enjoy writing, so I’m going to write about Laravel” and just started writing about different things in Laravel that I enjoyed working on. In my opinion, these articles come across as much more authentic and actually perform better in terms of monthly traffic.
So, I think the main thing to remember is to enjoy what you’re writing about and have fun!
Q: What advice would you give yourself just starting out in programming and development?
I think I’d tell myself to get stuck in with the community a bit earlier and to have more confidence. When I was first starting out, I was scared to put out any sort of content (whether that be code snippet tweets, blog posts, or packages) because I was worried what other people would think.
Of course, there are always going to be people who are negative and just want to complain or make you look silly online by nitpicking. But the feeling of knowing that you’re helping other people around the world who actually enjoy reading my content makes up for it!
I’d also tell myself to get on Twitter a lot sooner. For quite a few years, I didn’t realise that the Laravel community was so active on Twitter and that’s where they all hung out. Since joining, I’ve managed to interact with and talk to some of the huge names in the Laravel world. Not only is this super motivating, but it also helps with meeting new people.
Q: Any hobbies or other interests outside of programming and development?
Outside of programming, I’d probably say that my main hobby is growing fruit and vegetables in my garden (I know, super boring right!). This year, I’ve grown blackberries, raspberries, strawberries, white onions, red onions, garlic, tomatoes, potatoes, rosemary, thyme, and parsley.
I find that it’s one of the only things that I can do that takes my mind off programming and helps me to relax. I think I enjoy doing it because I get to see the finished product at the end and I get to appreciate the result of the work (similar to development I guess).
Q: Where can readers go to learn more about your work and projects?
If any readers would like to read about my programming work, you can follow me over on GitHub at: https://github.com/ash-jc-allen/. I’m actually accepting sponsors at the moment (if anyone’s interested in helping out) to help me fund the blog so that I can carry on writing new content.
You can also follow me over on Twitter at: https://twitter.com/AshAllenDesign.
If you want to keep up to date with my blog, you can check it out over at: https://ashallendesign.co.uk/blog.
Please share this article with others.
Thank you Ash Allen for participating in this interview for the OpenLampTech newsletter! 🙏
Thank you for reading. I hope you have a great rest of your week.
Visit my developer blog, Digital Owl’s Prose, where I write regularly on CodeIgniter, PHP, WordPress, and SQL.
If someone awesome shared the OpenLampTech newsletter with you and you are not yet subscribed, consider joining the community with a free subscription: