Junior Software Engineer, Full-Stack

<h2 data-section-id="16kvosu" data-start="0" data-end="11">About Us</h2> <p data-start="13" data-end="465">Epic Kids is the leading digital reading platform built for kids 12 and under, trusted by millions of children, educators, and families around the world. Our mission is to inspire a lifelong love of reading by providing unlimited access to thousands of high-quality books, videos, and educational content through a safe and engaging experience. We combine technology, storytelling, and learning innovation to help every child become a confident reader.</p> <p data-start="467" data-end="638">At Epic, you’ll join a collaborative and fast-paced global team passionate about building meaningful products that make a real impact on children’s education and literacy.</p> <h2 data-section-id="115i9ww" data-start="640" data-end="659">Position Summary</h2> <p data-start="661" data-end="1562">The<span class="Apple-converted-space"> </span><strong data-start="665" data-end="705">Junior Software Engineer, Full-Stack</strong><span class="Apple-converted-space"> </span>is an entry-level role designed for<span class="Apple-converted-space"> </span><strong data-start="742" data-end="762">recent graduates</strong><span class="Apple-converted-space"> </span>beginning their professional engineering careers. You will write code across our web stack—front-end in Angular/TypeScript, back-end in PHP and Go—on well-scoped tasks under the close guidance of senior engineers. Our back-end is multi-language: PHP/Symfony powers our long-standing application code, and we are actively investing in Go for newer services—so a willingness to learn both, and to grow with the direction the codebase is moving, matters. The first year is about learning: our codebase, our review and release process, how features move from idea to production, and the fundamentals of writing software that other engineers can trust. You will pair with senior teammates, take part in code reviews as both author and reviewer, and grow into larger pieces of work as your skills develop.</p> <p data-start="1564" data-end="1732">This is a fully remote, US-based role working closely with a global, bilingual (English–Chinese) engineering team.<span class="Apple-converted-space"> </span><strong data-start="1679" data-end="1732">New and recent graduates are encouraged to apply.</strong></p> <h2 data-section-id="18w7bso" data-start="1734" data-end="1757">Key Responsibilities</h2> <ul data-start="1759" data-end="2899"> <li data-section-id="1ucqtlj" data-start="1759" data-end="1889">Implement well-scoped front-end features and UI changes in<span class="Apple-converted-space"> </span><strong data-start="1820" data-end="1831">Angular</strong><span class="Apple-converted-space"> </span>(TypeScript, SCSS) under the guidance of senior engineers</li> <li data-section-id="qwi2c8" data-start="1890" data-end="2103">Implement well-scoped back-end endpoints and changes against<span class="Apple-converted-space"> </span><strong data-start="1953" data-end="1962">MySQL</strong>, working in<span class="Apple-converted-space"> </span><strong data-start="1975" data-end="1982">PHP</strong><span class="Apple-converted-space"> </span>(Symfony + Doctrine ORM) on existing application code and in<span class="Apple-converted-space"> </span><strong data-start="2044" data-end="2050">Go</strong><span class="Apple-converted-space"> </span>on newer services as the team's Go footprint expands</li> <li data-section-id="ln5m7w" data-start="2104" data-end="2227">Investigate and fix bugs across the stack—reproduce the issue, identify the cause with help when needed, and ship the fix</li> <li data-section-id="3sowhy" data-start="2228" data-end="2314">Write unit tests for the code you ship and keep tests passing on the areas you touch</li> <li data-section-id="hq3tan" data-start="2315" data-end="2372">Participate in code reviews as both author and reviewer</li> <li data-section-id="1ydfto7" data-start="2373" data-end="2499">Work with designers, product managers, and senior engineers to translate small user-facing requirements into shipped changes</li> <li data-section-id="kd02af" data-start="2500" data-end="2595">Maintain documentation—READMEs, code comments, and onboarding notes—for the areas you work in</li> <li data-section-id="wtfhwd" data-start="2596" data-end="2738">Use AI-assisted development tools to support learning and productivity, ensuring you understand and can defend every line of code you commit</li> <li data-section-id="1heqfgx" data-start="2739" data-end="2899">Take on progressively larger and more independent scopes of work as you ramp on the codebase, supported by pairing and code walkthroughs with senior engineers</li> </ul> <h2 data-section-id="1cpo032" data-start="2901" data-end="2927">Required Qualifications</h2> <ul data-start="2929" data-end="3928"> <li data-section-id="1191rbh" data-start="2929" data-end="3155">Bachelor's degree (recently completed or completing within the next 6 months) in Computer Science, Software Engineering, or a closely related field—or equivalent practical preparation (e.g., bootcamp + substantial portfolio)</li> <li data-section-id="1v3ahku" data-start="3156" data-end="3275">Solid grasp of programming fundamentals: data structures, control flow, basic algorithms, object-oriented programming</li> <li data-section-id="zviwvh" data-start="3276" data-end="3429">Hands-on coding experience in at least one modern programming language through coursework, personal projects, internships, or open-source contributions</li> <li data-section-id="nvz4j9" data-start="3430" data-end="3558">Familiarity with<span class="Apple-converted-space"> </span><strong data-start="3449" data-end="3478">HTML, CSS, and JavaScript</strong><span class="Apple-converted-space"> </span>(or<span class="Apple-converted-space"> </span><strong data-start="3483" data-end="3497">TypeScript</strong>) at a level sufficient to build simple interactive web pages</li> <li data-section-id="nm1wjz" data-start="3559" data-end="3618">Familiarity with<span class="Apple-converted-space"> </span><strong data-start="3578" data-end="3585">Git</strong><span class="Apple-converted-space"> </span>and pull-request-based workflows</li> <li data-section-id="3lnjnz" data-start="3619" data-end="3717">Basic familiarity with<span class="Apple-converted-space"> </span><strong data-start="3644" data-end="3668">relational databases</strong><span class="Apple-converted-space"> </span>and<span class="Apple-converted-space"> </span><strong data-start="3673" data-end="3680">SQL</strong><span class="Apple-converted-space"> </span>(SELECT, JOIN, simple WHERE clauses)</li> <li data-section-id="19dqtk8" data-start="3718" data-end="3812">Eagerness to learn, openness to feedback, and willingness to ask questions rather than guess</li> <li data-section-id="1jhk8q1" data-start="3813" data-end="3928">Strong written and verbal communication skills in<span class="Apple-converted-space"> </span><strong data-start="3865" data-end="3876">English</strong><span class="Apple-converted-space"> </span>for daily collaboration and technical documentation</li> </ul> <h2 data-section-id="1bdyt7m" data-start="3930" data-end="3949">Preferred Skills</h2> <p data-start="3951" data-end="4059">Any of the following are nice to have but<span class="Apple-converted-space"> </span><strong data-start="3993" data-end="4009">not required</strong>—we expect to teach our specific stack on the job:</p> <ul data-start="4061" data-end="5343" data-is-last-node="" data-is-only-node=""> <li data-section-id="f6a76c" data-start="4061" data-end="4240">Coursework, internship, or side-project exposure to a modern component-based front-end framework (<strong data-start="4161" data-end="4172">Angular</strong>, React, or Vue) and reactive patterns (<strong data-start="4212" data-end="4220">RxJS</strong>, hooks, or similar)</li> <li data-section-id="1m5koyr" data-start="4241" data-end="4567">Coursework, internship, or side-project exposure to a server-side language (<strong data-start="4319" data-end="4326">PHP</strong><span class="Apple-converted-space"> </span>or<span class="Apple-converted-space"> </span><strong data-start="4330" data-end="4336">Go</strong><span class="Apple-converted-space"> </span>especially welcomed; Java, Python, or Node.js also fine) — bonus if used with a framework such as Symfony, Spring, Laravel, Express, or Django, or with Go's standard library and common patterns (HTTP handlers, goroutines, modules)</li> <li data-section-id="ge2zjd" data-start="4568" data-end="4653">Exposure to an ORM (<strong data-start="4590" data-end="4602">Doctrine</strong>, Hibernate, Eloquent, Prisma, TypeORM, or similar)</li> <li data-section-id="5z25k6" data-start="4654" data-end="4779">Exposure to unit-testing frameworks (<strong data-start="4693" data-end="4710">Jasmine/Karma</strong>, Jest,<span class="Apple-converted-space"> </span><strong data-start="4718" data-end="4729">PHPUnit</strong>,<span class="Apple-converted-space"> </span><strong data-start="4731" data-end="4757">Go's<span class="Apple-converted-space"> </span><code data-start="4738" data-end="4747">testing</code><span class="Apple-converted-space"> </span>package</strong>, JUnit, pytest, etc.)</li> <li data-section-id="t6wi76" data-start="4780" data-end="4839">Exposure to<span class="Apple-converted-space"> </span><strong data-start="4794" data-end="4804">Docker</strong><span class="Apple-converted-space"> </span>or containerized local development</li> <li data-section-id="s6ow94" data-start="4840" data-end="4995">Exposure to any cloud platform (<strong data-start="4874" data-end="4881">GCP</strong><span class="Apple-converted-space"> </span>preferred; AWS or Azure also welcomed) — e.g., deploying a personal project, working through a free-tier tutorial</li> <li data-section-id="13l58pu" data-start="4996" data-end="5041">Internship experience at a software company</li> <li data-section-id="xii2lt" data-start="5042" data-end="5170">Open-source contributions, hackathon projects, capstone work, or other evidence of engineering curiosity outside of coursework</li> <li data-section-id="1c3f69v" data-start="5171" data-end="5277">Working proficiency in<span class="Apple-converted-space"> </span><strong data-start="5196" data-end="5216">Mandarin Chinese</strong><span class="Apple-converted-space"> </span>to collaborate with global engineering and business partners</li> <li data-section-id="n25inv" data-start="5278" data-end="5343" data-is-last-node="">Interest in ed-tech, children's media, or content-platform work</li> </ul>

Back to blog

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...