Senior Software Engineer (Javascript)
最低要求:· 计算机科学,软件工程或相关领域的学士学位。· 在软件开发方面丰富经验,包括在构建和交付网络应用程序方面的实践经验。· 在领导软件开发项目或团队中证明的经验。• 编程和框架方面的专业知识:· 熟练使用 JavaScript,Python,Java 或 C#等多种编程语言。· 深入了解前端框架 (React,Angular,Vue.js) 和后端技术 (Node.js,Django,Ruby on Rails). · 数据数据系统 (SQL,NoSQL) 和数据建模方面的专业技能。· 强烈了解软件设计原则,建筑模式和系统可扩展性。· 在设计和架构复杂,分布式和高度可用的系统方面的经验。· 对云平台 (AWS,Azure,Google Cloud) 和微服务体系结构的熟悉。责任:· 软件开发和实施:领导复杂网络应用程序的设计,开发和实现。· 利用编程语言,框架和图书馆方面的专业知识来提供符合企业要求的高质量,可扩展和可维护解决方案。· 技术设计和架構:参与软件系统的设计和架构中,确保可扩展性,性能和可靠性。· 与跨职业团队合作定义技术要求,建立最佳实践并推动技术创新。· 代码审查和质量保证:进行全面的代码检查以确保代码质量,遵守编码标准和最佳实践。· 导师初级工程师,提供建设性的反,帮助推动不断改善代码质量的提高和维护能力。· 技术领导和协作:向工程师团队提供技术指导和领导。· 促进合作和包容的工作环境,促进知识共享,辅导和团队工作。· 与产品经理,设计师和其他利益相关者合作以确保项目成功交付。· 解决问题和解决问题:在软件开发生命周期中出现的复杂技术问题进行调查和解决。· 使用先进的解决问题的技能来诊断并处理软件缺陷,性能瓶和系统故障。· 为团队提供指导和支持。
查看英文原文
Minimum requirements:
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- Extensive experience in software development, including significant hands-on experience in building and delivering web applications.
- Demonstrated experience in leading software development projects or teams
- Expertise in programming and frameworks:
- Proficiency in multiple programming languages such as JavaScript, Python, Java, or C#.
- Deep knowledge of front-end frameworks (React, Angular, Vue.js) and back-end technologies (Node.js, Django, Ruby on Rails).
- Expertise in database systems (SQL, NoSQL) and data modeling.
- Strong understanding of software design principles, architectural patterns, and system scalability.
- Experience in designing and architecting complex, distributed, and highly available systems.
- Familiarity with cloud platforms (AWS, Azure, Google Cloud) and microservices architecture.
Responsibilities:
- Software development and implementation: Lead the design, development, and implementation of complex web applications.
- Utilize your expertise in programming languages, frameworks, and libraries to deliver high-quality, scalable, and maintainable solutions that meet business requirements.
- Technical design and architecture: Take a leading role in the design and architecture of software systems, ensuring scalability, performance, and reliability.
- Collaborate with cross-functional teams to define technical requirements, establish best practices, and drive technical innovation.
- Code review and quality assurance: Conduct comprehensive code reviews to ensure code quality, adherence to coding standards, and best practices.
- Mentor junior engineers, provide constructive feedback, and help drive continuous improvement in code quality and maintainability.
- Technical leadership and collaboration: Provide technical guidance and leadership to a team of engineers.
- Foster a collaborative and inclusive work environment, promoting knowledge sharing, mentorship, and teamwork.
- Collaborate with product managers, designers, and other stakeholders to ensure successful project delivery
- Troubleshooting and problem-solving: Investigate and resolve complex technical issues that arise during the software development lifecycle.
- Utilize advanced problem-solving skills to diagnose and address software defects, performance bottlenecks, and system failures.
- Provide guidance and support to team members in resolving technical challenges.
- Research and innovation: Stay up-to-date with emerging technologies, industry trends, and best practices.
- Conduct research and evaluate new tools, frameworks, and methodologies to drive innovation and enhance development processes.
- Identify opportunities for process optimization, automation, and tooling enhancements.
Originally posted on Himalayas