Upwork and Upskilling
For the past 3 years, I’ve been working as a freelance Top rated Chrome extension developer on Upwork. I’ve been able to work with clients from different parts of the world, and I’ve learned a lot from the experience. However, I’ve come to realize that I need to upskill if I want to continue to grow in my freelance career and increase my earning potential.
Why Upskill?
Chrome Extension has always been a lucrative field, but the dilemma stems from the lack of Chrome extension gigs compared to other fields, Chrome extensions are often additional add-ons to an existing platform to either gain more leads or expose an existing service to a wider audience.
However not every platform needs a Chrome extension, and this is where the problem lies. I’ve been able to secure a few gigs here and there, but I know that if I want to continue to grow and increase my earning potential, I need to expand my skill set.
What Skills to Upskill for Freelance as a Developer ?
I’ve been doing some research on the most in-demand skills in the tech industry, and I’ve identified a few areas that I think would be a good fit for me. Some of the skills that I’m considering upskilling in include:
- Shopify Development (App and Theme Development)
- Mobile Development (React native and Flutter)
- 3rd Party API Integration
- LMS Development (Learning Management System) Moodle
- E-commerce Development (WooCommerce, Magento, BigCommerce.)
- API Development
- No-code Development (Bubble, GoHighLevel, etc.)
- WordPress Development
- Hubspot Development
Lessons learnt from Chrome Extension Development
I’ve learned a lot from working on Chrome extension projects, and I think that the skills that I’ve acquired will be valuable in my future projects. Some of the lessons that I’ve learned include:
- The importance of clear communication with clients
- The value of understanding Chrome Architecture
- Understanding 3rd party API integration like Firebase / Google Authentication and Memberstack
- The importance of being Saas focused, and how to build a Saas product within the Chrome extension ecosystem
- Helping clients understand the importance of a Chrome extension in their business model with regard to adding premium features and adopting a subscription model.
- The importance of understanding Advanced JavaScript concepts like CORS, Monkey Patching and CSP (Content Security Policy)
- Leverage a networking relationship with Co-founders and taking advantage of that relationship. I met a co-founder of a Saas product on Upwork, and we’ve been able to collaborate on a few projects together. e.g Refermate, Wondr AI and CueTheMusic.
- Offscreen API destroys when the media is paused for 15 seconds :’(
- Script Injection and Content Security Policy (CSP) is a big deal in Chrome extension development (MV3), the only hack is to use the manifest to inject scripts into the host page using the World context.
- React Props are stored in the DOM, and can be accessed by the host page, but not from the extension. So you can inject a script to access the props and send it back to the extension using Message Passing.
- TypeScript is a must for Chrome extension development, it helps you catch errors before runtime, and it’s a good practice to use it. use the
@types/chrome
package for Chrome extension development. - Vite is cool until you need to do some specific configuration, explicit always wins over implicit. tldr use Webpack for Chrome extension development.
- Generators in JavaScript are awesome, you can pause and resume execution, and it’s a good way to handle DOM detection. e.g Don’t execute code until specific DOM elements are present.
- React + TypeScript is awesome for Chrome Extension Development.
- Not every company follows the best practice, Google Web Store forbids Remote hosted code, but Firebase SDK for Chrome extension contains remote hosted code which is developed by Google and will be rejected by the Chrome Web Store which is also owned by Google (Ironic).
- Productivity tools tend to have a lot of paying customers, and they are willing to pay for a Chrome extension that makes their workflow easier.
Fin
Leave a comment