Location
Heraklion, Crete, Greece
Job Type
full-time
Work Format
🏢 Hybrid
Salary
Not specified
Posted
October 8, 2026

Job Description

At Epignosis our mission is simple yet bold: To make learning technologies accessible to every business, regardless of geography, sector, or company size. And we've been doing just that for more than two decades, empowering millions of people to grow, learn, and thrive through technology that's both powerful and affordable.

We're rapidly becoming one of Greece's largest SaaS companies, serving 12,000+ companies and 22+ million learners worldwide with solutions like TalentLMS (an award-winning cloud LMS built for simplicity), eFront (an enterprise LMS), TalentCards (a mobile app for deskless training), and TalentHR (a lightweight HRIS for people operations).

Our success is built on a team that believes that work should matter: not only to you, but to the world around you. We're looking for people who light up when solving hard problems, who care deeply about their craft, and who want to build something that genuinely helps people grow.

We are looking for a Software Engineer to help shape the next generation of the TalentLMS mobile experience. Our squad is rebuilding the mobile apps from scratch with React Native, Expo, and TypeScript to replace our legacy native apps. The foundations are still evolving, so you will have direct input into how we architect, build, and ship the product. You do not need prior React Native experience: strong React fundamentals, sound engineering judgment, and a willingness to learn matter more. We will help you transfer those skills to mobile development and grow into the platform.

Responsibilities

In this role, you will:

  • Build and ship user-facing features for TalentLMS using React Native and TypeScript.
  • Own medium-sized features end to end: understand the problem, break down the work, estimate it, implement and test it, release it, and follow how it performs in production.
  • Work closely with Product and Design, ask questions early, challenge assumptions when useful, and help turn product ideas into solutions that work well for users and the codebase.
  • Investigate production issues, crashes, regressions, and performance problems, using what you learn to make the product more reliable.
  • Use unit, integration, and end-to-end tests where they add confidence, and validate your work across both iOS and Android.
  • Own app releases from store submission through rollout monitoring on the App Store and Google Play.
  • Improve the foundations of the app, including performance, accessibility, stability, push notifications, deep links, and developer experience.
  • Take part in code reviews and technical discussions, explain your thinking, raise blockers early, and give and receive feedback constructively.
  • Help shape our engineering practices, tooling, and technical foundations as the product and team evolve.
  • Share what you learn with the team and help less experienced engineers grow when the opportunity comes up.

Requirements

To be successful in this role, you should have:

  • 2+ years of professional software engineering experience.
  • Strong JavaScript/TypeScript and React fundamentals.
  • A solid understanding of component design, state, data flow, and modern frontend engineering practices.
  • Experience with application state management, such as Redux or similar approaches.
  • Experience consuming and working with REST APIs.
  • Experience writing automated tests and good judgment about what is worth testing at each level.
  • Experience working with Git and collaborative development workflows such as pull requests and code reviews.
  • Familiarity with CI/CD and automated software delivery.
  • The ability to break down technical work, make sensible trade-offs, and deliver with limited guidance, while knowing when to keep digging and when to ask for help.
  • A sense of ownership for the code and product you ship, including when something goes wrong in production.
  • Curiosity and a habit of learning, experimenting, and improving how you work.
  • A product mindset: you want to understand why something matters, not just how to implement it.
  • The ability to give and receive constructive feedback and work effectively with people from different disciplines.
  • Comfort using AI-assisted development tools where they help, while validating the output and keeping ownership of the engineering decisions and code you ship.

Nice to have

These are useful, but we don’t expect you to tick every box:

  • React Native.
  • Expo and its ecosystem.
  • Native mobile development with Swift/iOS or Kotlin/Android.
  • Offline-first applications or local data storage.
  • Mobile accessibility.
  • Push notifications and deep linking.

If you’re a strong React engineer who’s excited about mobile but hasn’t worked professionally with React Native yet, we still want to hear from you.

Benefits

We've built a workplace where people can do the best work of their careers. Here's how we support that:

  • Competitive salary and bonuses. Strong base pay plus performance rewards at personal, team, and company levels.
  • Stock options for everyone. Build software that empowers millions of learners worldwide, and own a piece of what you're creating. All team members can become shareholders, and these options have already changed lives.
  • Your health is covered in more ways than one. Private health coverage for every team member, access to a nutritionist, and our in-house blood bank — all part of our health and wellness support.
  • Comprehensive family support. We’re proud of our progressive family policy, one of the most generous in Greece.
  • Daily meals and food allowance. Breakfast and catered lunch at our offices, plus a monthly meal allowance you control.
  • Commute covered. OASA transport card or parking space near the office, whichever works for your commute.
  • Hybrid work. Work from home and from our modern office in the heart of Athens.
  • Learning budget for your growth. Coaching sessions, conferences, university degrees, creative pursuits — we fund it. Continuous learning is our mission and that includes you.
  • Part of the Starttech Ventures ecosystem. Access to learning and collaboration across a portfolio of SaaS companies, with resources that support long-term growth.

Ready to grow your career while helping millions of people learn? Join us.

🎯 Who is this job for?

This role is best suited to a Middle-level Software Engineer with at least two years of experience and strong JavaScript/TypeScript and React fundamentals; prior React Native experience is helpful but not required.

The candidate should be skilled in state management, REST APIs, automated testing, Git, code reviews, CI/CD, collaborative development, and making sound technical trade-offs with a strong product and ownership mindset.

They should be familiar with building and releasing user-facing features, investigating production issues, improving performance and accessibility, validating applications on iOS and Android, and contributing to mobile foundations such as push notifications, deep links, and app releases.

💬 Potential Interview Questions

How would you structure a medium-sized feature in a React Native and TypeScript application from discovery through release?

I would clarify the user problem and acceptance criteria, identify API and design dependencies, break the work into incremental tasks, and estimate risks. I would implement the feature with tests, validate it on both iOS and Android, release it through the established CI/CD process, and monitor its production behavior.

How do you decide what state belongs in React component state versus a global store such as Redux?

Local UI state, such as form input or modal visibility, should generally remain within the component or feature. Shared, cross-screen, or server-related state belongs in a global store when multiple parts of the application need consistent access and updates.

How would you design a reliable data flow for consuming a REST API in React Native?

I would define typed request and response models, centralize API communication, and handle loading, success, empty, error, and retry states explicitly. I would also consider caching, request cancellation, authentication failures, and consistent error reporting so screens remain predictable and maintainable.

What are common causes of performance problems in React Native, and how would you investigate them?

Common causes include unnecessary re-renders, large lists rendered inefficiently, excessive JavaScript work, oversized assets, and slow native or network operations. I would reproduce the issue, measure it with profiling tools and production telemetry, then optimize component memoization, list virtualization, data processing, or native interactions based on evidence.

How would you optimize a React Native screen that renders a large list of learning materials?

I would use a virtualized list such as FlatList, provide stable keys, avoid expensive work during rendering, and tune properties such as window size and batch rendering where appropriate. I would also paginate or incrementally load data and ensure row components do not re-render unnecessarily.

What testing strategy would you use for a React Native feature?

I would unit test pure business logic and state transformations, use integration tests for component behavior and API interactions, and reserve end-to-end tests for critical user journeys such as login, course access, or navigation. The goal is meaningful confidence rather than maximizing coverage without regard to maintenance cost.

How would you implement and test deep linking in a React Native application?

I would define a consistent URL scheme, map paths and parameters to navigation routes, and handle links when the app is cold-started, backgrounded, or already open. I would test valid, invalid, authenticated, and unauthenticated links on both iOS and Android, including fallback behavior.

What considerations are important when implementing push notifications for iOS and Android?

I would handle permission flows, device-token registration, platform-specific configuration, notification payloads, and navigation when a notification is selected. I would also account for foreground, background, and terminated states, while monitoring delivery and failures without exposing sensitive information in payloads.

How would you improve accessibility in a React Native mobile application?

I would provide accessible labels, roles, hints, and states; ensure logical focus and navigation order; support dynamic text sizes and sufficient contrast; and avoid relying only on color or gestures. I would validate behavior with VoiceOver and TalkBack on real devices and include accessibility checks in feature testing.

How would you approach releasing and monitoring a new version through the App Store and Google Play?

I would verify platform-specific builds, signing, configuration, tests, and release notes through CI/CD, then submit staged releases when possible. After launch, I would monitor crash rates, performance, adoption, and user feedback, define rollback or hotfix criteria, and investigate regressions promptly.

📋 Job Summary

Epignosis is a fast-growing Greek SaaS company helping more than 22 million learners worldwide through products such as TalentLMS. As a Software Engineer, you’ll build and ship mobile features, improve performance and reliability, investigate production issues, and own releases across iOS and Android. The stack includes React Native, Expo, TypeScript, React, Redux, REST APIs, automated testing, and CI/CD; the role is hybrid in Athens or Heraklion. You’ll receive a competitive salary with performance bonuses, stock options, strong health and family benefits, and a learning budget—while shaping a mobile product used by millions.

Required Skills

React Native TypeScript JavaScript Redux REST APIs Git CI/CD Unit Testing

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,100+ registered developers. Starting free.

See Pricing

Related jobs

Costa Rica

Senior Fullstack Engineer

SimSpace

Full-time
Czech Republic, Slovakia

Staff Frontend Engineer (TypeScript, React)

SentinelOne

Full-time

Is this your listing? Claim or request removal