Rafal Gicgier is a certified Codeable Expert and also among the top WordPress developers. He specializes in building custom WordPress themes and plugins and also loves to work around Gravity Forms and WooCommerce sites. He is also the founder of WP-doin, a WordPress and WooCommerce development agency.
Let’s find out more about him in this interview!
Farhan: Hi Rafal, thank you for joining us today. Could you please give us a short introduction about yourself?
Rafal: Hello, my name is Rafał Gicgier, a WordPress developer from Lodz, Poland. I work as a freelance developer for both Codeable and the Xfive teams at the moment.
Farhan: Rafal, when and how did you discover WordPress? Was it tough adapting to an emerging CMS?
Rafal: During my academic years, I created a simple WordPress blog related to graphic design, and I thought it would be nice to edit the theme here and there. Given my academic and programming background, I didn’t consider that particularly difficult. Back then (around 10 years ago), WordPress already had great documentation, and there were plenty of helpful tutorials.
Farhan: You’ve been in the industry for almost 10 years, and you’ve been working at Codeable as a freelance WordPress developer as your latest gig. How did Codeable come into the picture? And how does Codeable help you get projects?
Rafal: One of my fellow devs, Andriy Haydash, told me that Codeable was looking for new experts for pretty impressive projects. I checked out the team’s welcome video, and I was like, oh my God, this team’s work ethic is something I want to be a part of.
The team gives us access to the private platform where we get to speak to the clients directly. Not only that, but Codeable also gives us access to a wide range of privately hosted Webinars from top-notch WordPress companies around the world. Finally, we have access to a private Slack Channel where we get to share projects between ourselves.
Farhan: It’s apparent that you like custom theme and plugin development. What do you prefer: doing it all yourself or using tools such as page builders?
Rafal: It depends on client needs, so I try to be as flexible as possible. My preferred method (as I like pixel perfectness) is to do it all myself – usually using Advanced Custom Fields and Gravity Forms to compliment certain core missing features.
On the other hand, I also follow the trends; I see a lot of Elementor and Divi leads recently, and to a huge extent, I try to follow these and improve my knowledge.
Needless to say, though, due to performance reasons, the Page Builders aren’t my favorite tools to use.
Farhan: Could you share a few tips and tricks for WordPress newbies who are interested in codebase optimizations?
Use IDE built-in tools that offer optimization tips (say Netbeans always tells me to keep my methods shorter ;))
Use WordPress database APIs whenever possible. Avoid enormous numbers of plugins.
And most of all, don’t be afraid of making mistakes; they’re unavoidable. Everything comes with experience, so the more you code, the more tools you get familiar with, and the better you get too.
Farhan: What tools do you use during WordPress development? What is your workflow?
Rafal: If I am 100% flexible and I get to choose the technology to create the Theme with, I use the Chisel Generator, along with the Timber plugin. The former, node-based project development framework helps me keep the project modular and clean. On top of that, it offers nifty code linting tools, thus offering a lot of automaticities.
On the other hand, Timber is a pretty nice framework offering easy-to-maintain backend (.php) code. Both of these, IMHO, offer a solid base for project scalability and a unified development approach – which is handy while working in a team of programmers.
I use Netbeans as my IDE, occasionally switching between Notepad++ and Sublime. My workflow is quite typical, I guess. Create a .git repository, set up a local development environment (XAMPP / virtual machine), set up a client Staging site. Work via small code iterations, constant .git commits, and deployments.
Farhan: Can you walk us through some projects you are particularly proud of?
Rafal: I am quite happy with my WordPress plugin (https://wordpress.org/plugins/acf-recent-posts-widget/) that gained more attention than I initially expected, but one that I fail to keep up to date.
I am also super happy with a couple of blog entries related to writing a custom Gravity Forms extension: https://wp-doin.com/2014/09/24/gravity-front-end-login-register/ (given the number of comments I had seems like the code/project was quite valuable). I use these tutorials pretty often myself 😉
Note: not sure if that’s what you are looking for here.
When it comes to client projects, I am not allowed to share their exact specifics.
Needless to say, the most impressive project I have created was an Advent Calendar created on a top WordPress platform. During the Advent Period, one would be allowed to open up a prize box receiving a bonus code and a random prize each day. This has been set up with WordPress posts and was a custom application written on top of WordPress.
The other one, again under NDA, was a car fleet management system. It was created with Advanced Custom Fields and Gravity Forms and it allows logged-in users to set up a personalized car fleet.
They could organize such fleets into groups, categorize and browse specific cars based on several different filters. Each fleet would have a summarized mileage, the ability to associate cost with each vehicle, and simple downloadable reports.
Farhan: Staging plays a significant role in the development workflow. What do you prefer for staging sites? A Plugin, or the hosting’s staging feature, and why?
Rafal: Honestly, I’ve never used a plugin to set up a staging environment. In each case, it was either a built-in Staging functionality of a hosting (I particularly like WP Engine Staging functionality) or a custom hosted Staging site (that is a manually created subdomain). Why? Probably because it’s usually automatic, easy to set up, and offers two-way one-click deployments – a time saver.
Farhan: You have a huge interest in cybersecurity. In your opinion, which hosting solution is best for maintaining site security? What do you think of the security of cloud hosting?
Rafal: Hmm, that’s a good question. My personal opinion is that it’s the developer’s/development teams’ responsibility to keep the site secure. A simple rule of thumb is to keep all plugins and themes up to date and setting proper file permissions.
So far, I’ve been happy with Managed WordPress hosts security tips & tricks, and infrastructure. As far as I know, they notify the user of potential outdated or problematic plugins and have a sort of blacklist (which for a new user may come in handy) of tools unavailable/unadvised there.
With all that in mind, I’ve still seen sites hacked on all sorts of hosting environments. The main reason being the outdated setup/improper file permissions set.
When it comes to Cloud Hosting, I don’t have any particular opinion about the security here, although performance, scalability, and flexibility wise I do love these. So far, I had an opportunity to use Cloudways and was super surprised by the speed offered by the hosting 🙂
Farhan: Would you like to share your favorite themes and plugins? What makes them stand out from the competition?
Rafal: I haven’t got any theme preference, as I mostly code themes from scratch. When it comes to plugins, I recommend the following ones:
- Gravity Forms: My favorite form builder plugin that offers an easy-to-use API, allowing one to extend their core functionality.
- Advanced Custom Fields Pro: One of my favorite tools for creating a wide range of usable custom meta boxes. This tool is quite good for people learning WordPress and custom theme development, IMHO.
- Aforementioned Timber for WordPress.
- WP Migrate DB: A super-powerful DB deployment and backup tool that I use with nearly every project.
I guess Advanced Custom Fields Pro and Timber do not have direct competition.
But I’ve used Gravity Forms since I can remember, and I haven’t tried any other plugins (say Ninja Forms) that much to be able to compare the two directly. I just find this plugin super powerful, easy to use, and customizable.
Similarly, WP Migrate DB is the tool that I got used to and haven’t had many problems with. Honorable mentions – Easy Digital Downloads, Restrict Content Pro, WooCommerce.
Farhan: Rafael, I’m sure many people have taken notes. To inspire our readers, it would be great if you can share an image of your workstation with our readers. Thank you!
Rafal: Not sure if it’s worth sharing, as I can see people complaining about my current setup :p It’s temporary needless to say. With my co-work offices being closed, I work from a new place that I recently moved to. Still need to get a better chair!
Farhan is a community manager at Cloudways. He loves to work with WordPress and has a passion for web development. Mostly, he spends his time interacting with the people in the WordPress community. Apart from his work life, Farhan spends his time gaming and playing sports. Feel free to contact him at [email protected]