普通大专生的8年程序员生涯感悟

作者: 初壹十五a | 来源:发表于2020-06-02 18:47 被阅读0次

    一个普通专科毕业的程序员,给大家分享下自己8年工作生涯的一些感悟和总结。

    要想成为一名优秀的Android开发,一份 知识体系 是必不可少的~

    还记得自己刚开始进入软件开发行业的时候,也是在网上看了好多大佬的工作总结,每次看完总是踌躇满志,像打了鸡血一样充满干劲。

    斗者,与天斗,其乐无穷;与地斗,其乐无穷;与人斗,其乐无穷。

    2013年,算是我正式踏上软件开发的第二年。

    时间过的真的很快,转眼进入软件开发行业8年了,混的还是不如人意。突然想起了筷子兄弟的《老男孩》,“梦想总是遥不可及,是不是应该放弃,花开花落又是一季,春天啊,你在哪里?”

    当曾经的梦想都被残酷的现实打击的支离破碎时,更多的也许是平静和认命吧。人生真的到了一定的岁数,真的要学会认命,知道天命不可违。

    感慨太多,先进入正题吧

    个人经历

    普通专科毕业,12年转行进入软件开发行业,从事Java开发。

    在杭州工作两年,14年来到深圳,两年Java转Android。

    开发方向的转变,是在2014年移动APP的浪潮时期,自学了安卓开发半年,面试过了,转方向成功,然而过不久后移动开发的浪潮就逐渐趋于平静,至今还在移动开发的路上拼搏奋斗。当然,我也依然相信当年的转行是正确的。

    早期为了多学点技术,多接触点项目,跳槽比较频繁。由于内心一直以一个技术人自居,所以一直重技术,轻业务,导致在职业规划上做的很差,经历的公司业务方向都没有承接性,教育,金融,支付,政务方向的软件产品都有接触开发。

    盲目的追逐了几次技术浪潮,但是又没有真正对自己的职业生涯有多大的帮助。

    总的来说,工作8年,做过一些尝试和努力,但可能没有遇到好的机会或者选择的方向错了,导致至今混的不尽如人意。

    关于程序员高薪的一些看法?

    怎么拿到年薪百万?

    大部分都是一线互联网公司,类似阿里,腾讯,华为,至少P6以上的核心技术人员,算上期权、奖金等福利才有可能突破年薪百万。拿一般公司14薪为例来算,要拿到年薪百万的话,月薪需要达到7万多,7万多的月薪什么概念,你们可以自己去招聘网站上面看看,这样的岗位需求有多少,要求是什么,对标参考下。

    能进入大厂的程序员毕竟是少数,大部分普通程序一般工作几年,可能拿到20多K算是比较正常的,后面的薪资提升就比较困难了。20多K在一线城市待遇算多吗?只能说,勉强生活,除去五险一金,房租,生活开销,节约点的话,可能一个月能攒1w左右,一年能存个10多万,但是一想到一线城市5,6w一平的房价,和高强度的工作,其实并没有任何幸福感可言。

    关于能不能进外包?

    刚到深圳一段时间,曾经在平安科技做过一段时间的外包。谈一下对外包的看法。我的建议是,工作前3年,可以考虑外包,毕竟那时候工作经验和技术水平都不是很充分,到哪里都是学习,外包进入门槛比较低,初中级别给的待遇又相比其他甲方公司更丰厚,所以,这个时期是可以考虑外包。另外在给甲方公司做外包项目的时候,有时候会获取到转内的机会。

    为什么有一定工作经验后,不推荐进外包呢?

    1. 外包的项目大部分不稳定,可能这个项目赶进度的时候缺人,你过去当牛做马,天天加班,当项目不缺人了,就把你调到新的项目组,继续赶进度。
    2. 外包技术成长慢。主要原因是项目开发节奏紧张,难以接触到核心模块的开发,大厂做外包很多都是内部封装好的框架和组件,技术沉淀和业务积累都很缓慢。
    3. 很多外包都是驻场开发,很容易感受到和甲方公司开发人员的隔阂,团队归属感会很差。

    关于程序员的学历问题?

    本人由于是专科学历,而且还是转行进入软件开发行业,后面还转Android,吃过各种学历带来的苦果。尽管现在已经自考了中山大学的计算机应用专业的本科文凭,但是由于有学历要求的公司,大部分只看第一学历,也就是统招全日制的学历,所以学历还是我职业发展道路上的重大瓶颈。

    不要迷信什么学历不重要,只要技术能力过硬就行。现实中的大部分情况,大多数人达不到技术强到忽略学历的层次,你首先要学历过硬,才能获得到更多的面试机会,更好的成长平台。

    其实经过最近这2年,给公司招聘技术人员,越来越能理解为什么越来越多的公司学历要求的门槛越来越高?

    1. 整体来说,本科毕业生大概率比专科生综合素质强,学习能力,沟通表达能力,技术功底,自我驱动,执行力,规划能力,成长潜力……说多了都是泪啊……不是否定专科人,专科也有很多优秀的人才,只是相比起本科还是比较少。
    2. 招聘成本问题,从网上挑简历,筛选简历,到预约面试,复试,确定人选,整个流程下来,招聘一个合适的人员,其实成本非常高。
    3. 通过简历判断技术能力难度大。现在开发人员的简历基本都是项目介绍,然后一大堆雷同的技术栈名词的堆砌,很难直接通过简历判断出技术功底的真实差别。

    所以面对公司hr一次推送10多份简历筛选,上级又催着尽快招人的时候,也会对学历上有优势的优先筛选出来,毕竟通过的概率大很多,能很大的节约招聘成本。

    由于学历问题,职场遇到过各种问题

    1. 压低待遇,尽管艰难的通过面试,同等情况下,待遇可能被砍好几千。
    2. 以外包方式在大厂工作,转内通道是关闭的
    3. 工作中的培养锻炼的机会
    4. 职场晋升的机会
    5. 没有住房补贴的申请资格

    怎么改变学历的劣势呢?

    1. 大专生改变学历的劣势,只能靠考研,有学历要求的公司一般都只会看第一学历。
    2. 普通本科尽量去考研,首选报考重点院校(985/211)的研究生
    3. 重点本科(985/211)毕业,如果直接获得大厂的工作机会,可以先工作。否则还是建议先努力考研,毕竟工作后考研会由于工作和生活的压力,难度会更大。
    4. 技术非常强!

    人生的路,一步慢,步步慢。

    以后本科生只会越来越多,越来越普遍,逐渐失去职场竞争力。硕士学历才是你以后职场生涯的一个保障,至少学历不会是你职场发展的瓶颈。

    来一张图,更深刻的揭示学历的重要性。互联网圈的大佬,无一不是重点大学毕业。

    关于要不要追逐技术风口?

    我的意见是不要盲目的追逐技术的风口,首先还是把自己吃饭的核心技能深入挖掘。

    技术领域都是深度优先,然后才是广度。追逐技术风口是有风险的,比如移动开发火了那么几年后也是逐渐趋于平静,区块链感觉更像炒作,你很难判断这个风口什么时候过去。

    技术风口的岗位需求会比较少,很多时候可能你在招聘网站上投一轮,成就成,不成就没有其他机会了。

    当然,不追逐技术风口,并不是说不学习新的技术,软件开发是一个终生学习的行业。几年不学习,你的技术可能就会落伍,主流技术框架和中间件一定要熟练运用,深入挖掘。当你技术框架的了解比其他大部分人多的时候,就是你拉开和其他人的差距,体现出你的核心竞争力的时候。

    新的技术框架,可以先了解,关注行业动态,作为解决方案和下期技术引进的一些技术储备。

    不要盲目的追逐风口。风口一般很小,能在上面站稳的很少,能飞起来的更少,大部分是摔下去了。

    尽管“站在风口上,猪都能飞”,你也得清楚,人家可是双一流来的“飞翔的猪”

    关于找工作面试的一些看法

    1、面试一定要带简历,这是态度问题,不然容易第一印象就不好。

    2、简历上最核心的2点

    • 1是自己掌握的技术栈说明,让面试官清楚知道你掌握技术栈;
    • 2是项目中使用了哪些技术栈,体现自己对这些技术栈的实际项目的运用情况。

    另外简历不要超过3页。很多早期的项目经验和大篇幅的项目功能介绍,并没有什么意义。

    3、准时,实在有突发情况,要提前打电话商量修改面试时间。

    4、至少提前几周准备面试,因为Android知识体系比较庞大,不针对你面试的岗位复习下就直接面试,就像送人头一样,很容易错失难得的面试机会。

    这里也顺便分享一个对标腾讯T3-3(新T11)的Android工程师技能要求:

    5、java基础一定要掌握好,不然丢分非常严重。之前面试一个高级Android,竟然回答不出垃圾回收机制,一下子我都不想继续聊下去了。

    6、框架要熟悉,并对其实现原理有一定的了解。比如:Retrofit、OkHttp、Glide、RxJava、Butterknife、dagger、EventBus……一定要从原理层次掌握其中两个以上

    7、关于调优一定要了解。

    8、

    • Java基础属于必问内容,大厂尤其看重基础;
    • 算法至少要掌握高频题(建议《剑指Offer》+LeetCode);
    • Android的内容我就不多说了,除非你不是面Android岗,不然肯定会有的(这里要注意:不能停留在会用!原理!原理!原理!重要的事情说三遍)。

    9、听清楚面试问题再回答,不要答非所问,太过自由发挥。你和面试官聊的越有共鸣,你通过的几率越高。不知道可以直接说不知道,然后再阐述下自己的认知和了解,以探讨的方式让面试官和你互动,这样也能偷师点东西。

    10、了解不深的技术栈名词和机制,尽量回避,不然只要你提到,面试官就极有可能展开深入的问下去。

    11、多积累一些技术圈的人脉,很多时候内推进入会容易很多。

    12、多积累一些可展示的技术成就和作品,比如参与了某某著名网站或者APP的核心模块开发,在GitHub上开源了什么框架或者参与了什么开源框架的开发,著名博客网站的一些排名,运营某某技术公众号。

    关于吊打面试官?

    为什么谈到这个,是由于最近在很多公众号里面,动不动看到吊打面试官。感觉面试官也挺惨的。

    首先说明一个观点,你永远也不可能吊打面试官。因为是他在面试你,你是在被面试,主动权掌握在面试官手里,他的问题你必须回答,你的问题他可以故作高深,不屑回答。

    另外,作为求职者,不用抗拒“面试造火箭,工作拧螺丝”,因为如果都是非常简单的问题,怎么区分出程序员的技术层级,怎么评级定薪。“欲戴王冠,必承其重”,想要拿高工资,进大厂,总要先体现自己的技术水平和价值。

    关于跳槽的一些看法

    1、控制好跳槽的频率,控制2~3年才跳一次,跳槽太频繁会给公司不踏实的感觉。公司不会关心你跳槽的原因是因为公司倒闭,还是上级太难相处。

    2、尽量不要裸辞。早些年自己一直都是裸辞,因为性格比较直,不想找理由请假出去面试,也希望离职后能安心为面试做准备,全心全意找到一份理想的工作。但是裸辞面临的最大问题就是长期没有收入,会逐渐降低自己的心理预期,最终可能将就着进入一家不怎么满意的公司,谈待遇的时候也没有底气。

    3、尽量选择同一个业务方向的公司。这样更有利于你的技术积累和业务沉淀,业务知识比技术知识的生命力更持久,一个行业的业务可能10多年都不会出现太大的变化,但是一个技术可能也就3~5年的生命周期。现在很多公司缺的不是懂技术的人才,而是即懂技术又懂业务的人才。

    关于一线城市打拼的一些看法

    如果在一线城市奋斗几年,不能进入大厂,职位待遇没有什么质的提升。我的建议是可以考虑早点回二线老家的省会城市发展,幸福指数会高很多。就像我很多湖南同事一样,很早就回老家,在长沙买车买房,也能找到1万多待遇的工作,工作节奏轻松,加班不会像一线城市这么严重,这样的生活其实挺令人羡慕。

    工作的最终目的是为了更好的生活

    有的时候人生无非就是换种活法,退一步海阔天空,不必死磕较劲。

    近期的一些打算

    1、多看些技术书籍,做一些技术总结

    2、坚持写些技术博客,做一些技术输出,即是对技术的总结梳理,也希望能对自己今后的求职发展有所帮助

    3、锻炼身体,健康作息

    最后

    送大家一句话

    该拼搏的时候,就努力拼搏,不留遗憾。该放下的时候,就洒脱放下,不要执着。

    这里我也分享一份资料,希望可以帮助到从事Android研发的朋友们提升进阶。

    内容包含:Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。分享给大家,非常适合想在技术道路上继续精进的和近期有面试的朋友。

    如果你有需要的话,可以点击Android学习PDF+架构视频+面试文档+源码笔记免费领取

    喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~

    相关文章

      网友评论

        本文标题:普通大专生的8年程序员生涯感悟

        本文链接:https://www.haomeiwen.com/subject/zlqpzhtx.html