※ 引述《marmot00 ()》之铭言:
: 避免废话打太多,先把问题打在前面
: senior / 高阶 / 大神 (或其他同义词) 跟新人码农有什么不一样?
: 在大家的团队里都负责什么样的工作呢?
给你一个极端的案例 刚好senior跟新人都是我团队内亲眼见过的案例
新鲜人:
1. 满满的意大利面式程式码
有的时候还会直接copy&paste给你看
2. 一个功能规格写各一段code 也没思考过重构与共通逻辑
只为完成需求而写程式 没去想其他延伸或后续问题
3. 因为自己不会做或懒得做 会直接告诉团队其他人做不到
但老手接手后发现完全可行
4. 问问题也不自己先想过 像是在学校伸手要作业答案一样
5. 会常常写出一些效能不好的程式码(对函式库或是技法不熟)
当然不是所有的新鲜人都这样,只是我见过上面5点全中的
senior:
1. 一开始写的code就有条有理 会一边开发一边重构
2. 开发时会思考延伸问题 会确实排入工作项中
3. 乐意处理团队内外的大小问题 自己份内的工作也能完成
在研发时发现有新的可能性或效益会主动告知PM与规格设计者
4. 乐于解决问题而不藏私
5. 通常写的程式已有不错的效能
还会顺便帮忙整理别人的
: 团队内较资深的成员约在4年上下,熟悉的是公司软件架构(表面上看起来)
: 自己常常套用新的技术达成了需求,常在想“这样到底对不对呀?”,却又没人能问
: 如果有高手是不是就可以在code review时告诉你这样会有问题或是根本就搞错了?
如果技术可以达成需求 除非有潜在的问题 不然我觉得应该不用太过钻牛角尖
重要的是senior通常不会只知道开发上的技术
对于产业的趋势与用户需求也能了解 具备domain knowledge
如果连自己domain面临or需要克服的问题是什么
就算操控工具的技术是100分 没在刀口上还是没用
: #算法
: 读书时觉得算法不知道在做什么用的,都没在听
: 转职后不免俗的刷了一些leetcode以后才发现原来好坏差这么多
: 但到了实际工作环境,顶多注意一下nested loop不要跑太多层
: 不晓得是只有特定领域才会用到,还是小弟还没到那个层次所以看不出来?
确实是看工作内容 如果工作核心不是在算法开发或最佳化其实机会不多
具备基本的算法与资料结构知识 我个人认为还是有用的
总之就是看缘分 但有总比没有好 有些人是连stl的容器都会挑错使用场合
某些状况下你也可能需要设计特殊机制来做资源管理
这时这些知识一定能帮上你的忙