Summary:
you will be involved in the entire software development lifecycle, from conception to completion of our products. you work with peers on teams dedicated to areas of the product. They work together with product managers, designers, and backend engineers to solve common goals and develop all kinds of client side software, client side SDKs, etc.
Responsibilities:
- Develop features and improvements to the JavaScript SDKs in a secure, well-tested, and performant way.
- Work with Product Management and other stakeholders (Backend, UX, Clients, etc.) to iterate on new features within the SDKs.
- Craft code that meets our internal standards for style, maintainability, and best practices for well defined APIs. Maintain and advocate for these standards through code review.
- Consistently ship small features and improvements with minimal guidance and support from other team members and Collaborate with the team on larger projects.
- Help improve the overall experience of our product through improving the quality of the SDKs features both in your team and features that benefit other teams.
- Fix prioritized issues from the issue tracker. These are typically bugs listed in a issue with an attached severity and priority label.
- Follow our workflow process, alongside the rest of the SDK developers of your dedicated team.
- Contribute to and follow our workflow process, alongside the rest of the SDK developers of your dedicated team and other teams in the company as a whole.
- Advocate for improvements to the SDKs quality, security, and performance that have particular impact across your team.
- Provide mentorship for Junior and Intermediate developers in your team to help them grow in their technical responsibilities and remove blockers.
- Solve technical problems of high scope and complexity.
- Exert influence on the overall vision and long-range goals of your team. This could be technical and/or product focused.
- Experience with performance and optimization problems, particularly at large scale, and a demonstrated ability to diagnose and prevent these problems.
- Help define and improve our internal standards for style, maintainability, and best practices for well definded APIs. Maintain and advocate for these standards through code review.
- Help to major refactors on the available SDKs codes to keep them clean and maintable for long-term
- Working closely with the Customer Success (CS) team and helping them answer technical questions from customers in the process of integrating our SDKs into their applications.
- Participate in technical meetings with our client's developers and help them to integrate our SDKs with their applications.
Requirements:
- A solid understanding of semantic HTML, CSS, and Proficient with core JavaScript concepts.
- Proficient with the latest versions of ECMAScript (JavaScript).
- A solid understanding in core web and browser concepts (e.g. how the browser parses and constructs a web page).
- relatively understanding of responsive design and implementation.
- Proficient with the latest versions of Typescript.
- Experience with performance and optimization problems and a demonstrated ability to both diagnose and prevent these problems.
- Experience using Git in a professional/workplace environment.
- General understanding of infrastructure as code and CI/CD pipelines.
- Familiarity with RESTful APIs to connect applications to back-end services.
- General understanding of software testing and have experience with testing tools such as Jest.
- Demonstrated ability to work closely with other parts of the organization.
- An inclination towards communication, inclusion, and visibility.
- Positive and solution-oriented mindset.
- Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions.
Nice to have:
- Familiarity with Marketing Automation and Advertising is considered as advantage.
- Familiarity with Svelte framework is considered as advantage.
- Familiarity with push and web push systems like FCM and VAPID mechanism is considered as advantage.
Effective communication skills:
- Regularly achieve consensus with peers, and clear status updates.
- Comfort working in a highly agile, intensely iterative software development process.
- open to learning about new technologies and sharing your knowledge with others.
- Self-motivated and self-managing, with great organizational skills.
- Domain knowledge relevant to the product stage in which you are looking to join.