Position Profile - Software Engineer II (Xamarin / C# WPF) Job Purpose The main job purpose of a Software Engineer II is contributing to feature requirement discussions / decisions with the product manager, providing constructive and realistic feedback, feature detailed design, feature development, integrating with other features, bug fixing, unit testing, and finally documentation.
To accomplish this with finesse, the ability to understand and follow the development processes, understand the domain to get a big picture view of the development, work in completely agile development, collaborate with peers for estimation and reviews is important.
The ability to help peers and team members succeed together is crucial. Responsibility and Accountability Ownership and proactiveness in one’s own feature / bug fixes, taking things to closure.
Collaborate with the product team and peer developers to refine and iterate feature requirements. Ability to think from customer and product team perspectives.
Ability to break down requirements to tangible and clean design. Ability to use design patterns and SOLID / GRASP principles as required.
Ability to develop high-quality software from design, with well organized, well written, error handled code. Ability to unit test code for a robust delivery to test / product teams.
Ability to debug issues during and after development. Debug customer issues. Ability to profile performance and improve software performance for users.
Ability to foresee problems for development and take proactive measures to mitigate them. Embrace agile development, and the ability to estimate stories in points.
Ability to understand other’s design / code and provide constructive reviews. Ability to document as required. Keeping abreast of new technologies that could directly benefit feature design and development.
Organize work and be self-driven with little or no supervision. Skillset and background Strong working experience in Xamarin / C# WPF development with multithreading and database operations.
Strong knowledge of design patterns and theoretical computer science. Strong debugging skills for workflows, memory, and performance.
String in analytical thinking and problem-solving. Should have experience in at least two large enterprise-level projects or four to six medium-sized projects from the previous jobs.
Working knowledge in code obfuscation tools is nice to have. Knowledge of any of the unit testing frameworks. Minimum working experience of five years.
Experience in developing with Agile cycles. Traits Strong in clearly conveying what is required for the project to be a success.
Transparent and honest communication. Raise red flags early on. Thoroughness and being self-driven. Education Must be a graduate from a tier-1 / tier-2 / tier-3 ranked institute studying Computer Science Engineering with a strong academic record.
Past Jobs Must be from a tier-1, tier-2 or tier-3 ranked organization. Measure of Success Ability to understand the requirements from product owners / managers.
Ability to collaborate with peers across the work with transparency and honesty. Delivery of features within the estimated time.
Clean and well structured / written code. The highest quality of deliverable with no major bugs. Full coverage from developer testing (manual and unit testing).
Documentation as required. Supervisory Responsibility None. Reporting To Project Manager #LinkedIn #LI-POST