Thoughtworks logo
思特沃克
Senior Software Developer

Senior Software Developer

发布于 5 个月前

普通员工/个人贡献者

Bangkok, Thailand
高级经验
全职员工
仅现场办公
学历未注明
软件工程
云技术
全栈开发
微服务
持续交付
敏捷开发
DevSecOps
Javascript
TDD

AI 估算 · 60k–100k

作为跨国技术咨询公司的高级开发者,需要掌握全栈与云原生技术,解决复杂业务问题并担任导师,技术门槛与综合要求高,市场竞争力强。

职位详情

关于这个职位

作为高级软件开发者,你将与业务分析师、设计师、项目经理等跨职能团队合作,为思特沃克的客户设计并交付创新的软件解决方案

你的核心职责是运用C#、JavaScript等全栈技术,通过敏捷开发、测试驱动开发(TDD)和持续交付等最佳工程实践,构建高质量的微服务架构系统,并担任初级顾问的导师

最低要求

技术技能:

拥有使用C#和JavaScript的全栈开发经验(有Java、Kotlin、PHP、Python等经验者也会被考虑)
能够熟练编写高质量、经过良好测试的代码,并熟悉面向对象编程
熟悉敏捷方法论,如极限编程(XP)、Scrum和/或看板
对测试驱动开发(TDD)、持续集成和持续交付的方法/工具有良好的认知
专业能力:
乐于影响他人,始终倡导技术卓越,同时在必要时乐于改变
在外部技术社区有影响力:愿意通过演讲、开源贡献、博客等方式与他人分享专业知识
在模糊情境中具有韧性,能够从多个角度应对挑战
其他要求:
由于项目要求,候选人必须在申请时是泰国公民

工作职责

你将:

学习并采用最佳实践,如使用TDD、结对编程和设计模式编写干净、可重用的代码
使用并倡导持续交付实践,以尽早为客户交付高质量的软件和价值
在协作、价值驱动的团队中工作,为客户构建创新的客户体验
基于微服务创建大规模分布式系统
与各种团队成员合作,构建功能、设计概念和交互式原型,并确保在此过程中嵌入最佳实践和用户体验规范
应用我们技术雷达中的最新技术思想来解决客户问题
高效利用DevSecOps工具和实践来构建和部署软件,倡导DevOps文化,并在开发中左移安全
参与或监督从构思到部署及其中间所有环节的软件咨询和交付全周期
通过你的技术知识和领导技能,担任经验较少同行的导师

优先资格

拥有AWS、Azure、Kubernetes和Docker等云技术的工作知识

AI 洞察

优缺点分析

优点

  • 平台优势:在全球领先的技术咨询公司工作,能接触各行业前沿、复杂的项目,极大拓宽技术视野和行业认知
  • 技术成长:公司倡导并实践最先进的工程文化(如XP、TDD、持续交付),是系统化提升软件工程能力的绝佳环境
  • 职业自主性:公司强调个人职业发展的自主性,并提供丰富的学习资源和支持性文化,成长路径灵活
  • 社区影响力:鼓励参与外部技术社区,通过演讲、开源贡献等方式建立个人品牌和专业网络
  • 项目复杂度高:需要快速理解不同客户的业务领域,并用技术解决其核心难题,对学习能力和适应能力要求高
  • 高强度协作:作为高级开发者,需频繁与不同背景的成员(业务、设计、项目管理)沟通协作,并推动技术决策,对软技能是持续考验
  • 适合热爱技术、追求工程卓越,并享受在复杂、快节奏的咨询环境中通过协作解决实际问题的高级软件开发者

缺点 / 挑战

  • 技术前沿压力:需要不断学习并应用公司“技术雷达”中的新兴技术,保持技术敏感度和实践能力

角色解读

  • 技术深度上,可向架构师、技术专家(如云原生、DevSecOps专家)方向发展,负责更复杂的技术决策和系统设计
  • 在领导力路径上,可发展为技术负责人(Tech Lead)、工程经理,负责团队的技术方向、项目交付和人员培养
  • 凭借在顶级咨询公司的项目经验和客户互动,未来也可转向技术咨询、解决方案架构或产品管理等更广泛的角色
  • 作为技术核心,与跨职能团队协作,将复杂的业务问题转化为高质量的软件解决方案,并推动工程最佳实践
  • 负责设计和构建基于微服务的大规模分布式系统,确保系统的可扩展性、可靠性和安全性
  • 在敏捷团队中工作,实践TDD、结对编程和持续交付,以快速迭代的方式为客户交付价值
  • 担任团队内的技术导师,指导初级成员,并营造一个鼓励健康辩论和持续学习的技术氛围
  • 扎实的全栈开发能力,精通C#和JavaScript,并熟悉面向对象编程和高质量代码的编写
  • 深入理解并实践敏捷开发、测试驱动开发(TDD)、持续集成与持续交付(CI/CD)等现代软件工程方法
  • 具备构建和维护微服务架构的经验,并对云平台(如AWS、Azure)和容器化技术(如Docker, Kubernetes)有认知或实践经验
  • 出色的沟通、协作和领导能力,能够影响团队、倡导技术卓越,并有效指导他人

申请策略

  • 深入了解思特沃克的文化,特别是其“技术雷达”和倡导的工程实践,在申请材料或面试中表达出你的认同和思考
  • 准备好讨论你对于“技术卓越”和“健康辩论”的理解,以及你如何在团队中平衡坚定的技术观点与开放接纳不同意见
  • 重点展示使用C#、JavaScript(或其他相关语言)的全栈项目经验,特别是涉及微服务、分布式系统的设计与实现
  • 详细描述你在敏捷团队中实践TDD、结对编程、持续交付的具体案例和取得的成果(如质量提升、交付加速)
  • 突出你的领导力和影响力,例如担任技术导师、推动团队采纳新技术或最佳实践、在技术社区(博客、开源、演讲)的贡献
  • 如果有云平台(AWS/Azure)或容器化(Docker/K8s)的相关经验,务必明确列出并说明应用场景
  • 如果对云原生技术栈不熟悉,可以提前学习AWS/Azure的基础服务、Docker和Kubernetes的核心概念,并尝试在个人项目中实践
  • 深化对敏捷和精益开发原则的理解,特别是极限编程(XP)的具体实践,并思考如何将其价值体现在过往经历中

面试指南

  • 对于技术问题,采用“情境-任务-行动-结果”(STAR)框架,清晰阐述背景、你的角色、采取的具体技术行动以及可量化的成果
  • 对于行为和文化问题(如协作、指导、处理分歧),重点展示你的思维方式、沟通技巧和以结果为导向的行动,而不仅仅是描述事件
  • 在回答中自然地融入你对敏捷实践、工程卓越和持续学习的理解和热情,这与公司文化高度契合
  • 请描述一个你参与过的、最具挑战性的微服务或分布式系统项目
  • 你遇到了哪些技术难题,是如何解决的?
  • 你如何在实际项目中实践测试驱动开发(TDD)?请分享一个具体例子,并说明它带来了什么好处
  • 描述一次你作为导师指导初级开发者的经历
  • 你采用了什么方法,效果如何?

职位点评

Watch Jobs