ThoughtWorks暑期实习之旅

不知不觉在ThoughtWorks已经实习了2个多月啦,我真的觉得TW是一家很酷的软件公司,感觉自己在TW成长了很多也收获了很多。在离别之际我就简单分享这两个月实习之旅吧。

TW之旅
在入职前,公司就让我们五个小伙伴去参加了武汉的TWI。TWI真的是一个很不一样的“培训”,为了让我们在入职前了解到敏捷等概念,导师们特意设计很多游戏,让我们在游戏中体验和感受这些思想。然后小伙伴们都尝试了从来没过的lighting talk,也都得到导师们的关于演讲的feedback。在匿名问问题的阶段,大家的问题都很直接,但是导师们都耐心的一一解答,消除我们的疑虑。

TWI回来以后,我在成都Office正式开始了我的敏捷之旅。在TW的很多事情都是让我感到新鲜的。

首先是每天的站会,我从最开始的不知所措到慢慢能够总结昨天自己做了些什么,今天准备做些什么。通过站会可以很明确的知道自己做了什么和准备做什么,工作的时候就不会盲目,有目标的完成工作。

迭代中的每一个小小的功能都会被制作成一张卡片,上面会很详细描述需要完成的功能,同时也会记录相应工作量。如果我们要开一张卡片,会邀请一个一起完成卡片的搭档。开始的时候我们会和BA和QA一起沟通卡片的功能和细节,每个人说出自己的想法和意见,等到大家意见都统一了,就会开发卡片上的功能,等到开发结束后会再和QA,BA一起验收实现的功能,关闭这张卡片开启下一张卡片。通过充分的沟通后,实现出来的功能往往不会和目标有太大的差异,也大大减少了来回修改的时间。

当作为一只小菜鸟,在项目上经常会有解决不了的问题,这个时候我就会项目中的其他同事结对编程,和他们一起完成功能。通过结对编程我能从他们身上学到很多东西,同时项目的进度也没有被拉下。

每天我们都会进行code review,通过code review我能学习到别人的编程思路,风格和良好的编程习惯,同时他们也能发现我的code上的一些问题和不足,能够让我及时修改。因为每天都会code review,所以对代码的影响还比较深刻,即使修改起来也很轻松。

我影响最深刻的就是持续继承。我们通过提交代码,在很短的时间内程序就会自动发布到服务器上,就能看到修改后代码的效果。我觉得这是一个挺有成就感的事情,我能快速的看着自己的成果,项目的进度也在一点点的推进。

我的收获
1.学习方法
来公司之前一直学习后端的知识,没有接触过前端的东西。所以当来公司开始现学前端知识的时候,还是暴露出很多学习上的坏习惯。我原来学习新的知识通常都是去看视频。来到公司以后,一兮老师指出看视频是一种很慢的学习方式,并且效果还不是很好,比较好的学习方式就是直接去学习官方文档,相比于看视频可以节约很多时间。并且有遗忘的知识点也可以通过查阅官方文档快速回忆起来。

说实话,刚开始看文档的时候,不懂的东西特别多,速度也特别慢,经常一页文档反反复复的“看”,就希望自己能够牢牢的记住这些知识点。然后通过一兮老师的feedback了解到,学习知识点的时候更要像浏览字典一般(遇到问题能过快速准确定位),而不是死记硬背下来,每个小demo都可以去实验,直到掌握他们。

我学习了一个多月后才发现动手做小实验来学习知识点是一个很棒的学习方法。通过做小实验学习让我开始尝到甜头,是有一次在项目上需要修改的地方怎么都不能看明白,然后反复看官方文档也不够直接清楚。于是我去按照官方文档实现一遍,因为理解有出入,我始终不能正常运行那个demo。于是我通过修改代码使这个demo运行起来,我也慢慢理解这个api是有什么作用,后面项目的代码也能很快的看懂加以修改。

动手做实验真的能够帮助我快速理解新的知识,同时我可以在代码里面加入我的思考去实验,掌握起知识就比较快,真的是“纸上得来终觉浅,绝知此事要躬行”。

2.95分
进公司的第一天,一兮老师就告诉我:学校的标准60分就及格过关了,但是如果公司对软件的要求是95分,那么94分也是不合格的。我在后面的实习中慢慢感受了这句话,项目组的每一位小伙伴都是拿着95分甚至更高的要求来对待软件的。回想起来我原来开发一直在用60分来要求自己:基本功能实现就万事大吉了。但是软件功能完成(60分)后可以做的事情还有很多,可以思考是不是可以调整方法使性能更优;可以思考写的代码是不是易于维护;可以思考如果出现特殊的边界条件的时候是不是会出现bug…

记得有一次code review的时候我的代码有一个叫getDivWidth的函数。如果按照60分的要求来评判,其实已经合格了:功能实现并且函数名也是驼峰的。但是这个div指向不明问题被指出来,要是别人维护代码的时候可能会花不少时间去理解。我在后面写代码的时候会格外注意函数,变量命名的问题。所以我想今后无论是code还是生活都应该高要求的要求自己。

3.修改bug
关于修改bug,以前我遇到一个不能work的地方,我会去查阅各种各样的博客,不停的尝试别人修改bug能够work的方法,不怎么会去思考问题发生的原因。这一点也被一兮老师指出来了,正确修改问题的思路应该书:发现问题后应该先去思考问题发生的原因,再去想想解决问题的办法,为什么要这么做呢?

首先发生问题的上下文和别人是不同的,别人成功的办法在自己身上大概率是行不通的,采用别人的办法修改bug的办法效率太低了。其次没有通过对问题的思考,即使通过别人的办法修改好了,下一次遇到同样的问题还是解决不了,因为没有形成自己的知识。

好的做法是分析问题,找到原因,然后通过学习解决问题。通过代码发现自己的问题,再去学习看似浪费了时间。实际上将问题内化成自己的知识,下一次遇到问题不会像无头苍蝇一样到处碰壁。

总结
零零散散的说了很多了,其实还有很多很多感受和收获没有一一列举出来。很开心能在TW实习两个月,在这里首先要感谢一兮老师,他教会我很多东西,同时也反馈给我我的的不足之处,我会在今后的学习工作中中注意和改正;然后要感谢项目组的小伙伴们,初入项目的时候有很多不懂和不理解的地方,他们都很耐心的帮助我,让我能很快适应公司的生活;最后要感谢TW,从开始面试到实习我都心存感激,因为还要有两年才毕业的原因,即使投了很多份简历,收到的面试通知却寥寥无几。TW没有因为这一点而拒绝我,相反给我提供面试和实习的机会。通过这次实习让我有机会了解到公司的文化和历史,了解到世界上最先进的软件开发方法,流程和思想,在未来的学习中我会慢慢去学习和回味的。

最后祝一兮老师,项目组的小伙伴们,TW越来越好!
黄罡
2019-9-3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值