欢迎你加入我们的团队,既然你成为了团队一员,团队会为你成长和发展的平台,同时也希望你能用你的热情和才干为团队贡献力量,创造价值。
在团队里,你可以接触到,负责系统不同组件的伙伴,有的伙伴和你一样从事Android应用开发,你们可以一起讨论设计,讨论思路,讨论解决方案,但永远不要指望别的伙伴帮你写代码,帮你解决问题,因为:1.他们有自己的事情
2.代码不是写完就可以了,未来可能会发现bug,可能需求会变,如果代码是别的伙伴写的,你会发现你的模块变得非常尴尬,因为看懂别人的代码比自己写代码更难。
你的职责是负责设计和开发系统里面的Android应用模块,选择了软件工程师这个职业,我希望你对技术保持热情(这比你掌握了很多高深算法或者某些偏僻难懂技术更重要),有工程思想,有设计理念,有成本概念,关注行业动态和发展,不畏惧困难(有时候技术难题带来的压力是可怕的,希望你可以积极面对),始终相信技术范畴内,一切都是可控的。
作为一名软件工程师,英语很重要,因为几乎所有的开源软件的文档都是英文的,所以我希望你每天能够读两篇英语文章,听一段英语演讲(TED就很不错)或者课程(当然如果你的英语基础非常好,你可以无视我这一条建议),能够熟练阅读英语文档,不仅仅会活跃你的思维,同样是巨大的职业优势,在某些情况下能够提升你的品位和别人对你的看法。
我希望你能够熟练掌握设计模式,并灵活应用,因为在编程中,设计比编码实现重要太多,程序设计在你的知识体系中,它会是一个比较抽象的知识,越是抽象的知识,越有价值,良好的设计能够让你避免留下技术债务,能够降低bug出现的概率。
我希望你能够迅速学习和掌握相关工具,在开发和调试过程中,我们往往需要用到很多工具来帮助我们完成这些任务,比如adb,svn,linux命令行
等等,对这些的工具使用,在你的编程技术之外,但是在你的职业技术之内,能够灵活运用,往往能够大幅提高你的效率和质量。
我希望你对自己的定位保持理性,永远不要自嘲自己是码农等等,网上面很多程序员这样自嘲,我并不认为是好事,它会让你产生错误的心理暗示,久而久之,你就失去了前进的动力,觉得人生没有希望。你目前是软件工程师,工程师在社会体系结构里面,是处在精英阶层,所以我希望你有精英意识。别人问你是做什么的,不要说是程序员,要说你是软件工程师。
我希望你在开发过程中能够正确对待Bug,当Bug出现,无论如何不要慌张,即使它看起来很棘手,修改之前,请仔细思索,优先考虑是自己程序的Bug,而不是系统有问题,或者SDK有问题(我们经常这样怀疑,但是问题查来查去绝大多数情况都是处在自己的代码里,当然,在Android里面有些兼容性问题除外)。
我希望你能够学会正确的沟通,正确的表达自己的意见和听取别人的意见,尽量每一个给你的Request,都能收到你的Response,你发出去的每一个Request,也应该期望收到Response,如果没有收到Response,你应该去Push这件事情,主动总是好过被动。对于沟通方式,能用邮件就尽量使用邮件:1.邮件可以长时间保存
2.邮件更正式,促使沟通双方慎重对待要处理的问题。
我希望你能够养成主动阅读的习惯,如果没有就从今天开始养成吧,软件行业是一个知识密集型行业,只有不断的学习,你在将来的工作中才能更加得心应手,才更有职业竞争力,学习和阅读我希望你关注知识里面抽象的部分,而不是具体的技术点,前面说过,越抽象的知识越有价值,比如我希望你去读《设计模式》、《数据结构》、《需求分析和系统设计》这一类,所有编程都离不开的高度抽象的知识,在工作之余,你每天都要去补充直到你彻底掌握,除了专业的方面的阅读之外,你应该阅读一些专业以外的书籍,你自己的爱好相关的或者感兴趣的,这些书籍虽然不能直接在技术上面帮到你,但是,它们有利于你拓宽视野,活跃思维,心智和身体一样,需要不停的锻炼,对于现阶段你的阅读的专业书籍和非专业书籍的比我的建议为7:3。
我希望你能够正确做好时间管理,每天到公司来,列出自己的今天的目标,做成一个Todo
List ,有目标,你的工作会更紧凑,你自己也会感觉更加从容。
我希望你能够关注自己健康状况,不要觉得,年轻有很多可以挥霍,把你的健康看做一个银行,每天存一点和每天取一点的差别,随着时间的推移会不断加大。不要等问题出现,才去找解决方案,才去寻找银弹,其实银弹一直在你手里。
也许到某一天,你会迷茫,会没有方向(每个人都有这么一段时间),到那时候我希望你可以正确看待人生和世界,知道自己该坚持的是什么,需要的是什么,如果你哪天发现你不想编程了,编程其实不是你想要的,请你告诉我,也许我能给你一些其他的建议。