“Being a Jack of All Trades Doesn’t Mean You Are a Master of None”
The ageless question in the Web Industry:
Should a Freelance Designer or Developer specialize and be very skilled with one technology, or know something about everything?
In my opinion, the answer is: “It Depends.”
Here are two different free lance scenarios:
As a Freelancer who builds websites, I am the only one in the shop.
I started off building static websites way back before responsive design existed (smartphones didn’t exist). Later, as clients needed to do their own updates, I started using CMS platforms to satisfy their needs. So I learned WordPress, Joomla, Drupal and even played with Mod X, Concrete 5, and Zoom, all PHP based platforms. I discovered that each has its own learning curve, behavior, and quirks. As users requested tweaks, adjustments, and changes, considerable time was spent researching and posting questions on various support forums to find that answer.
One day, it occurred to me that I will never be proficient all of these platforms. I would need to focus on one or two Content Mangement Systems to be fully competent. I believe other’s have also understood this concept, that’s why you will find many small businesses specializing in WordPress or Drupal. In my situation, I decided to focus on WordPress. The reason I chose WordPress is for its own blog.
So to boost my understanding and competence in WordPress, I installed Mamp/Wamp (LAMP) on my computers so I could run WordPress locally. Yes, I learned so much about WordPress I felt really confident in handling any request a client would ask for.
Jack of All Trades
If you just construct a theme right out of the box, just learning any CMS alone would suffice.
What if you have to fix a broken site, or have a customer that wants to make tweaks to the theme? This is a where you will begin to realize why learning other web technologies will be required.
- Installing a backup file into the MySQL database
- Downloading (exporting) a database backup
- Changing the domain, password, etc. in the MySQL database
- Repair and Optimize the MySQL database
- Inserting custom PHP code in post or pages (may require plugin) for more functionality
- Edit footer.php file: remove social media icons, edit copy write data, realign position of footer data, and more
- Edit header.php file: edit header image or slider
main.css file: change any style function on the theme: colors, fonts, layouts, backgrounds and other visual elements.
- WordPress is moving towards JS
- REST API has been introduced into the WP core
- This allows creating Single Page Applications on top of WordPress
- Provides API endpoints for WordPress data types that allow developers to interact with sites remotely by sending/receiving JSON objects
- Calypso – new WordPress Admin powered by JS
- Many Plugins and Themes have JS incorporated
Remember to use Enqueueing scripts
- Knowledge of basic meta tags: title and description
- XML Sitemaps
- Using Google Webmasters Resources
- Setting up WordPress SEO plugins
- Learn Photo Editing Programs
- Resize and crop
- Remove (healing, content-aware, clone stamp) objects
- Enhance image (change background, etc.)
- Add titles and text
- Process 4K or 1080 resolutions
- Convert to MP4
- Cut and join video clips with zero quality loss
- Apply stylish video effects and filters
- Add music
- Add titles and text
- Sometimes a client might ask you to build a logo
- Should be able to create a basic logo
- Learn Illustrator, Photoshop, Sketch, Inkscape, etc.
As you can see, I may call myself a WordPress, or Drupal, or Expression Engine Shop, but to be a complete Web Builder you need to have an understanding of other facets of Web Development. You don’t have to be an authority in each area, but you need to know enough so you can meet the client’s needs.
In the end, you are a Jack of All Trades in many areas of Web Design and Development. It comes with the territory.
A Freelancer may need to specialize.
Examples – You could specialize in Ruby on Rails, Python, Java, Angular, or React JS as examples. There are agencies or businesses looking for experts in these platforms.
- You could work on contract basis
- Work remotely
- You could teach
- May find work faster, as your name and specialty will come up at the top of a search
- Build Apps
Then again, I know a few specialized developers, who will accept other web design work to supplement or sustain their income. They will build WordPress websites on the side.
So even though you specialize, you still have to expand your knowledge into other areas to stay afloat. You may not be a true specialist in these other fields, but you may know enough to get the job done.
In conclusion, it seems whether you specialize or not, you end up having to generalize your other skills to be successful. This is only my opinion from what I have observed as a Freelancer myself.
What do you think?