Position: React Developer
Company: Inforce
Experience required: 3y
English level: upper

- 5+ years of software development experience with a focus on web technologies.
- Effective at working in 100% remote-first environment.
- Effective remote communication skills, including daily online meetings and clear status upda
- Deep Typescript knowledge, overall understanding of how the web works.

- Understanding prototyping in JavaScript and standards of ES.

- Knowledge of how APIs work - REST, HTTP errors, rate limiting, authentication, etc.

- Experience with Redux and Redux-Saga.

- Functional (React hooks) and class-based components.

- Experience with visualization libraries like D3.js, Highcharts, Recharts, TradingView.

- SCSS, PostCSS, styled-components.

- Flexbox, Bootstrap, Material UI, Semantic UI, Blueprint, or other CSS frameworks.

- TDD (Jest and Enzyme).

- Building the SPA using Webpack and Yarn.

- Experience with the Linux CLI.

- GIT, Docker, CD/CI.

- Experience with performance and optimization problems and a demonstrated ability to both diagnose and prevent these problems.

- Comfortable with working in a highly agile, intensely iterative software development process.

- Experience in releasing highly scalable products.

Advantageous to have:

- Server-side rendering experience will be a huge advantage.
- Experience with highly loaded WebSockets connections will be a huge advantage.
- Experience with Micro Frontends will be a huge advantage.
- Experience in creating SDKs.
- Experience in React Native.
- Experience with Ionic capacitor, Cordova.
- Experience in Back-end technologies: Node.js (Express), Ruby (RoR).
- Experiences with MobX, RxJS.
- Knowledge of GraphQL.

Responsibilities:

- Craft clean, efficient, and predictable code that meets our internal standards for style, maintainability, and best practices for a high-scale web environment.
- Refactor an existing codebase.
- Code review, writing documentation.
- Writing cross-browser apps with responsive and adaptive design.
- Take part in the design, implementation, and testing of the applications.
- Collaborate with other teams to design and implement systems that will provide long-term scalability, reliability and meet the strategic performance needs of the business.
- Contribute to all agile ceremonies to ensure that issues are raised, lessons are learned, and that there is a culture of continuous improvement across the development team.
- Actively resolve issues on time.