Tasks:
- Design, implement and support software system
- Write tests which cover major amount of functionality and non-functional requirements
- Perform code review for other front-end developers
- Browser plugin development
- Desktop application development using electron.js
- Participate in architecture meetings and take part in making architecture decisions
- Provide knowledge transfer inside the company (document important parts of the system, provide workshops or lectures inside the company)
- Provide mentorship for junior developers and interns
- Analyse requirements and select technologies which will speed up implementation keeping quality on needed level
- Provide estimations for all related tasks
- Perform issue- and bug-fixing
Education and experience:
- A bachelor’s degree or higher
- At least 4 years of experience in Javascript development an how web works
- At least 2 years of pertinent experience at the similar senior position
- Knowledge of software engineering processes
- Experience in designing software solutions
- Participation on key position in at least one successful project.
Technical competences and qualifications:
- Excellent analytical and problem-solving skills
- Deep knowledge of Javascript language
- Good understanding of building tools, for example Webpack
- NodeJS knowledge and how it differs from developing client-side applications is a plus
- Experience in optimizing web assets and content (chunking, server-side (pre)rendering, lazy loading, etc.)
- Skilled at writing tests (test-driven approach is preferred) and using UI testing frameworks
- Proficiency in html/css markup
- Experience in browser plugin development
- Knowledge of Google Chrome API
- Knowledge of MDN WEB API
- Experience in electron.js
Required soft skills:
- Impeccable communication, presentation and organizational skills
- Significant attention to details
- Maintain a positive attitude while giving and receiving constructive criticism to make improvements and take appropriate corrective actions
- Honesty and ethic
- Be open to changes (positive or negative) and to considerable variety in the work place
- Willingness to take on responsibilities and challenges