Lead Software Engineer - Windows App Development
Description
The ideal candidate is expected to have experience and be comfortable with:
- the most common approaches to native Windows development in recent years - WPF, UWP, Electron/RNW with large native modules – and their relative trade-offs
- upstream open source contributions and collaboration
- performance optimizations in JavaScript, Native platform, and graphics rendering.
The candidate will be expected to work with peers on other client teams and PM + Design to create, review and influence engineering design and specs on new Windows App features, as well as lead by example by implementing some of the features themselves. The design and code artifacts delivered will be evaluated for the goals of reusability, modularity and repeatable testability.
Responsibilities:
- Working with other internal teams (i.e. PM, Design, and BI) to conceptualize and productize collaboration features efficiently in line with product vision.
- Reviewing requirements and respond with technical implementation spec that can serve as a reference for Windows developers and eventually across other eco-systems too for a given feature.
- Triaging incoming support issues and provide fixes and feedback within SLA times to the customer-facing teams.
- Interview, onboard and mentor interns and junior developers.
- Instrumenting product with detailed, well-documented data analytics that guides design and planning decisions.
- Participating actively in scrums, sprint planning, and retros and reinforcing the importance of sprint and Agile rituals to junior team members by example.
- Keeping our product awesome by enhancing and contributing to upstream react and react-native frameworks
- Maintaining a tight feedback loop for developers and internal users by doing test-driven development at the unit- and acceptance-test level for fast feedback both in local development environments, in our cloud CI providers, and our internal continuous deployment.
- Ensuring we keep performance gains by enhancing our existing performance CI test suite that does automated CPU and GPU profiling on our target customer hardware.
- Continuously teach, learn, and strive for a generalized skill set with collaborative design and programming, both locally in our BLR office, and with our remote collaborators in SJ and Ukraine
- Influence the platforms we rely on by communicating wants and needs to our partners at Microsoft, Google, Facebook, and others in the areas of WebRTC and web standards, managed runtimes (JavaScript, Typescript, etc), React, and open source efforts.
- Attend local meetups, participate in relevant conferences, and be active in relevant chat, email, and other channels.
You’ll need to have:
- Bachelor’s degree and 6+ or more years of work experience.
- Five or more years of relevant work experience in C#, .NET, windows programming
- Demonstrated experience in C#/.Net UI programming, designing windows desktop applications
- Prior experience in at least 2-3 of the following areas: React Native, WPF, COM / ActiveX, DirectX particularly D3D and DSound, DirectShow, react-native-windows, react-native-UWP, UWP, GPU Shaders/Compute, Windows internals
- Experience with Windows multimedia API (wave API, core audio, mixer API).
Even better if you have:
- Experience writing tests to prove that your code is correct, modular, well written, and to prevent regressions.
- Experience presenting programming patterns and libraries to your colleagues and leaders and/or a meetup group