APP推广合作
联系“鸟哥笔记小乔”
技术人的职场:程序员如何从菜鸟到大牛
2021-09-17 17:46:02

一些程序员朋友找我聊个人职业发展,想起20多年前,我也是一个写代码的,就聊聊我是如何从写代码选择了走产品路线。

1996年,大学期间,出于个人兴趣,写了第一个作品,用FoxBASE编写的学校题库系统,实现了出题、选题、组卷、考试答题、改卷功能。


2000年,我参与组织一个网络课程的项目,用ASP实现动态网页,可以进行图文和视频网络课程的学习,这个时候,我发现自己一边学一边写代码,效率太低,一个人搞不定,于是就开始写需求文档,找到几个计算机专业的同学一起完成了这个项目,这个过程中,我担任的角色是产品经理,只是那个年代,还不知道这个职业岗位。


那个时候,也未曾想到自己居然把做产品这个事情干了20多年,中间经历过教师、销售、市场、产品运营、产品策划等多个职业阶段,现在的职业角色是深圳梅沙科技的合伙人,实际上,仍然在承担产品经理的职责。


我算是一个早期的程序员的职业发展案例, 放弃了技术路线,走上了产品道路。


调侃一下,就是程序员的代码能力没发展好,跑去做了产品经理。


但是,在我的职场经历中,遇到不少个案说明,程序写不好,转行做产品经理,也不容易;一些优秀的程序员,更容易成为优秀的产品经理。


我对一直坚定的走技术路线的实力派,是非常仰慕的,在多年的产品项目过程中,我和不少程序员同事建立了非常好的合作关系,很多是在一起加班熬夜过程中建立的战友关系。


下面的分享内容,源自我的好几位程序员朋友,尤其是现在的梅沙科技技术合伙人Martin提供的内容,他从一个校招大学生进入腾讯,经过5年时间,成为高级架构师,综合几位技术大咖的分析,整理了关于程序员职业发展的文字,这次应帅张邀请,分享给大家。

一、职场意识的觉醒

职场,多数人认为是从走出校门开始的,其实,从很早时候,就可以考虑职业发展了,多早呢,不好界定,有的人,从小就有一个梦想,未来要做点什么,这就是梦想的萌芽,例如从崇拜某个偶像开始,那个心目中YYDS,成为偶像那样的人,微软的创始人比尔盖茨、苹果公司的技术合伙人沃兹尼亚克、腾讯的马化腾、张志东、张小龙、小米的雷军都是优秀的程序员。雷军在大学时候读的一本书《硅谷之火》更是点燃了他的创业梦想。


因此,一个人的职业生涯能走多远,源于他最初的梦想,满足了最基本的生存需要之后,真正想做什么,是值得思考的问题。


职业觉醒,表现为知道自己想做什么,在大学不会迷茫,当别人在宿舍沉浸游戏的时候,找到梦想的人,就开始读书,自学程序语言,尽早的找到一家公司实习,有意识的找到行业前辈,多认识几个能帮助自己成长的职业导师去请教学习,这些都能为毕业求职打下扎实基础。

二、如何系统扎实的准备好面试

对于刚刚走出校门,进入职场的技术人的第一份工作,企业不一定会要求你们掌握多么高深的技术问题,技术老司机们更看中基本功和成长性软素质。

技术基本功

原腾讯高级架构师,梅沙科技技术合伙人Martin针对4种常见的技术职位总结了以下计算机基础知识,相信对大家会有所帮助。

 A. 协议、算法等基础功底

1.有扎实的计算机基础——加分项。如进程与线程知识,TCP/IP协议,数据与结构等。很多人认为计算机基础知识只是做后端,做服务器开发的人才需要,像前端开发根本不需要,这是绝对错误的。对于只应付日常业务编码的普通工程师来说,扎实的计算机基础知识,是锦上添花的东西,但对于优秀的前端工程师来说,是必不可少的。操作系统的基础知识,能更好的掌控代码, 避免性能上不必要的开销, 或者对其有所警觉, 同时也能避开一些逻辑上的问题。

 

2.数据结构和基本算法  清楚特定的基础数据结构的可以处理的问题, 如果已经知道这些算法,那可以跳过很多耗时的技术选型阶段,这就是知识的广度带来的优势。

 

3.网络协议知识  TCP/IP等网络协议知识,到应用层的HTTP/HTTPS等,对这些协议的深入理解,可以解决web页面在移动网络下的访问耗时长等疑难杂症,提出优化方案。

B.后端程序员

1. 操作系统基础知识  文件系统、任务调度、内存管理,进程与线程、进程间通信以及同步,锁等知识必须要有。

 

2. 基础语言  一般要求有C、C++基础,精通如但不限于C/C++/PHP/Java/Go等至少其中一种后端语言

 

3. 扎实的网络协议知识  TCP/UDP、HTTP、HTTPS协议,Linux网络编程

 

4. 存储数据库知识  包含数据库原理,sql语句的使用、优化。积累搭建mysql和运维mysql的经验。

 

5. 数据结构知识  不要求能写出RB树的算法,但对常用的排序要熟悉。熟悉常用软件设计模式

 

6. 熟识常用的框架与组件nginx,mysql,redis等

 

7. 实际的项目经验  能分析出系统各个模块的关系,为什么这样设计。系统瓶颈在哪里,如何优化性能

C.前端程序员

主要分为两大部分:前端代码技能部分(html、css和javascript),前端架构部分(构建工具,新生框架,优化以及安全性)。

如果把一张网页比喻为一栋楼房,那么html相当于搭建一个主体结构,css相当于来做粉刷,javascript发挥的作用就是类似于水泥的粘合剂。其中任何一个环节出现问题,都会可能导致房屋出现问题。

 

1.html基础,如各种Element的含义和用法。

 

2.dom结构与事件模型。

 

3.css样式部分 熟悉最基础的布局方式、常用定位的作用和区别、css的一些常用的选择器以及选择器的权重。另外就是css的浮动部分,掌握浮动的应用场景和消除浮动的常用方法。是否熟悉响应式布局这块,对最新的css3的知识掌握熟练程度以及移动端的经验,属于面试之中比较看重的一块。css3中体现了很多的新的浏览器特性和效果,使用熟练程度之余还要知道它的兼容性。

 

4.javascript基础  理解闭包的概念和用途,原型链和继承的概念。网络基本知识像HTTP协议,Get/Post的区别与联系。

 

5.前端与后端交互的数据格式Xml/Json等  进阶部分包括得熟悉使用javascript的流行mvvm框架(vue,angular,avalon等等)其中的一种到两种,构建工具(webpack,fis,gulp等等),以及系统后期的一个优化过程(包括静态资源压缩,合并,按需加载,分流)前端安全这块的知识,如跨域机制,CSRF/XSS 漏洞等知识以及如何防范。

D.客户端程序员

首先要对系统如何启动App,App如何运行有一个整体的了解,这里就包含App启动过程,沙盒机制的目的,实现原理等。

 

1.  操作系统中进程与线程的知识点,App怎样处理图片与外部网络资源,也要有一个整体的认识。

 

2.  App界面布局和交互的知识。

 

3.  语言基础包含OC,Swift,至少精通其中一种。对象的生命周期,面向对象思想。

 

4.  App界面知识点,自动布局, 自开发组件。

 

5.  UIView,  UIControl,  UIScrollView,  UIViewController 等核心类型的概念和关系。

 

6.  App屏幕旋转及屏幕适配,触摸、手势、加速计的使用。

 

7.网络协议HTTP/TCP等基础知识,Socket/CFNetwork/NSURLConnection等类的使用

 

8.代码管理如Git/Svn的使用,开发测试流程,Bug管理,打包上架到苹果审核发布等知识。

 

9.常用类库框架UIKit/Foundation/MapKit。

 

10.热门技术如微信支付/友盟分享/第三方统计等的使用和注意事项。

 

11.性能调优方面,内存泄漏、网络流量、耗电量方面的优化知识,Analyze的使用。

 成长性软实力

除了技术知识等硬素质,能驱动带来可持续成长的软素质同样重要。今日头条资深架构师夏绪宏提到,对候选人更看重:

 

1. 技术面与职位匹配     建议对照应聘的职位描述,做有针对性的准备,也让企业了解到你的用心;

 

2. 技术热情    对技术热爱,善于使用技术解决问题,有「技术思维」;

 

3. 学习能力    技术不可能一开始全部具备,更新迭代快的环境下需要保持不间断学习;

 

4. 沟通能力    团队协作需要能沟通顺畅、高效;真正在做项目时,如何正确、高效的与战友沟通非常重要,与学校中不同,在职场上更多是并肩作战;

 

5. 项目经验    实习、生活中自己有项目尝试。最好是有更多的实践,不一定是实习,可以是自己日常去多做小项目尝试,让我们看到你对技术的热情,这一点很重要,已经有相关经验的同学会更有竞争力。

 

此外,初入职场的应届生要做到基础和工程并重,不要只偏重一方,这样有助于扩展整体的技术视野,在思考问题的角度上更广、更全面。在塑造自己的职场初印象时,大家可以参考以上这几条,给外界一个完美的亮相。

三、如何选择第一家供职企业——大公司,还是小公司

面临大公司、小公司,究竟该怎么选择呢?结合腾讯高级工程师、今日头条客户端技术总监等技术大牛的建议,归纳了一些要点:

 

1.  行业和公司层面,计算机专业主导行业有哪些?这些行业中top3的公司是哪些?这些公司的商业模式和竞争的护城河是什么?这些问题答案很大程度决定了公司未来的发展空间。通常建议只选快速发展行业中第一、二位的公司。

 

2.  岗位和兴趣匹配,要多问自己内心喜欢的是做什么样的工作,兴趣是最好的老师,兴趣也在后来的职业生涯中帮助更好地找准发展方向,即使在计算机专业领域,也是有很多细分的方向(例如安全领域,后台领域,移动领域,算法领域等)可以发展的,把它给明确下来。明确了自身的兴趣和发展方向后,就要对应地去匹配行业中有发展空间的top3公司的合适岗位,仔细看下这些岗位的Job Description的技能和知识要求,查漏补缺,把自身的能力短板补充好,做好充分准备。

 

3.  考虑团队、导师和个人成长   团队的技术氛围、mentor的水平直接影响到了你在该公司该岗位上的上升天花板的高度。选择业界顶尖某项技术的大牛追随,是对个人成长绝对有利的。


职场新人,尤其是比较优秀的新人,容易吹毛求疵,导师或者团队有一些不足,就产生失望情绪。记住,人无完人,没必要苛求导师每个方面都完美,当遇到导师或团队产生问题时候,真诚的给出反馈,学会发现导师的长处,虚心请教学习,从导师变成朋友。

 

4.  公司产品、公司文化及CEO的认同   比较成体系的优秀公司,无论是成熟大公司BAT还是超级独角兽们,都有拳头产品。在去公司之前你要体验、了解、认可公司的产品,从内心热爱一个产品将成为攻坚的动力。另外,特色鲜明的公司都有自己独特的公司文化,这些文化反应了公司更看重的核心能力是什么,当你有了公司文化认同时,你未来的工作将会非常顺手,并快速容如公司环境。通常这些价值观也是通过CEO的发言传递出来。

 

5.  福利待遇  建议应届毕业生不要在薪水上有太硬性的门槛标准,面对很好的平台和职位,薪资在短时间内相比于成长空间是可以做取舍的。不过目前无论是大公司还是超级独角兽们,为了吸引优秀人才进入,福利水准已经非常接近了,大家可以多去知乎等社区搜索或向前辈询问了解。

 

6. 人才关注  公司对人才发展的重视、培养和激励也是非常重要的。


例如有人问华为创始人任正非:“人才是不是华为的核心竞争力?”任总的回答则出人意料:“人才不是华为的核心竞争力,对人才进行管理的能力才是企业的核心竞争力”。

 

在《华为基本法》里有一句话叫做:“认真负责、管理有效的员工是华为最大的财富”。而不是像很多企业那样泛泛的讲“员工是企业最宝贵的财富”。《华为基本法》中还有一句更厉害的话:“我们强调,人力资本不断增值的目标优先于财务资本增值的目标”。


腾讯,我呆过3年的前东家,印象最深的是,对人才要求最重要的是“正直”,公司很重视人品,位于腾讯价值观的第一条就是正直。其次是体系化的培训机制,校招、社招入职培训,通用培训,专业培训,管理培训涵盖潜龙、飞龙、腾龙等系列,从菜鸟到管理层,培训一路相伴。第三,鼓励员工帮助员工成长,每个员工的成长晋升道路,都需要成为新员工导师、课程讲师,帮助同事个人,帮助团队进行能力提升,这是在职级晋升中的硬性条件。


今日头条张一鸣对人才极其渴求,他不止一次表露过对人才的看法。尊重人才要做到三个方面:「一是回报,包含短期回报长期回报;第二是成长,他在这个公司能得到成长,第三,他在这个公司精神生活很愉快,他干起事来觉得有趣。」

四、职场冲刺攻略:每个程序员都有可能成为架构师

程序员一般在三年,五年,七年都分别面临自身发展的一个坎,根据HR的统计,这几年一般是程序员跳槽换工作最频繁的年限。对于工作前三年的程序员,TA一般都是能比较好地完成好手头上的工作,会开始觉得现在做的工作没有什么困难和挑战了,很多东西都会了,对工作的**可能逐渐开始消退。初涉职场,如何要求自己,快速成长,BLUES的朋友们都很积极地给了很多建议:

 

1. 尽快完成身份转换,从学生过渡到公司员工。更好的平衡实际产出和学习提高的精力,这方面有问题不妨多和直线经理沟通

 

2.兴趣驱动自我成长,能做技术源于我对技术的热爱,找到你的兴趣点;

 

3. 有优秀的mentor指导;

 

4. 在某个领域需要有特长,需要去深钻;

 

5. 学会合作,公司不同于学校里接触的项目,工作上有大项目才能获得锻炼,你会发现原来需要考虑这么多问题,看起来一个简单的产品需要那么多人协同。

 

6.  辅助技能也是必备,不光是技术上的成长,需要了解用户、推动产品落地,这涉及到用户洞察、执行力、沟通能力等等一系列技术人员必备的技能。

 

7.  和业界保持更新,不要闭门造车,需要跟更多的业内人士交流、学习。

 

那么多计算机专业的小鲜肉,有老司机在前面带路,就大胆的去追逐程序员的梦想吧,第一份工作的选择也是一个磨练的过程,或许这个过程有诸多坎坷,但也不用蓝廋香菇,学会自我总结反思,相信会找到一个适合自己的发展平台。


最后,我的亲身感触,任何行业的大牛,都是一个积累过程,不排除天才的存在,但概率上说,99%的人都不是天才,但是可以凭借自己的专注与努力成就职场的发展,很多人的努力程度其实并没有到拼天赋的时候,所以,大家找好方向,按照自己的节奏,持续努力就好。

-END-

BLUES
分享到朋友圈
收藏
收藏
评分

综合评分:

我的评分
Xinstall 15天会员特权
Xinstall是专业的数据分析服务商,帮企业追踪渠道安装来源、裂变拉新统计、广告流量指导等,广泛应用于广告效果统计、APP地推与CPS/CPA归属统计等方面。
20羽毛
立即兑换
一书一课30天会员体验卡
领30天VIP会员,110+门职场大课,250+本精读好书免费学!助你提升职场力!
20羽毛
立即兑换
顺丰同城急送全国通用20元优惠券
顺丰同城急送是顺丰推出的平均1小时送全城的即时快送服务,专业安全,准时送达!
30羽毛
立即兑换
BLUES
BLUES
发表文章185
深圳梅沙科技合伙人,原迅雷产品总监,YY语音、QQ秀高级产品经理
确认要消耗 0羽毛购买
技术人的职场:程序员如何从菜鸟到大牛吗?
考虑一下
很遗憾,羽毛不足
我知道了

我们致力于提供一个高质量内容的交流平台。为落实国家互联网信息办公室“依法管网、依法办网、依法上网”的要求,为完善跟帖评论自律管理,为了保护用户创造的内容、维护开放、真实、专业的平台氛围,我们团队将依据本公约中的条款对注册用户和发布在本平台的内容进行管理。平台鼓励用户创作、发布优质内容,同时也将采取必要措施管理违法、侵权或有其他不良影响的网络信息。


一、根据《网络信息内容生态治理规定》《中华人民共和国未成年人保护法》等法律法规,对以下违法、不良信息或存在危害的行为进行处理。
1. 违反法律法规的信息,主要表现为:
    1)反对宪法所确定的基本原则;
    2)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一,损害国家荣誉和利益;
    3)侮辱、滥用英烈形象,歪曲、丑化、亵渎、否定英雄烈士事迹和精神,以侮辱、诽谤或者其他方式侵害英雄烈士的姓名、肖像、名誉、荣誉;
    4)宣扬恐怖主义、极端主义或者煽动实施恐怖活动、极端主义活动;
    5)煽动民族仇恨、民族歧视,破坏民族团结;
    6)破坏国家宗教政策,宣扬邪教和封建迷信;
    7)散布谣言,扰乱社会秩序,破坏社会稳定;
    8)宣扬淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪;
    9)煽动非法集会、结社、游行、示威、聚众扰乱社会秩序;
    10)侮辱或者诽谤他人,侵害他人名誉、隐私和其他合法权益;
    11)通过网络以文字、图片、音视频等形式,对未成年人实施侮辱、诽谤、威胁或者恶意损害未成年人形象进行网络欺凌的;
    12)危害未成年人身心健康的;
    13)含有法律、行政法规禁止的其他内容;


2. 不友善:不尊重用户及其所贡献内容的信息或行为。主要表现为:
    1)轻蔑:贬低、轻视他人及其劳动成果;
    2)诽谤:捏造、散布虚假事实,损害他人名誉;
    3)嘲讽:以比喻、夸张、侮辱性的手法对他人或其行为进行揭露或描述,以此来激怒他人;
    4)挑衅:以不友好的方式激怒他人,意图使对方对自己的言论作出回应,蓄意制造事端;
    5)羞辱:贬低他人的能力、行为、生理或身份特征,让对方难堪;
    6)谩骂:以不文明的语言对他人进行负面评价;
    7)歧视:煽动人群歧视、地域歧视等,针对他人的民族、种族、宗教、性取向、性别、年龄、地域、生理特征等身份或者归类的攻击;
    8)威胁:许诺以不良的后果来迫使他人服从自己的意志;


3. 发布垃圾广告信息:以推广曝光为目的,发布影响用户体验、扰乱本网站秩序的内容,或进行相关行为。主要表现为:
    1)多次发布包含售卖产品、提供服务、宣传推广内容的垃圾广告。包括但不限于以下几种形式:
    2)单个帐号多次发布包含垃圾广告的内容;
    3)多个广告帐号互相配合发布、传播包含垃圾广告的内容;
    4)多次发布包含欺骗性外链的内容,如未注明的淘宝客链接、跳转网站等,诱骗用户点击链接
    5)发布大量包含推广链接、产品、品牌等内容获取搜索引擎中的不正当曝光;
    6)购买或出售帐号之间虚假地互动,发布干扰网站秩序的推广内容及相关交易。
    7)发布包含欺骗性的恶意营销内容,如通过伪造经历、冒充他人等方式进行恶意营销;
    8)使用特殊符号、图片等方式规避垃圾广告内容审核的广告内容。


4. 色情低俗信息,主要表现为:
    1)包含自己或他人性经验的细节描述或露骨的感受描述;
    2)涉及色情段子、两性笑话的低俗内容;
    3)配图、头图中包含庸俗或挑逗性图片的内容;
    4)带有性暗示、性挑逗等易使人产生性联想;
    5)展现血腥、惊悚、残忍等致人身心不适;
    6)炒作绯闻、丑闻、劣迹等;
    7)宣扬低俗、庸俗、媚俗内容。


5. 不实信息,主要表现为:
    1)可能存在事实性错误或者造谣等内容;
    2)存在事实夸大、伪造虚假经历等误导他人的内容;
    3)伪造身份、冒充他人,通过头像、用户名等个人信息暗示自己具有特定身份,或与特定机构或个人存在关联。


6. 传播封建迷信,主要表现为:
    1)找人算命、测字、占卜、解梦、化解厄运、使用迷信方式治病;
    2)求推荐算命看相大师;
    3)针对具体风水等问题进行求助或咨询;
    4)问自己或他人的八字、六爻、星盘、手相、面相、五行缺失,包括通过占卜方法问婚姻、前程、运势,东西宠物丢了能不能找回、取名改名等;


7. 文章标题党,主要表现为:
    1)以各种夸张、猎奇、不合常理的表现手法等行为来诱导用户;
    2)内容与标题之间存在严重不实或者原意扭曲;
    3)使用夸张标题,内容与标题严重不符的。


8.「饭圈」乱象行为,主要表现为:
    1)诱导未成年人应援集资、高额消费、投票打榜
    2)粉丝互撕谩骂、拉踩引战、造谣攻击、人肉搜索、侵犯隐私
    3)鼓动「饭圈」粉丝攀比炫富、奢靡享乐等行为
    4)以号召粉丝、雇用网络水军、「养号」形式刷量控评等行为
    5)通过「蹭热点」、制造话题等形式干扰舆论,影响传播秩序


9. 其他危害行为或内容,主要表现为:
    1)可能引发未成年人模仿不安全行为和违反社会公德行为、诱导未成年人不良嗜好影响未成年人身心健康的;
    2)不当评述自然灾害、重大事故等灾难的;
    3)美化、粉饰侵略战争行为的;
    4)法律、行政法规禁止,或可能对网络生态造成不良影响的其他内容。


二、违规处罚
本网站通过主动发现和接受用户举报两种方式收集违规行为信息。所有有意的降低内容质量、伤害平台氛围及欺凌未成年人或危害未成年人身心健康的行为都是不能容忍的。
当一个用户发布违规内容时,本网站将依据相关用户违规情节严重程度,对帐号进行禁言 1 天、7 天、15 天直至永久禁言或封停账号的处罚。当涉及欺凌未成年人、危害未成年人身心健康、通过作弊手段注册、使用帐号,或者滥用多个帐号发布违规内容时,本网站将加重处罚。


三、申诉
随着平台管理经验的不断丰富,本网站出于维护本网站氛围和秩序的目的,将不断完善本公约。
如果本网站用户对本网站基于本公约规定做出的处理有异议,可以通过「建议反馈」功能向本网站进行反馈。
(规则的最终解释权归属本网站所有)

我知道了
恭喜你~答对了
+5羽毛
下一次认真读哦
成功推荐给其他人
+ 10羽毛
评论成功且进入审核!审核通过后,您将获得10羽毛的奖励。分享本文章给好友阅读最高再得15羽毛~
(羽毛可至 "羽毛精选" 兑换礼品)
好友微信扫一扫
复制链接