写给新入职的毕业生们

author author     2022-08-05     524

关键词:

由于最近工作比较忙,今年的这篇心得比往年来得更晚一些,职场三年多了,每一年都有着不一样的收获,不一样的感悟,回看前两年的分享,依然觉得很有价值,有兴趣的小伙伴们也可以看看去,《写给新入职的毕业生们》《写给新入职的毕业生们(二)》


希望今年的分享依然能够帮助到大家,我还是采取条款式的模写作式吧。


1. 有 “特点” 的程序员,会很吃香


这一条理论可以用于千千万万的行业,如左右脚均衡、长传精准、善于突破的足球运动员;声音有辨识度、曲风独特的歌手;长相有特点、个性鲜明的演员;而在互联网行业,也是一样一样的,下面就拿 Android 程序员举例。


我记得很早的时候,就发过这么一条微博:“ Android 开发,本身并不是一个可以走得多远的方向,真正有价值的地方在于与具体的业务方向结合,比如:Android 与音视频技术,Android 与智能硬件交互,Android 与前端技术的融合与探索,Android 信息安全,Android 源码深度定制等等……早日找到一个感兴趣的方向,深入探索和积累,而不仅仅局限于研究 Android API 本身,这样才能走得更远,才能有更好的前途。” 


前段时间,组里招了一个 Android 小伙伴,他不仅仅是熟悉 Android 应用开发,更重要的是他对 OpenGL 有着很深的研究,进来后,在 Android Camera 采集、美颜滤镜、GPU 加速方面做了非常多的优化,极大地补充了整个团队技术栈的深度,我后来无数次地感慨,幸好招到这么一个人,怎么就这么幸运地招到这么一个人了。


所以,要让自己在团队里更加有 “存在感”,要想将来的发展越来越好,你就不应该只满足成为一个会写 App 界面的 Android Programmer,而是要差异化地 “积累” 自己感兴趣的技术,并且成为这个领域的专家。


2. 严格要求自己,不要犯 “低级” 错误 


最近有跟第三方合作,用了他们的库,各种 “低级” 错误多次激怒了我,有 NULL 指针异常、有参数配置不生效、有设置了消息回调却没有回调、每次修复 Bug 后又带入新的 Bug,等等等等。


虽然他们做的功能总体来说是很牛逼的,但是这一系列的 “低级” 错误,一次又一次地拉低了我对他们技术的认同度和信任度。


我始终认为,代码中有 Bug 是难免的,但是无论是写 C,C++ 还是 Java,避免 NULL 指针 crash,函数形参检测,这些都是一个成熟的程序员的基本技能,不应该找任何理由和借口。


3. 善于总结排查问题的工具和技能


今年我有遇到一些客户的 Android 开发者,竟然不知道如何在命令行下用 adb 打 log 或者不知道怎么过滤 log,着实让我感到惊讶,打印和分析日志也是程序员的一项基本功,而且我们还不应该仅局限于此,我们还应该在工作中不断去积累一些有用分析手段、分析工具和网站,比如:


- 如何检测 Android 的内存泄漏、CPU 占用、Memory 占用

- 如何用 ndk-stack 分析 Android Native 库的 crash 

- 如何用 wireshark , tcpdump 抓包以及分析协议问题

- 如何用 curl, dig, mtr, telnet, netstat 等命令排查网络问题

- 如何验证 YUV 数据、PCM 数据是否正确

- 如何分析 RTMP流、HLS流的异常、卡顿、时间戳等问题

- 收藏一些不错的工具网站,如:http://www.17ce.com,http://ip.cn/,http://www.speedtest.cn/ 等等


我们公司有一个技术支持小伙伴,让我们所有的研发都很惊讶,排查客户问题特别快,回答常见问题基本都是秒回,后来我们才明白,原来他那里有着一套自己的 “数据库”,并且还有着一套一套的排查技巧,前段时间还专门被邀请给全公司的人做了一次培训,真心很佩服并且很看好他的发展。


4. 解决问题不要抱有侥幸心理


写代码的时候,我们可以加些参数和状态的判断,提高程序的健壮性,而解 bug 的时候,一定要找到根源,而不是说我加了个保护应该就不会出现了。


这是 “血” 的教训,不彻底查到根源,你真的会睡不好觉,或者一次次面对客户的鄙视和测试妹子无语的表情……


套用小伙伴的一句话:‘’程序世界里,要正确地对待错误,而不是想尽办法掩盖,否则要花巨额的成本来追根溯源。做人其实也一样。‘’


5. 永远要设定 deadline,完成比完美更重要


我很喜欢这句话,但是我也深深被 deadline 所困扰过,互联网的加班,绝大多数都是因为这个 deadline 带来的,有的时候是程序员自己过于乐观地估计时间、有的是迫于市场、销售、老板的压力,但是身在互联网行业,我也真实地感受到很多时候真的是时不我待,而我们能做的,就是要有一套自己的 “优先级”,先出版本,再谈优化。


有的时候,懂得合理地细化任务,也是一种能力。一般我拿到一个大的需求,肯定会把它细化成一个个小的任务,并且按照如下标准来进行分类和排序,甚至给出每个小任务的 deadline :


- 基础模块,其他工作需要依赖此模块

- 涉及到接口的定义或者修改的工作

- 当前必须支持的功能点

- 可以后期增加的功能点

- 可以后期优化的地方


当然,根据实际情况还可以继续细分。每当做完一个小的任务,就会先充分地测试,保证其正确性和稳定性后,保存一个版本,当必须支持的功能点完成后,至少已经有了一个可交付的版本了。


这里还需要强调的一点是,“完成” 并不是说带着很多 Bug 的完成,而是说一个稳定但不一定功能齐全的版本,因此,千万不要用 “完成而不完美” 作为忽略交付质量的借口。


6. 知其然也要知其所以然


这是一个老生常谈的话题,但是确确实实很多人没有做到,特别是在面试的时候,经常遇到很多人对自己亲自做过的东西理解完全不够,这可能是一个态度问题,不愿意花时间去钻研,或许这种钻研的确是一个比较费脑细胞的过程,但对于那些对技术充满热情的人,其实是一种享受。


这里举个我面试的例子吧,凡是简历中写自己 “做过” 播放器的候选人,我一般会问这 3 个问题:


- 从传入 URL 到第一帧视频渲染成功的整个流程

- 播放器有几个缓冲区,如何管理的,如何设计的

- 音视频同步是如何实现的


每个问题都可以再深挖几层,基本上可以判断其掌握程度和钻研精神,会用第三方播放器的人很多,会用 ffmpeg 的人也逐渐变多,但能改 ffmpeg 能自己解析流媒体协议,能自己编写出播放器的人,才能成为这个领域真正的大牛 。


7. 不要不加思考地提问


这貌似也是一个老生常谈的话题,想起最近我们跟客户的一段对话:


客户:“你们直播 SDK 的美颜模块有没有丰胸的功能 ?“


我们:“嗯,不仅能丰胸,我们直播 SDK 还很快就能在没网络的情况下推流了……”


请大家要尊重帮你解答问题的人,特别是网上那些并没有义务帮你解答问题的 “大牛” 们,遇到问题,自己要有一些基础的分析和排查。


记得我们的技术支持曾私下感慨过:“有2类客户的问题一般会得到优先和快速的解决,一类是超级大客户,另一类是问题描述得很清楚,自己有初步的分析和排查的客户。”  


8. 总结


先分享到这儿吧,其实大脑里还有很多感悟,限于篇幅,就留到下次吧,欢迎大家关注我的微博 "@卢_俊",干货很多哦,当然,你也可以关注我的微信公众号 "@jhuster",获取最新的文章和分享。

技术分享

本文出自 “Jhuster的专栏” 博客,请务必保留此出处http://ticktick.blog.51cto.com/823160/1852932

萌新入职注意事项-没wifi也要看的秘技

萌新入职注意事项-没WIFI也要看的秘技:  新人刚入职的时候是有一个关卡的,必须要迈过这一关,将老大给的东西看出速度,看出深度。什么是看出速度?就是能在短时间内看出一些门道。就算刘翔教你跑步,你也不能... 查看详情

写给即将入职的你-软件工程之需求开发流程

前言在这个春风得意马蹄急,金三银四跳槽季的日子里,相信很多小伙伴都拿到了心仪的offer了吧,其中不乏有初入职场的同学。那么今天,我就从服务端的角度来给大家分享一些关于工作中开发流程的经验,希望初入职场的同... 查看详情

发展指导

...这是入职的第一关,不睡觉也要拿下。分享写技巧和经验新入职安排的任务,既是压力也是机遇,只有自己 查看详情

写给毕业生的面试建议

虽然说“金九银十”,但对于毕业生,只要还没毕业好像都是求职期。最近,作为面试官也面试了很多,在面试的聊天中,我觉得他们应该可以表现的更好,所以本文从我作为面试官的角度出发,给毕... 查看详情

新入职熟悉项目

2月24号入的职今天已经3月8号,上班已经有2个星期迟来的总结,首先刚入公司,各种业务不熟悉,1首先搭建开发环境: jdk,eclipseMavenSVNJettymySql 其中包括配置文件application.properties全局文件数据库信息/连接池/全文检索/安... 查看详情

求1981年下半年入职的员工

select*fromempwhereextract(yearfromhiredate)=1981andextract(monthfromhiredate)>6;结果:  查看详情

写给自己的话

1.要学会正确的表达清楚自己的遇到的问题,能够准确清晰地告知别人自己遇到的问题是什么,要思路清晰,言简意赅。2.要时刻意识到自己在干什么,不要乱折腾,盲目地做,像个没头苍蝇一样靠运气乱撞。3.要静下心来认真读... 查看详情

毕业5年的感悟

...6月毕业,到目前17年7月...游戏行业5年12年6月-14年6月,是我入职的第一家公司,广州动网先锋...当初是想做开发的,后面不知怎的就转到做测试,蛮感谢他们当初带领我走进测试14年6月,项目倒闭,看到手游发展,就去做了手游14年6月-17年3... 查看详情

新入职如何快速去了解一个javaweb项目!

1.从代码结构入手,搞清楚Java源码所在目录以及jsp代码所在目录。2.从Web.xml入手,搞清楚首页,上下文及配置情况。3.从lib目录里初步查看系统使用的框架和工具包。4.从页面大体浏览,看页面的scriptlet使用的主要语言。5.从代码... 查看详情

新入职,领导要立即分析出他不知道且特别重要的问题,该怎么办!

...————————————————————有同学问:新入职,领导要立即分析出他不知道且特别重要的问题,该怎么办!(是滴,是!不是?)well,我知道大部分同学听到这个问题,胸中草泥马已经呼啸欲出了。不过我还... 查看详情

写给新入大学的程序员:你不得不看的宝贵经验!

一直想给新入行的程序员小伙伴一些建议,近期刚好又碰到了刚刚大一的同学,赶紧动笔写下。玩先聊感兴趣的,玩。可能从小学开始,你就会听到老师说,好好学习,等上了大学每天都可以愉快的玩耍。... 查看详情

如何卸载visualsvnforvisualstudio

新入职的公司,电脑上的visualstudio已经安装了visualsvn尝试在tools-->extensionsandupdates中卸载但是uninstall按钮是被禁用掉的   谷歌找了一下解决方案https://superuser.com/questions/171315/uninstalling-visualsvn-2-0-from-visual-s 查看详情

关于教师一职的思考

...,也正好把自己的想法写出来,捋一捋。奇妙的感觉关于入职学校的这一决定,我也是想了很久,其实,我是一个比较闷、有点宅的程序狗,对各种各样的技术有兴趣,习惯没事瞎写点博客,但是让我去教给别人知识,还 查看详情

聊下应届生因疫情被迫推要入职的offer吧

...拿到了几个offer,然后选好了这一家公司,本来要入职的一家名叫,infosys,应届生的岗位,但是因为疫情原因,导致我这边县城的道路被封闭了࿰ 查看详情

聊下应届生因疫情被迫推要入职的offer吧

...拿到了几个offer,然后选好了这一家公司,本来要入职的一家名叫,infosys,应届生的岗位,但是因为疫情原因,导致我这边县城的道路被封闭了࿰ 查看详情

现在是2016-09-23,查询2个月后的月份和入职的月份相同的数据

select*fromempwhereto_char(hiredate,‘mm‘)=to_char(add_months(sysdate,2),‘mm‘);结果:  查看详情

昨天,跟我同时入职的同事离职了,然后他去了阿里……

...慕这样的人的。离职的同事这个小伙伴是跟我差不多同时入职的&# 查看详情

[软件人生]写给想做研究的朋友和还没毕业的学生的几句话

非常久没有给初入行和刚毕业的学生以及没毕业的学生写过什么了。记得上次写东西,是由于新手的问题http://blog.csdn.net/qingrun/article/details/1458530。算来,已经八年多了。去年在csdn高校俱乐部给几个北京的大学的孩子们讲了点东... 查看详情