2 第二部分 - 我的一些建议
在这部分的文章中,我将专注于提供建议,以此帮助你的职业生涯发展。的确改变可能需要一段时间,有一天,你将成为一个资深员工。不断学习,不断思考和壮大自己的兴趣是你的职业成功的关键。我希望本文可以帮助你思考和开始积累你的力量。以我自己为例,我曾只专注于我的项目,只用很少的时间来思考。有一天,我无意中访问了www.infoq.com,和听到了“被夸大的测试(Testing is Overrated)”的会谈。阅读后,我把我的想法分享给我的同事们,并认识到,在我工作之外还有这么多出色的信息。我开始阅读这些文章,并借阅测试书籍。培养这样的学习和思考的习惯会花费时间,但一旦你有了这样的能力,你会发现,你可以成长得非常迅速。
2.1 激情和动力
有时,人们每天都做类似的事情就会觉得乏味。他们开始失去激情,感觉自己的职业生涯发展变得缓慢。我们应该如何处理这种情况?我可以给你一些建议。
-
考虑离开自己的舒适区域。
一旦你在一个地方里待了很长一段时间,你就有了一个舒适区域,它让你觉得你的工作失去挑战,你的技能不在提高。因此,是时候来改变了。你既可以换到其他公司也可以换到其他不熟悉项目。请大家认真考虑这个问题,因为这对你的职业生涯有重要影响。在未来的博文中,我将详细讨论改变或不改变。在一般情况下,我认为改变是应该的,你应该常常对此进行思考。我看到过很多例子,换到其他团队,并获取到更好的职业生涯。另外,还要考虑到换到其他团队,会给你提供机会,去学习新的、最终将有利于你的技能。
-
考虑做一些某些副项目(side project)。
我的第二个建议是,考虑做一些副项目。在过去的几年里,我发现,大家在他们的空闲时间里或主要任务责任外打造的项目往往比资助项目有更大的影响(the side projects which people build during their free time or out of main responsibility tend to have much larger impact that the funded project.)。作为一个专业的工程师,我们应该自我激励,自我组织。如果我所做的事情正是我的兴趣所在,我将会对它充满激情,并会为它做出持续努力。
-
拓展你的兴趣点。
我的第三个建议是,试试其他领域的兴趣。例如,当我觉得日常工作很枯燥时,我经常去公司内部微博,了解今天微软内部发生了些什么事。我喜欢阅读www.infoq.com的文章,了解公司外部又发生了些什么事。我喜欢阅读谷歌测试博客了解他们正在做些什么。你可以选择一个你特别有兴趣的领域,然后保持这个卓越的习惯,每天都学习些新东西。
最后,我有一些建议给我们的经理:宏观管理而不是微观管理;给大家一些做其他事情的自由;鼓励大家去尝试不同的机会。我知道我们的承诺,我们的任务必须要完成。然而,让大家愉快和受到激励比交付一个功能更为重要。一个快乐的团队能提供更好的产品,我们都不希望总是压力山大。
2.2 开放的思想和广泛的兴趣
一旦你在一个地方里待了很长一段时间,在你所在领域你获得了非常深厚的领域知识和测试方法。在这种情况下,我们往往是安于我们现在所做的,并有时还会避免改变。然而,作为一个专业的软件测试员,我们应该始终更宽更广地思考,思考有我们可以采用些什么新技术,思考你所在领域的未来测试技术。在一般情况下,一个优秀的软件测试员应该思考的比我们目前已有的东西更远,并有一些应对更改的计划。
为什么呢?究其原因是技术变化太快,如果我们不提前考虑,提前做好准备,有一天,当变化发生时,你会发现,你得仓促地面对这么多的挑战。例如,我总在浏览www.infoq.com和www.dbms2.com,以此提高我的技能。当我们的团队决定用列存储来实现数据仓库时,我已经知道我们为什么应该这样做的,这个领域中最热门的技术是什么。
为了培养这样的技能,我们需要的是开放和广泛。我们需要知道公司内部发生了什么事,社区里又发生了什么事。我们应该很开放地聆听和学习别人的想法。我强烈的主张,我们的资深测试员应与其他团队成员保持密切联系,尤其是微软里其他团队,并培养一种学习技术并能迅速吸收的能力。有一天,你会觉得学习的投入将为你的工作带来巨大的回报。
我可以给你一个例子,我如何做到这一点。就我而言,我订阅了微软内部和外部的大量非常活跃的博客,接收别人的更新。我也参加了会谈和培训,来提高自己。讲座范围可以非常广泛,如云计算中的系统工程方法(service engineering),基于场景的工程方法(scenario focus engineer),即以用户需求为导向的系统开发,等等。通过参加这样的培训,你将收获更广的技术知识。另外,你能知道公司内部发生了什么事。在过去的一年,我就参加了两个$99外训,然后我引入ATDD和个人看板(Personal Kanban)到我们的团队之中。SQL团队中许多成员所使用的技术和ATDD,其实早已被微软内部的很多团队使用过。你可以看到开放和广泛的价值,它能帮助你成长为一个资深测试员。
2.3 提升影响力(Making Big Impact)
今天,我想谈的另一个话题是作为一个资深测试员,需提升影响力。衡量一个人的成就的重要途径之一就是你对团队,对项目,对客户有多大的影响。我有三个方面提升影响力的建议。
-
帮助他人的成长
我们需要意识到,无论你是多么聪明,只靠你自己,你是不可能成功的。你帮助他人成长越多,你越可能会成功。作为一名资深测试员,我总是很喜欢看到初级测试员提高他们的技能,发展他们的职业,我也将提供建议和指导他们,帮助他们成长。就我的心里而言,我认为帮助别人是最重要的事情,我们应该每一天都帮助别人。有很多方法可以帮助他人成长,帮助他们做项目,回答论坛里问题,指导新成员,教他们如何编码和如何测试。对一个团队来说,建立这样的文化氛围是极其重要的,因为大家会感到其他人的温暖,并鼓励分享和学习。最后,我们一个团队一起都能成长起来。
-
影响他人
一旦你变得越来越资深,你已经掌握了非常深厚的技术知识,大量的项目经验。你得到别人更多的尊重,成为某一领域内的大牛(GOTO person)。换句话说,你有能力影响他人。如果我们看看,架构师,技术潮人(Techiques Follows),大牛的工程师(Distinct Engineers),他们的观点和思想能影响了很多人,类似这样的能力是他们独一无二的资产。
你认为我们能够像大牛一样影响其他人吗?我想是可以的。每个人都有一个你擅长的领域。你应该用你的专业知识来帮助人们作出决定,并提供宝贵的建议。例如,对于每一个我参与过的或我学习到的项目,我都对它有些独特的看法,我试图理解为什么我们应该开发这样的项目,我会更多思考为什么我们不使用另一种方式来构建它,我常常把我的想法分享给项目里的所有人然后我们一起再作出决定。我写了大量的博客,分享我的想法,并希望影响更多的人。
-
更多的跨团队协作
以我自己为例,在最近几年,我引入ATDD(验收测试驱动开发 - Acceptance Test-Driven Development)到我们的团队,并把它介绍给很多微软内部的其他团队,如Bing,Lync团队。我也参加不同类型的会议和研讨会,了解其他团队是在如何做测试。每当我看到有人做我所熟悉的项目,我也问他们是否需要帮助。
总之,当你努力提升你的影响力时,你的经验同样也会积累越来越多,你不断成长为一个资深测试员。
(未完待续)