Full Stack Software Engineer – Authoring Tools

LearnWorlds

Get hot jobs first on Telegram

New positions appear faster in our channel

Location
Greece, Cyprus
Job Type
full-time
Work Format
🌍 Remote EU
Salary
Not specified
Posted
October 17, 2026

Job Description

At LearnWorlds, we believe learning is the original human superpower — the force that turns knowledge into products, skills, and progress.

Our platform helps creators, educators, and organizations in more than 150 countries turn expertise into scalable learning experiences that sell, teach, and transform. As AI floods the world with information, learning becomes the only countermeasure — the skill that keeps humans creative, relevant, and in control. The winners won’t be those who automate fastest, but those who learn and adapt fastest. They’ll need platforms that turn knowledge into teachable systems that scale — and that’s exactly what LearnWorlds enables. 

Build. Ship. Learn. Improve. (Repeat.)

We’re redefining how people create and share online learning—and we’re doing it with engineers who care deeply about product quality, clean architecture, and meaningful impact.

We’re a remote-first, fast-growing EdTech SaaS with a global footprint. Our Engineering team builds the core experiences that thousands of educators and learners rely on daily. We move fast, we collaborate tightly, and we’re constantly leveling up—both as individuals and as a team.

We’re now looking for a Full Stack Software Engineer to join our Authoring Tools team—the team behind the experiences and tools our customers use to create engaging learning content.

This is a full-stack role with a strong frontend engineering focus. You’ll work extensively with Vue.js, while staying comfortable moving into our PHP backend whenever the product requires it. You’ll work in a fast-moving environment where small groups of engineers own projects end to end, collaborate closely with Product and Design, and continuously iterate as requirements and opportunities evolve.

We’re looking for an Εngineer who combines strong technical judgment with adaptability, ownership, and a pragmatic approach to software development. Someone who can explain not only what they would build, but why and who is excited to use AI-assisted coding as part of their everyday engineering workflow.

If you’re a proactive builder who loves solving real product challenges, this is where you’ll do your best work.

What You’ll Be Doing

  • Design and ship full-stack features for our Authoring Tools, from backend logic to polished, intuitive frontend experiences.
  • Take strong ownership of frontend architecture in Vue.js, applying thoughtful design patterns and helping us evolve consistent engineering practices.
  • Write clean, scalable backend services in PHP, focusing on performance, robustness, and maintainability.
  • Own work end to end—from understanding the problem and estimating the work to implementation, code review, iteration, and release.
  • Work across multiple projects and initiatives in parallel, adapting quickly as product requirements, priorities, and scope evolve.
  • Collaborate closely with PMs and designers—not simply implementing handed-off designs, but discussing solutions, sharing technical context, and shaping the final product together.
  • Participate actively in code reviews, giving clear, constructive feedback and being equally open to receiving it from your peers.
  • Make pragmatic decisions when working with both modern and legacy code, knowing when to improve, refactor, or build on what already exists.
  • Use AI-powered coding tools (Copilot, ChatGPT, Claude, Cursor) throughout development and code review to move faster while maintaining strong engineering judgment and quality.
  • Keep the broader product and business context in mind, balancing technical quality with speed, customer impact, and the realities of shipping software.

Why You’ll Love This Role

  • You’ll work on the tools at the heart of how LearnWorlds customers create learning experiences used by tens of millions of learners around the world.
  • You’ll have meaningful ownership: once you take on a problem, you’ll have the autonomy to drive it all the way to release.
  • You’ll work deeply on frontend engineering while remaining close to the full product stack.
  • You’ll collaborate directly with Product and Design and have real influence over how solutions are shaped—not just how they’re implemented.
  • You’ll work in a fast-moving environment where experimentation, iteration, and pragmatic engineering are part of everyday work.
  • You’ll be part of a collaborative engineering team where ideas and feedback can come from anyone, regardless of title or seniority.
  • You’ll have room to challenge existing patterns, improve legacy areas of the product, and help shape how Authoring Tools evolve.

You’ll Thrive Here If You

  • Prefer ownership over hand-holding and can independently move a problem from idea to production.
  • Are highly adaptable and comfortable when requirements, priorities, or scope change along the way.
  • Think speed and quality can (and should) co-exist.
  • Ask “why” before “how,” and can clearly explain the reasoning and trade-offs behind your technical decisions.
  • Care about frontend architecture and understand the difference between simply knowing a framework and knowing how to structure maintainable applications.
  • Are pragmatic about legacy code—you don’t need everything to be greenfield to do great work.
  • Give thoughtful, constructive feedback and are equally comfortable receiving it, regardless of someone’s title or years of experience.
  • Stay humble, curious, and open to changing your mind when new information emerges.
  • Keep product and business impact in mind rather than treating engineering decisions in isolation.
  • Believe AI won’t replace engineers—but it will empower the best ones.

Requirements

Must-haves

  • 5+ years of professional software development experience, ideally in complex SaaS or product environments.
  • Strong proficiency in modern JavaScript and Vue.js, with solid knowledge of frontend architecture, design patterns, anti-patterns, and maintainable UI development.
  • Proficiency in PHP and the ability to work confidently across backend services when needed.
  • A frontend-leaning full-stack mindset: frontend may be your strongest area, but you’re comfortable understanding, debugging, and contributing across the full stack.
  • Deep understanding of RESTful APIs, HTTP fundamentals, and modern frontend application architecture.
  • Hands-on  experience with both relational (MySQL, PostgreSQL) and noSQL (MongoDB) databases.
  • Strong software engineering fundamentals and the ability to reason about technical decisions and articulate the trade-offs behind them.
  • Experience working with and evolving legacy codebases, with a pragmatic approach to refactoring and incremental improvement.
  • Excellent debugging, problem-solving, and performance optimization skills.
  • Demonstrated ability to work autonomously, manage changing requirements, and take ownership through delivery and release.
  • Strong communication and collaboration skills, including giving and receiving constructive technical feedback.
  • High attention to detail and a product-oriented mindset.
  • Comfortable using AI-assisted development tools as part of your day-to-day engineering workflow.
  • Native or near-native Greek speaker, with a good working command of English.

Nice-to-haves

  • Experience building complex authoring tools, editors, content creation experiences, or highly interactive web applications.
  • Experience with Docker, Kubernetes, or microservices architectures.
  • Exposure to or interest in Go.
  • Experience in EdTech, LMS systems, or other complex SaaS products.
  • Experience working in small, autonomous engineering groups across multiple parallel product initiatives.
  • Experience collaborating closely with product designers and contributing technical thinking during the design process.
  • GitHub repos, open-source contributions, or personal projects you’re proud of.

Benefits

  • Private life and health insurance plan
  • Fully remote work if you prefer to work from home, apart from when we have team meetings a few times per year
  • Your personal annual training budget
  • An annual home office allowance to set up your personal space
  • Company laptop
  • 23 days of paid time off
  • 3 early summer Fridays in July and August
  • Access to AI tools at work
  • A free LearnWorlds School to build and sell your own courses
  • Company retreats & other onsite team activities (see the video of our latest retreat).

Our recruitment process is designed to give you multiple opportunities to showcase your skills and experience – while also getting to know LearnWorlds and the people you could be working with.

Depending on the role, the process may include initial conversations with members of our team, recorded AI-assisted technical interviews, take-home assignments, and live assessment sessions. While we may use AI-assisted tools as part of the process, hiring decisions are always made by people. Our hiring team reviews the relevant recordings, transcripts, and assessment results before deciding on the next steps.

You can have a look at our AI Interview Privacy Notice here.

🎯 Who is this job for?

This role is suitable for a Senior Full Stack Software Engineer with 5+ years of experience, preferably in complex SaaS or product environments, and a strong frontend focus.

The candidate should be highly skilled in modern JavaScript, Vue.js, PHP, frontend architecture, REST APIs, HTTP, MySQL or PostgreSQL, MongoDB, debugging, performance optimization, legacy-code refactoring, and AI-assisted development tools.

They should be familiar with owning features end to end, building interactive authoring tools or web applications, collaborating with Product and Design, managing changing requirements, contributing across the stack, and balancing technical quality with product impact.

💬 Potential Interview Questions

How would you structure a maintainable Vue.js application for a complex authoring tool with many interactive features?

I would separate presentation, domain, and data-access concerns using reusable components, composables, and clearly defined state boundaries. I would also establish consistent patterns for routing, validation, error handling, and API communication to reduce coupling and make the application easier to evolve.

How would you manage state in a Vue.js application, and when would you avoid using global state?

I would keep local UI state inside components or composables and use a centralized store only for shared, cross-route, or long-lived domain state. Avoiding unnecessary global state reduces coupling, simplifies testing, and prevents unrelated components from re-rendering or depending on hidden behavior.

How would you design a REST API between a Vue.js frontend and a PHP backend?

I would define resource-oriented endpoints with consistent HTTP methods, status codes, validation errors, pagination, and response formats. I would also consider authentication, authorization, idempotency, versioning, and backward compatibility so the API remains reliable as the product evolves.

What techniques would you use to improve the performance of a large Vue.js authoring interface?

I would profile first, then apply targeted optimizations such as lazy loading, code splitting, virtualized lists, debounced updates, efficient computed values, and minimizing unnecessary reactive dependencies. For complex editors, I would also consider batching changes and moving expensive processing away from the main UI thread where appropriate.

How would you implement autosave for an online course or content editor?

I would debounce changes, track dirty state, and send versioned or incremental updates with clear success and failure handling. The system should prevent conflicting writes, recover from temporary network failures, expose the save status to users, and support restoring or detecting outdated versions.

How would you approach working in an existing PHP and Vue.js legacy codebase?

I would first understand the current behavior, dependencies, and production risks before making changes. I would add characterization tests around important behavior, make small incremental refactors, and improve the code only where it directly supports reliability, maintainability, or the feature being delivered.

How would you choose between MySQL or PostgreSQL and MongoDB for a new feature?

I would choose a relational database when the feature requires strong relationships, transactions, constraints, and flexible querying across structured entities. MongoDB can be appropriate for document-shaped data with evolving schemas, but the decision should be based on access patterns, consistency requirements, operational complexity, and existing platform conventions.

How would you debug a slow request or frontend interaction in production?

I would use monitoring, logs, traces, browser performance tools, and database query analysis to identify where time is being spent. I would then reproduce the issue when possible, isolate the bottleneck, make a measurable change, and verify the improvement with appropriate metrics and regression tests.

What security concerns are important when building authoring tools and REST services?

I would address authentication, authorization at both endpoint and resource levels, input validation, output encoding, CSRF protection where applicable, secure file handling, and protection against injection and XSS. I would also avoid exposing sensitive data, apply least privilege, and audit security-sensitive operations.

How do you use AI-assisted coding tools while maintaining engineering quality?

I use AI tools to accelerate exploration, boilerplate generation, refactoring ideas, and test creation, but I verify every output against requirements, security concerns, performance expectations, and project conventions. Generated code still requires human review, focused tests, and clear ownership of the final design and implementation.

📋 Job Summary

LearnWorlds is a remote-first EdTech SaaS company helping educators and organizations in 150+ countries create and sell engaging online learning experiences. As a Full Stack Software Engineer on the Authoring Tools team, you’ll build end-to-end features, lead Vue.js frontend architecture, contribute to PHP backend services, and collaborate closely with Product and Design. The stack includes modern JavaScript, Vue.js, PHP, REST APIs, MySQL, PostgreSQL, MongoDB, Docker, Kubernetes, and AI-assisted development tools; the role is remote across Greece or Cyprus, with offices in Chania, Athens, and Limassol. Salary is not specified, but the role offers meaningful ownership, global product impact, private insurance, training and home-office budgets, 23 days of leave, a company laptop, retreats, and a chance to shape tools used by millions of learners.

Required Skills

Vue.js JavaScript PHP REST APIs MySQL PostgreSQL MongoDB Docker

Never miss a JavaScript opportunity

Subscribe to get similar jobs and weekly insights delivered to your inbox

Hiring JavaScript developers?

Post your job to 9,300+ registered developers. Starting free.

See Pricing

Related jobs

Canada

Full-Stack Developer

Nordic Naturals

Full-time
Argentina, Brazil, Colombia, Mexico, Uruguay

Full-Stack Software Engineer

Pavago

Full-time

Is this your listing? Claim or request removal