The Role:
We are looking for an experienced Software Design Engineer with a strong grasp of design patterns to help build high-quality software solutions. The ideal candidate will have a solid technical background and the ability to lead a team to deliver projects efficiently.
Job Responsibilities:
· Design, develop, and maintain efficient, scalable system architectures, leveraging design patterns to solve complex technical problems.
· Write high-quality code to ensure system robustness and maintainability.
· Optimize existing code structures and designs to enhance system performance and stability.
· Guide team members through code reviews and share best practices and expertise.
· Lead the technical team in designing and executing key project solutions.
Participate in requirements analysis, working closely with product, testing, and other teams to ensure smooth project delivery.
Job Requirements:
· Bachelor’s degree or above in Computer Science, Software Engineering, or a related field.
· Proficiency in various design patterns (e.g., Factory Pattern, Singleton, Observer, Strategy, etc.) and the ability to apply them flexibly based on project needs.
· Strong understanding of algorithms and data structures with the ability to optimize program performance.
· Expertise in at least one mainstream programming language such as Java, C++, Python, or JavaScript; multi-language programming experience is a plus.
· Strong leadership skills with the ability to effectively lead a team to complete tasks, and strong communication and execution abilities.
Experience with Agile development and Continuous Integration/Continuous Delivery (CI/CD) is preferred.