Sr. Software Developer(email@example.com)
- This position is Sr. Software Developer in Adobe China R&D Lightroom team. Lightroom software provides a comprehensive set of digital photography tools, from powerfully simple one-click adjustments to cutting-edge advanced controls. Create images that inspire, inform, and delight. The role of the Sr. Software Developer is to build industry-leading applications using Adobe technologies, following Adobe software development process. Candidate for this role will be an expert in desktop technologies, fully versed in object-oriented design, and have a deep knowledge of C++. Experience in Mac OS is advantageous. It’s highly desired though not mandatorily required that the candidate have solid experience about using Lightroom.
- Develop high quality code and deliver Adobe Lightroom on schedule.
- Work closely with other team members, following agile development process.
- Clearly understand the product’s existing architecture and technical roadmap.
- Ensure the new features requirements are fully understood and investigated.
- Ensure the software design and practices are sufficiently documented and shared.
- Ensure the code is fully reviewed and sufficiently verified before check-in.
- Provide design estimation if being required by manager.
- Bug fixing is needed as part of the development process.
- Work collaboratively with both local and remote team members.
- Create or updates feature specifications (test and development), writes descriptions of code functionality, and describes problem resolutions in bug reports.
- Work independently with minimum supervisions.
- Regularly report the status to manager.
- Coach and mentor junior team members.
- Continuously improve team software development process.
- Clearly understand the pros and cons existing architect and know how the code interacts with other parts of the system. Own medium to large feature independently.
- Bachelor degree or Master degree in Computer Science or equivalent.
- 3+ years of working experience in software development.
- Strong C++ development background.
- Good understanding on object-oriented design philosophy and design pattern.
- Good understanding or experience in Scrum software development process.
- Proficient knowledge in desktop application development.
- Ability to analyze, isolate and document complex technical issues.
- Ability to work independently.
- Being creative and innovative.
- Being proactive, positive and self-motivated.
- Quick learner and team player.
- Fluent verbal and written English communication skills.