✨ Your mission
As an Front-End Software Engineer, you’ll be an autonomous contributor within our focused front-end team—a center of excellence across our 70+ engineering organization. You’ll work hands-on building and refining the visual face of Swan’s platform across two critical surfaces:
Swan’s Component Library: The ready-to-use front-end components that our partners integrate directly into their products—enabling them to build banking experiences without starting from scratch
Swan’s Interfaces: The dashboards and tools that thousands of developers and millions of end-users interact with daily
This is a role for engineers ready to own features end-to-end, from design discussions through production deployment. You’ll collaborate closely with product designers, backend engineers, and product managers while growing your technical expertise in a demanding, high-impact environment. You’ll have the opportunity to shape how companies build financial experiences, contribute to our open-source component ecosystem, and grow toward senior engineering roles.
✨ Your responsibilities
Feature Ownership & Delivery (35%)
Own features end-to-end across both the component library and internal interfaces, from technical design through production deployment and monitoring
Work autonomously on projects with limited uncertainty, delivering value on time
Reduce scope intelligently when needed to meet deadlines without compromising quality
Handle unexpected complications without derailing timelines—you’re resourceful and pragmatic
Deliver consistently, building trust with your team through reliable execution
Component Library Development & Maintenance (15%)
Build and maintain reusable components that are intuitive, flexible, and maintainable—your users are other developers
Ensure backward compatibility and handle breaking changes gracefully with clear migration paths
Write comprehensive documentation including usage examples, props API, accessibility guidelines, and integration guides
Provide developer support by triaging issues, reviewing partner implementations, and improving DX based on feedback
Optimize for bundle size and performance—partners integrate your components into their production apps
Technical Execution & Code Quality (25%)
Write production-grade React, TypeScript, and GraphQL code that’s clean, maintainable, and well-tested
Provide insightful code reviews and approve PRs independently, helping elevate the entire team
Write comprehensive tests (unit, integration, visual regression, accessibility) covering edge cases and critical user paths
Design reliable components considering failure modes, edge cases, and varied integration contexts
Implement security and performance best practices, ensuring interfaces are fast, accessible, and secure
Propose refactoring to reduce technical debt and improve maintainability across both codebases
Collaboration & Communication (10%)
Collaborate effectively across teams to solve complex problems spanning front-end, backend, and partner integrations
Explain technical concepts clearly to non-technical stakeholders (product, design, QA) and to partner developers
Gather feedback from partners using the component library and translate it into improvements
Provide timely, constructive feedback to peers in code reviews and design discussions
Participate in technical interviews, evaluating candidates and representing our engineering culture
Production Operations & Continuous Improvement (15%)
Monitor component usage and performance across partner implementations
Create meaningful dashboards and alerts for the services you own
Participate in on-call rotation, responding to incidents affecting both our product and partner integrations
Investigate production issues independently, including debugging issues in partner implementations
Handle deployments and rollbacks autonomously, coordinating breaking changes with affected partners
Technical Excellence
You have 2-5 years of professional software development experience, with demonstrated growth and increasing autonomy
You’re highly skilled in React, TypeScript, and GraphQL—these are your daily tools, not aspirations
You write clean, tested, maintainable code and care deeply about code quality
You understand modern front-end architecture patterns (component composition, state management, data fetching strategies)
You have experience with testing strategies (unit tests with Jest/Vitest, component testing, e2e with Playwright/Cypress, visual regression)
You’re comfortable with Git workflows, CI/CD pipelines, and modern development tooling
You understand responsive design, accessibility (WCAG), and performance optimization
Component Library & Developer Experience (Highly Valued)
You’ve built or contributed to reusable component libraries or design systems
You understand component API design principles (composition, flexibility, sensible defaults)
You think about developer experience as a product: intuitive APIs, clear documentation, helpful error messages
You’re familiar with library tooling (bundlers, tree-shaking, CSS-in-JS, TypeScript type generation)
You understand versioning strategies and how to evolve public APIs without breaking consumers
You care about bundle size, tree-shaking, and performance in library contexts
You’ve written technical documentation for developers (not just end-users)
Architecture & System Design (Growing Skills)
You can design reliable components that work in varied integration contexts, considering failure modes and edge cases
You understand distributed systems fundamentals (async communication, event-driven patterns, error handling)
You’re learning about system design trade-offs (consistency vs. availability, performance vs. maintainability, flexibility vs. simplicity)
You understand common patterns like circuit breakers, retries with exponential backoff, and graceful degradation
You’re curious about how front-end connects to backend (APIs, GraphQL queries/mutations, real-time subscriptions)
Collaboration & Ownership
You take ownership of features from concept to production, thinking about user impact and business value
You balance product work with platform work—understanding when to build for Swan vs. when to build for partners
You communicate proactively about status, blockers, and technical decisions
You can explain technical concepts to different audiences: engineers, product managers, and partner developers
You’re comfortable working across the stack when needed (debugging backend issues, understanding database queries)
You can work with limited supervision and handle ambiguity without losing momentum
Passion for Craft
You have a strong UX/UI sensibility and care about the details that make interfaces delightful
You think about developer experience as a product itself (component APIs, documentation, ease of integration)
You stay current with front-end technologies and bring new ideas to the team
You’re passionate about building great products, whether through personal projects, open-source contributions, or professional work
You have professional-level English (Swan is an international team)
❤️ Our Ideal Teammate
Empathetic: You understand your team, users, and stakeholders
Skilled: You combine technical depth with growing leadership abilities
Frank: You communicate directly and value honest feedback
No ego: We love to challenge each other, and we leave our egos at the door
Bonus Points (Not Required)
Experience with design systems (Radix, Shadcn, Material-UI, Ant Design) or building component libraries from scratch
Familiarity with component library tooling (Storybook, Chromatic, Ladle)
Familiarity with bundler tooling (tsup, Rollup, Vite)
Experience with monorepo management (Turborepo, Nx, pnpm workspaces)
Understanding of CSS-in-JS solutions (Styled Components, Emotion, Vanilla Extract)
Contributions to open-source component libraries or design systems
Experience with automated testing strategies (visual regression testing, contract testing, accessibility testing)
Familiarity with fintech, embedded banking, or regulatory technology (PCI DSS, GDPR, strong customer authentication)
Understanding of system architecture beyond front-end (databases, message queues, distributed systems)
Experience working in product-driven environments with cross-functional teams (Product, QA, Security, Platform)
Experience supporting external developers (developer relations, technical writing, community management)
A 30-min video call with our Talent Acquisition Manager, to get to know you, understand your career expectations and answer your questions
CTO Interview
System Design Interview
Peer Interview with Product/Product Design
Meet Alix Baggio, Software Engineer
Rencontrez David, Engineering Manager
Tyto společnosti rovněž nabírají pracovníky na pozici "{profese}".