You will be responsible for:
Developing interactive frontend web applications in JavaScript/TypeScript and frameworks such as React or Vue.js,
Cooperating with UI/UX designers, project manager and business owner in finding the nicest user interface you can implement,
Choosing the best technology based on technical/non-technical requirements and constraints,
Maintaining the quality and security of the product,
Pairing with other developers, reviewing each others’ code, maintaining and establishing new code standards,
Making architectural decisions that support the business and are well-suited to its problems (and educating other team members on how to make these decisions),
Ensuring that you and your team understand the problem domain and are focused on solving the right problems,
(optionally if willing to lead in the future) Building and leading a team.
We’ll be more than happy if you:
Have knowledge of TypeScript/JavaScript and experience in one of the modern frontend frameworks (such as React, Vue.js, Angular, Svelte),
Have solid knowledge of HTML, DOM and Web APIs,
Have experience in styling complex apps using tools or methodologies like PostCSS, SASS, CSS modules, styled-components, BEM,
Create good and maintainable frontend code by applying best practices, design patterns, and principles like SOLID,
Have experience with responsive web design, mobile web development, server-side rendering, SEO, web performance optimization,
Have good knowledge of frontend testing practices (unit/integration/e2e testing, component-based testing, visual regression testing) and tools (Jest, Cypress, Storybook),
Had used REST APIs and developed GraphQL clients/servers,
Know how to develop isomorphic applications (using Next.js or Nuxt),
Have a good sense of UI/UX,
Are open to proposing architectural and structural changes,
Have strong communication skills,
Have a growth mindset,
Are communicative in written and spoken Polish and English.
Our workflow and toolset (which varies depending on the project):
In the frontend: TypeScript, React (Functional Components, Hooks, Context API), Next.js, Vue.js, Nuxt, Redux, SASS, PostCSS, CSS modules, Jest, Cypress, Storybook, Webpack, Babel, Prettier, Eslint, GitHub Actions, GitLab.
In the back-end: Elixir, Kubernetes, Google Cloud, Kafka, Kibana, Datadog.
In general: Slack, Github/Gitlab, Asana/Clickup/Jira, Figma, Notion/Confluence, Sentry, Miro/Mural.
Most projects operate in ~6 person cross-platform teams, consisting of a project manager, a technical leader, a QA and a few engineers. Such a team is usually focused on a specific part of the product, responsible for all phases of a feature rollout: design, development, release and monitoring.
Work is usually done in one or two week sprints in an agile manner (with short daily stand-ups, and a retro/planning session once in a while).
Each code change goes through a full PR-based code review and a QA review.
Automated CI/CD process with deployment is set up for staging and production environments.
Frontend apps may include a component library (Storybook-based) that’s based on a design library (Figma-based).
Automatic browser end-to-end and/or integration component tests may be a part of a feature rollout and an incorporated part of the CI/CD process.
What does the recruitment process look like?
- Video interview with People Team.
- A technical challenge - an interview with a team or live coding, or a task.
- If any other step of the recruitment process is necessary, we will inform you.
- And finally, the decision, after which we can say “welcome on board."