Senior Shopify Developer (Full Time, 8+ Years, Front End, Back End and QA)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

1900-2100

HOURS PER WEEK

40

DATE UPDATED

Oct 9, 2026

JOB OVERVIEW

ABOUT THE ROLE

We are a group of direct-to-consumer ecommerce brands on Shopify Plus, running constant tests and offers. We need one senior developer who owns everything technical on our stores: theme code, custom features, apps and integrations, A/B tests and tracking.

The most important part of this job is quality. Nothing goes live until it is tested on mobile and desktop, in every market, with every discount and cart combination. If you ship and let customers find the bugs, this role is not for you.





WHAT YOU WILL OWN

1. THEMES
   Build, customize and maintain Shopify themes (Liquid, JavaScript, CSS, Online Store 2.0 sections and blocks).

2. CART, CHECKOUT AND DISCOUNTS
   Cart drawer, bundles, tiered offers, free gifts. Shopify Functions and checkout UI extensions.

3. BACK END AND INTEGRATIONS
   Admin and Storefront APIs, GraphQL, webhooks, custom apps, and connections to fulfillment, email and review tools.

4. A/B TESTS
   Set up, QA and end Intelligems tests (price, offer, content, shipping). Every test arm must show and charge the right price.

5. QA
   Test every release before it goes ---------- devices, browsers, markets, currencies, languages, discounts. Keep a written QA checklist and a release log.

6. TRACKING
   Meta pixel and Conversions API, GA4, Google Ads, UTMs. Tracked purchases must match real orders.

7. SPEED
   Core Web Vitals, app and script cleanup, image loading. Mobile first.

8. APPS
   Install, audit and remove apps. Know what every script on the site does.

9. BUG FIXING
   Fix bugs fast, find the root cause, and make sure they do not come back.

10. DOCUMENTATION
   Document everything you build and change.





HOW YOU WILL BE MEASURED

- Zero customer-facing bugs from your releases
- Every test and offer charges exactly what the site shows
- Critical bugs fixed within 24 hours
- Tracked purchases match store orders
- Mobile page speed improving month over month





REQUIREMENTS

- 8+ years of web development, at least 5 of them on Shopify ecommerce stores
- Expert in Liquid, JavaScript, HTML, CSS and Shopify theme architecture
- Back end: Shopify APIs, GraphQL, webhooks, Node.js or similar, custom apps
- Shopify Functions and checkout extensibility on Shopify Plus
- Hands-on Intelligems (or similar) price and content testing
- Strong QA habits: you test your own work before anyone else sees it
- Meta pixel, CAPI and GA4 setup and debugging
- Git, staging themes, version control
- Excellent written English
- Deadline discipline. If something will slip, you flag it before the due date, not after





NICE TO HAVE

- Multi-market, multi-currency and multi-language stores
- High-volume stores
- Klaviyo, bundle and upsell apps
- Hydrogen or headless experience





WHAT WE OFFER

- 3000 USD per month, long term, full time
- Several brands and real volume to work on
- Direct access to the decision makers. No layers, no politics





HOW TO APPLY

Generic applications are deleted. Answer all six points or do not apply.

1. Put the word CHECKPOINT at the very top of your message.

2. Links to 3 live Shopify stores you built or worked on, and exactly what you did on each.

3. One Shopify Function or checkout extension you built. What it did and how you tested it.

4. How you QA a cart discount change before it goes live. List your steps.

5. A bug of yours that reached customers. What happened and what you changed after.

6. Your available working hours in GMT+8 and your earliest start date.

Shortlisted candidates complete an unpaid trial task. Passing it is the gate to the final call with the team.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0138
Total Execution Time  0.0157
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,503,352 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Shopify-Developer-Full-Time-8-Years-Front-End-Back-End-and-QA-1746996
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0059 seconds)  (Hide)
0.0014   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1746996
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 589664
 LIMIT 1 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1746996
AND `misc`.`id` IS NULL 
0.0004   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-17',ej.date_added) duration_days, DATEDIFF('2026-10-17',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_jobs ej WHERE e.employer_id = ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id = '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-10-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1746996' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1746996 
0.0006   UPDATE employer_jobs SET hit_counts = '***Oct-09-2026=488***Oct-10-2026=127***Oct-11-2026=4***Oct-12-2026=3***Oct-14-2026=4***Oct-16-2026=1***Oct-17-2026=3' WHERE job_id= '1746996'  
0.0005   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=629' WHERE job_id= '1746996'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1746996' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1746996 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '589664'
AND `date_added` >= '2022-06-08' 
0.0004   select * from teasers 
0.0002   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)