ThoughtWorks
  • 联系我们
  • Español
  • Português
  • Deutsch
  • English
概况
  • 工匠精神和科技思维

    采用现代的软件开发方法,更快地交付价值

    智能驱动的决策机制

    利用数据资产解锁新价值来源

  • 低摩擦的运营模式

    提升组织的变革响应力

    企业级平台战略

    创建与经营战略发展同步的灵活的技术平台

  • 客户洞察和数字化产品能力

    快速设计、交付及演进优质产品和卓越体验

    合作伙伴

    利用我们可靠的合作商网络来扩大我们为客户提供的成果

概况
  • 汽车企业
  • 清洁技术,能源与公用事业
  • 金融和保险企业
  • 医疗企业
  • 媒体和出版业
  • 非盈利性组织
  • 公共服务机构
  • 零售业和电商
  • 旅游业和运输业
概况

特色

  • 技术

    深入探索企业技术与卓越工程管理

  • 商业

    及时了解数字领导者的最新业务和行业见解

  • 文化

    分享职业发展心得,以及我们对社会公正和包容性的见解

数字出版物和工具

  • 技术雷达

    对前沿技术提供意见和指引

  • 视野

    服务数字读者的出版物

  • 数字化流畅度模型

    可以将应对不确定性所需的数字能力进行优先级划分的模型

  • 解码器

    业务主管的A-Z技术指南

所有洞见

  • 文章

    助力商业的专业洞见

  • 博客

    ThoughtWorks 全球员工的洞见及观点

  • 书籍

    浏览更多我们的书籍

  • 播客

    分析商业和技术最新趋势的精彩对话

概况
  • 申请流程

    面试准备

  • 毕业生和变换职业者

    正确开启技术生涯

  • 搜索工作

    在您所在的区域寻找正在招聘的岗位

  • 保持联系

    订阅我们的月度新闻简报

概况
  • 会议与活动
  • 多元与包容
  • 新闻
  • 开源
  • 领导层
  • 社会影响力
  • Español
  • Português
  • Deutsch
  • English
ThoughtWorks菜单
  • 关闭   ✕
  • 产品及服务
  • 合作伙伴
  • 洞见
  • 加入我们
  • 关于我们
  • 联系我们
  • 返回
  • 关闭   ✕
  • 概况
  • 工匠精神和科技思维

    采用现代的软件开发方法,更快地交付价值

  • 客户洞察和数字化产品能力

    快速设计、交付及演进优质产品和卓越体验

  • 低摩擦的运营模式

    提升组织的变革响应力

  • 智能驱动的决策机制

    利用数据资产解锁新价值来源

  • 合作伙伴

    利用我们可靠的合作商网络来扩大我们为客户提供的成果

  • 企业级平台战略

    创建与经营战略发展同步的灵活的技术平台

  • 返回
  • 关闭   ✕
  • 概况
  • 汽车企业
  • 清洁技术,能源与公用事业
  • 金融和保险企业
  • 医疗企业
  • 媒体和出版业
  • 非盈利性组织
  • 公共服务机构
  • 零售业和电商
  • 旅游业和运输业
  • 返回
  • 关闭   ✕
  • 概况
  • 特色

  • 技术

    深入探索企业技术与卓越工程管理

  • 商业

    及时了解数字领导者的最新业务和行业见解

  • 文化

    分享职业发展心得,以及我们对社会公正和包容性的见解

  • 数字出版物和工具

  • 技术雷达

    对前沿技术提供意见和指引

  • 视野

    服务数字读者的出版物

  • 数字化流畅度模型

    可以将应对不确定性所需的数字能力进行优先级划分的模型

  • 解码器

    业务主管的A-Z技术指南

  • 所有洞见

  • 文章

    助力商业的专业洞见

  • 博客

    ThoughtWorks 全球员工的洞见及观点

  • 书籍

    浏览更多我们的书籍

  • 播客

    分析商业和技术最新趋势的精彩对话

  • 返回
  • 关闭   ✕
  • 概况
  • 申请流程

    面试准备

  • 毕业生和变换职业者

    正确开启技术生涯

  • 搜索工作

    在您所在的区域寻找正在招聘的岗位

  • 保持联系

    订阅我们的月度新闻简报

  • 返回
  • 关闭   ✕
  • 概况
  • 会议与活动
  • 多元与包容
  • 新闻
  • 开源
  • 领导层
  • 社会影响力
博客
选择主题
查看所有话题关闭
技术 
敏捷项目管理 云 持续交付 数据科学与工程 捍卫网络自由 演进式架构 体验设计 物联网 语言、工具与框架 遗留资产现代化 Machine Learning & Artificial Intelligence 微服务 平台 安全 软件测试 技术策略 
商业 
金融服务 全球医疗 创新 零售行业 转型 
招聘 
职业心得 多元与融合 社会改变 
博客

话题

选择主题
  • 技术
    技术
  • 技术 概观
  • 敏捷项目管理
  • 云
  • 持续交付
  • 数据科学与工程
  • 捍卫网络自由
  • 演进式架构
  • 体验设计
  • 物联网
  • 语言、工具与框架
  • 遗留资产现代化
  • Machine Learning & Artificial Intelligence
  • 微服务
  • 平台
  • 安全
  • 软件测试
  • 技术策略
  • 商业
    商业
  • 商业 概观
  • 金融服务
  • 全球医疗
  • 创新
  • 零售行业
  • 转型
  • 招聘
    招聘
  • 招聘 概观
  • 职业心得
  • 多元与融合
  • 社会改变
职业心得招聘

[Episode 1] A Day in the Life of a ThoughtWorks' Tech Lead: Robin Doherty

Robin Doherty Robin Doherty

Published: Sep 20, 2018

Meet Robin

Robin Doherty

Robin lives and works at the smallest TW “office" in Australia, in Charters Towers, North Queensland.

He enjoys cooking up a feast for his friends and family (often on the BBQ) and frequents the local festivals (think burnouts, dirt, and bad country music) and pubs. Robin has a passion for technology and cats. He will one day design a robot that converts cat behaviour into spoken demands. Then his pet cat Duncan will truly rule the world.

Robin serves ThoughtWorks Australia as Regional Security Champion / Lead Security Architect / Tech Lead / Developer. He provides information security assurance and assistance with secure software delivery practices to all of our software delivery teams and acts as an internal consulting service on security matters to ThoughtWorks consultants. He also takes responsibility for security capability development within ThoughtWorks Australia.

Robin is also a software developer in the ThoughtWorks’ Identity team, a globally distributed team that is responsible for ThoughtWorks’ identity service.

What does a Tech Lead actually do?

Taking an active role in producing the software with fingers on the keyboard is essential, and a tech lead’s job is not to 'do the hard stuff.' You don’t want a one person silo of technical knowledge in your team – this gives you a bus factor of 1, which is bad. So the tech lead’s role includes programming, like any other developer in the team.

They also play a role in leading the technical team, which is far harder to define. It includes taking some responsibility for the professional development of the other members of the team, and taking accountability for the strength of the solution, both in terms of its appropriateness for the problem being solved and its technical strength. This means that the tech lead's role involves a lot of communication (and hopefully influence), both within the team and beyond, with stakeholders, other technical teams and other parts of the organisation.
 

Team at workWhat does your typical day look like? 

My days are rarely ‘typical’ at all, because my current role is quite unusual. In fact, I have two roles, and both require collaboration with team members in far-flung time zones, so my work day is very different from most ThoughtWorkers’.

What’s the most challenging part of your job?

The most challenging part of any job in the software industry is a cliche – it’s people. This is particularly true for the job of a Tech Lead. Most times when I'm working on a client project, my job is about interacting with other people. I very rarely spend time alone writing code on a keyboard. As I said before, I always program with a pair, so even then, communication is just as important as technical expertise. I am always communicating with other members of my team, and with people outside the team. Even the code I write is communication – the most important thing about the code is for it to be understandable and easy for other people to read. Sometimes it’s technical communication, and sometimes it’s not. Being a good communicator (which includes being a good listener) at all times is challenging, and there’s always room for improvement.

What are you measured on?

I am measured by the client on the success of the project. That usually means delivering a robust solution and solving the right problems. Teams achieve that when their culture and ways of working are effective. Unfortunately, to an outsider, that effectiveness is hard to observe, and it's much easier to influence negatively than positively. The benefit of delivering software (business value) incrementally is that the “success” (or lack thereof) is visible to stakeholders, which facilitates better decision making.

I focus on building and maintaining a good team culture, and fostering the right skills in the team, and when I am able to do that well, it leads to success in all useful measures.

What makes a good Tech Lead? 

Consciously develop and exercise your skills of communication and influence. They’re required for most of your job.

Build a broad and deep understanding of the project and the software. It’s a myth that you must be either a “big picture” person or a “detail” person. A tech lead needs to be both.

Understand the people on your team, let them use their skills effectively, and foster their professional development. Direct the right kind of work to the right people (it makes them happy, and that makes your team successful).

Build a strong team culture. Easier said than done. A part of this is setting the example of how you want team members to communicate with each other. I think a strong feedback culture is important for teams to grow together, and so that is something I explicitly say, and try to model myself.

How do you balance coding/non-coding responsibilities?

The challenge is often in ensuring that I have enough time set aside to keep my thinking grounded in the code. The extent to which this is necessary, and the methods for doing it, vary necessarily from project to project and team to team. Depending on the client, project, and team, I try to set aside a portion of my time (30%-60%) for this purpose.

I've found "core pairing hours" a useful way to achieve this, and sometimes it's best to block certain hours of the day out of my calendar for that purpose. I always pair. It's important for me to hear others' perspectives and be part of the knowledge sharing within the team – making any one person a single point of failure for any part of the code is a recipe for disaster, especially when that person has a role that requires a flexible schedule.

It's important to remember that being a tech lead doesn't mean being the most knowledgeable or most proficient coder. If you are forced to take that role, my advice is to immediately begin work on your transition plan – figure out a way to enable the team members around you to take on more responsibility – lest you become indispensable (which is stressful and unproductive).

On your current project, what technology has you most excited?

I enjoy working with any technology that helps me or my team deliver better software, faster.  I am a big fan of Clojure for that reason, and currently, Serverless (the paradigm and the framework) is saving me a ton of time and effort.

More than any one technology, I am excited by solving problems that are interesting to me. Right now, I’m working on device management for ThoughtWorks. I’m enjoying the challenge of doing that in a privacy-respecting, transparent way. The code will be open source, at least internally, and we’ll have a way to allow TWers to see the limited set of data collected about their laptop.

My role is split 50% in Identity and 50% in InfoSec and in this project, I’m developing a thing for Identity that’s really useful for InfoSec – I’m my own happy customer. As a ThoughtWorker, I’m happy to be able to trust that my privacy is not invaded, and from an infosec perspective, it’s important to be able to tell our clients with certainty that yes we enforce security for our laptops – encrypted, with strong passwords, antivirus and firewall.

How do you balance your role as a consultant, with the role of tech lead?

The best tech leads are excellent consultants. Being a tech lead demands excellence in communication and influence, as does consulting. I see this as one role, not two.

I love being a consultant because… 

I enjoy variety, learning new things (quickly), and working in teams. Working with different clients in different industries on different kinds of projects with different technologies and people means there’s rarely a day that’s just like the last.

Ready to shape the future of tech?

Join our team of passionate and bright technologists.

Join us
相关博客
职业心得

Techie to tech lead: My five biggest mistakes

Peter Gillard-Moss
了解更多
职业心得

What I Learned While Becoming a Tech Lead

Jeff Norris
了解更多
职业心得

Three Common Mistakes of the First Time Tech Lead

Patrick Kua
了解更多
  • 产品及服务
  • 合作伙伴
  • 洞见
  • 加入我们
  • 关于我们
  • 联系我们

WeChat

×
QR code to ThoughtWorks China WeChat subscription account

媒体与第三方机构垂询 | 政策声明 | Modern Slavery statement ThoughtWorks| 辅助功能 | © 2021 ThoughtWorks, Inc.