Technical Product Owner Intern

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

TYPE OF WORK

Any

SALARY

50

HOURS PER WEEK

20

DATE UPDATED

Jul 24, 2026

JOB OVERVIEW

Mvolo is a Dutch e-commerce brand selling light therapy products across Europe. Next to the brand we build our own software products, including a business intelligence platform and an internal operations system. Our team is fully remote and works in small focused squads.

The Role
You work directly under our founder and support the delivery of two software products. You learn how a real product team runs, from writing clear tasks to reviewing code and shipping releases. This is not a coffee run internship. You will touch the codebase, sit in on reviews and own small parts of the roadmap yourself. We hire interns with the intention to keep them.

What You Will Do
Break down feature requests into clear developer tasks with acceptance criteria
Track progress across two products and flag blockers early
Read pull requests and learn how we review and approve code
Write and run small scripts or queries to check data quality
Build simple reports on product usage and business metrics
Keep documentation current so nothing lives only in someone’s head

What We Are Looking For

Required
You can write and read code yourself without depending on AI tools
You understand SQL and can pull and clean data on your own
You write clear structured English and explain technical things simply
You are available full time and have a stable internet connection and a quiet workspace
You take ownership and speak up when something is unclear

Nice to have
Experience with Git and pull request workflows
Familiarity with e-commerce platforms or marketplaces
Exposure to Supabase, Postgres or any modern data stack

Skills Requirement
Project Management
Web Development
E-Commerce

What We Offer
Direct mentorship from the founder with weekly one on one sessions
Real ownership over parts of two live products
Monthly allowance and a clear pathway to a permanent position
Fully remote work with flexible hours and results based management
A small team where your input actually changes the product

How To Apply
Send your application with the subject line PO Intern followed by your first name. Include your CV, a link to any code you have written and short answers to these three questions.

1. Explain in your own words what happens between a developer finishing a feature and that feature going live for users
2. You get a table with 50.000 rows of order data and are asked to find why revenue dropped last month. What are the first three things you check
3. Describe something you built yourself from start to finish and what broke along the way

Applications without answers to all three questions will not be reviewed.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0107
Total Execution Time  0.0121
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,508,456 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Technical-Product-Owner-Intern-1695985
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0052 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1695985
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 786962
 LIMIT 1 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1695985
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-30',ej.date_added) duration_daysDATEDIFF('2026-07-30',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_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-07-30',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1695985' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1695985 
0.0007   UPDATE employer_jobs SET hit_counts '***Jul-24-2026=506***Jul-25-2026=73***Jul-26-2026=11***Jul-30-2026=1' WHERE job_id'1695985'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=590' WHERE job_id'1695985'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1695985' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1695985 
0.0005   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '786962'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)