We have another interview with an active PHP community member! Bruno Škvorc is a PHP developer and an editor at the popular SitePoint. I decided to ask him about his career, coding and writing about code. Also we talk about freelancing success and predictions for PHP market future. Let’s dive in!
1. You are an editor at SitePoint. It is a huge brand now, started back in 1999. You’re not the founder, but still – what do you think about the project and business in general? Maybe you know some insights – what can you be proud of at SitePoint?
I only came on board 3 years ago (in fact, September 3rd, my birthday, is also my third anniversary at SitePoint) and around that time, SitePoint was going through some big changes. The most notable one was the merging of child sites (like PhpMaster or RubySource) into SitePoint, and placing their content under PHP / Ruby / etc tags for channels.
I think this is when we started getting our reputation back which, admittedly, fell a bit since the start. I then implemented the peer review process site-wide, so all channels now go through it – it means that we encourage as many people (preferably our own authors) to read the posts before pushing them live. This helps us correct mistakes, adopt best practices, and much more to raise the quality of our posts.
That’s something I’m most proud of – we’re building an inclusive community of authors who love writing for us (and not just for the money!) and who love looking at the content their peers produce, which lets them have both an early sneak peek, and the chance to influence the quality of the channel as a whole. More information about our peer review process can be found here if you’re interested.
2. How do you choose topics and/or people for the content? Or is it more about people, and then they suggest the articles? What is your personal influence on the topic choice?
Topics are often suggested by the authors themselves – it’s a matter of approving their initial outlines, and they’ll get going rather quickly. We encourage an approach where authors write about things they know, or have learned recently. This helps them retain the knowledge and keep it online for future reference, and theoretically helps others solve similar problems much faster.
Naturally, if I don’t feel a topic is good enough, I just reject it and explain why, often helping the author find a new one. Alternatively, I maintain a list of “hot topics” I want people to cover, and they can grab a topic from that list – those are always approved.
As for people, the Peer Review intro docs are kind of our “vetting grounds” – if they go through those and get in touch based on the contact info within, they’re already in the door with one foot. Then it’s all a matter of proving they can write decent content (English isn’t SUPER important – that’s why I’m there, to fix mistakes in grammar, spelling, phrasing, etc.) and they can get started. The peer review process takes over, and to finalize, I’ll check the code, re-check the language, and publish the post.
3. Your title is “developer evangelist” at Diffbot. What does it mean exactly, and tell some more about the project itself.
A developer evangelist is in charge of helping other developers see the practicality of a given service, and to help them see how easy it is to use it (or if it’s not easy, to make it easy to use). Since Diffbot is an API service itself (it has a set of API endpoints to which you send URLs and they process the data and return it back to you as JSON), I maintain the PHP API client for Diffbot, and help customers modify their input/output, understand the rules, customize their clients, and more.
I also talk about Diffbot at conferences, write tutorials about it, and anything else that basically gets the word out. Think of a developer evangelist as a “marketing for devs” kind of guy.
The project itself is a visual machine learning engine which looks at sites (looks – visually – not their HTML) and uses machine vision to recognize common elements on pages, like title, price, author, images, related content, next page links, and so on. By being visual, it cannot be tricked by meta tags for description, for example – instead, it’ll harvest the contents of the page, and automatically derive the tags and the information from that. This also makes sure it automatically works in ALL languages. For images, it can go so far as to recognize what’s on them – see here how I built an animal recognition engine in under 100 lines of code.
The project is geared towards enterprise users, which is why it’s a bit on the expensive side, but there is a trial mode which lets anyone play around with it for two weeks, so I encourage you to give that a go – it’s so much more than what I can present in this answer.
4. From your Twitter feed I see you also freelance via Upwork. Would you mind sharing some tips for PHP freelancers to have successful experience there? Or on freelance job boards in general?
The only thing you need to be successful as a freelancer on Upwork is a 5.0 rating – and skill and dedication, of course, but that’s implied. There are so many freelancers out there, even a 4.99 rating will push you far down the list when people sort by rating, and it’ll be next to impossible to get hired.
A good rating will also make sure you get to join some exclusive groups – for example, there’s an official one which focuses exclusively on long term contracts, and those are the contracts you want to hunt down – smaller fees, a good rapport between client and developer, and a host of other advantages come with long term contracts.
If you don’t have a good portfolio on Upwork, lower your price to something below standard, but still above third world countries – $15 per hour is usually fine. Then, hunt down small contracts, so you can get a LOT of 5.0 star reviews. Once you’ve got around 15-20, start focusing on long term stuff. Don’t do the “skill tests” – they’re pointless. Do them if you have nothing else to do, but don’t focus on them.
As for freelancing in general, it’s important to have a good presence on Twitter, which is full of devs, and to write online in some form – a platform such as SitePoint is a great start, and provided many of our authors with job opportunities and hordes of Twitter followers. Making yourself known online is *the* ticket to getting recognized and hired, so don’t be shy and just go for it. There’s a good list of PHP devs to follow.
5. Your thoughts on the PHP market in general: do you feel that PHP is growing stronger with frameworks like Symfony and Laravel? What are your thoughts on the current state of PHP world?
I’m cautiously optimistic.
I like what Symfony is doing with pushing its own standards and going for a more DX-friendly approach, but I still think the configuration overkill and performance issues are dragging it down. I haven’t really focused on it though, so I have to do more studies first before saying something specific. Right now, it still seems too overwhelming for framework newbies, and the problem is, many framework newbies go with a simpler framework and then simply stick with it.
Laravel is a minor miracle – while I don’t like how it’s creating its own closed ecosystem (Laravel packages, Laracasts, Larajobs, Laravel News, Laravel Daily, etc…) – even though some of those are Laravel-branded only, and no longer really focus on Laravel alone – I do absolutely LOVE how it made PHP approachable to newcomers and RAD devs again and got people re-interested in PHP.
Other frameworks are doing well, too – Opulence, the new PHP7-only framework seems very interesting, and Phalcon, the fastest framework out there, recently got PHP 7 support. I’m not all that into “microframeworks” and PSR-7, or middleware, because those seem like bureaucratic layers to me, designed to make things more complicated than they really are – if I’m building an API-only back end, I won’t use a framework at all. But for full stack stuff, I think what we have on offer is absolutely fantastic.
To sum up, I like the current state of PHP – I think a little less Java-ish bureaucracy and a little more practical development would be good for the ecosystem as a whole, but I think it’s moving in the right direction on all fronts.
6. You’re based in Croatia. I’ve noticed that there are more and more developers from that Central-South Europe region – particularly Croatia, Serbia, Slovenia. Would you agree? What is the secret of the Balkans? How’s life in general for a web-developer there?
There are more and more of us, yes. As our countries plunge into chaos, and governments fail to form (we’ve been without a government for months now), jobs disappear and people realize they’ll never get work here. Some leave, but others just educate themselves, and look for remote work. The thing is, when you’re working for foreigners, the pay is much bigger than the average here, so life if pretty comfy. So, there is no secret – just people willing to learn and work.
7. Since you’re both a developer and an editor – which part do you like more? And where do you see your career in 5-10 years? Opening your own dev-agency maybe?
I’m opening a company this year, but only for legal reasons. I might expand into something like an agency later on, but I doubt it – I don’t like the managerial overhead. As for my career, hopefully I’ll still be doing the technical writing and development that I love so much in 5 years, but my plan is to be retired in 10.
– 1k eur per month
– max life: 70
– remaining years: 39
– for that I need: 468k
When saved + need meet, retire.
— Bruno Skvorc (@bitfalls) August 26, 2016
When thinking about retirement, I can see myself still working for SitePoint, as that’s a gig I thoroughly enjoy (it is both relaxing and engaging) and think can do the most difference in (such a big audience reading our posts, even a single awesome publication can change career paths), but I’d probably drop other development work.
8. Any advice for PHP developers who are just starting their journey? What to keep in mind, what to avoid, how to learn faster and more effectively?
PHP devs just starting out? Whooo boy, for sure! Here’s a list:
- Read PHP The Right Way
- Get on Twitter NOW and start building a social presence. Yes, it IS important. Follow everyone here.
- Subscribe to SitePoint’s PHP newsletter
- Think of a project, and just start building it. Don’t think about frameworks, don’t read books. Start working. Go with the flow. Google problems as you run into them, solve them, move on. That is the ONLY way to properly and quickly learn – on your own mistakes.
- Keep fit! Subscribe to The Walking Dev
- Don’t be afraid to ask – other people have been there. All your year-1 problems have already been solved, it’s all a matter of finding a mentor or just asking around in the community (reddit.com/r/php, stackoverflow, etc..)
- Most importantly – don’t be afraid of the code. Keep trying, keep making mistakes. Sometimes a simple 5-minute problem will waste your whole day, or even week. But you’ll have learned an epic amount by the time you solve it. Everything you do is a learning opportunity, so just keep doing.
- When you feel ready to tell the world about what you’ve learned, get in touch via our Peer Review – that way, you can learn and earn.
* * * * *
I thank Bruno for being so generous with his time to answer the questions in such a deep way. If you want to follow him online, here are some links: