再多迷茫,不如静下来好好学习

背景

  前不久,我有幸看到了CSDN知名博主“沉默王二”写的一篇博客《你的青春,值得先给小型创业公司吗?》,这篇博客介绍了他从苏州回到内地小城洛阳之后,虽然远离了互联网的主阵地,但是依然保持学习的态度,并最终出书的心路历程。而在这段蛰伏于东都洛阳的经历,让他把对于技术的积累都凝聚成了一本非常优秀的Java技术书籍《Web全栈开发进阶之路》,这本书深入浅出的介绍了基于Spring Boot开发企业级项目的过程,值得每一位进阶期的Java开发者阅读。

  他的这段经历也让我有感而发,作为年轻开发者的我们,总是会很迷茫,面对职场的一万种选择,我们该如何选择自己的职业规划呢?

那些练兵无数的BAT大厂们

  在互联网飞速发展的今天,BAT成为大家的首选,借助BAT的练兵,也让优秀开发者更能够出类拔萃。例如阿里巴巴集团,便是一个经典的例子。依托电商平台提供的海量流量和巨大的数据,阿里巴巴的优秀开发者们完成了一个又一个难以想象的技术难关的突破,例如OceanBase的背后,就是数以百计优秀开发者们连续几年的艰难付出,从学习MySql代码出发,到构建了一套完整的数据库体系,这些学习经验的过程几乎无可复制。

  

除此之外还有阿里巴巴出品的基于流式计算的组件Blink,在大部分开发者依然使用存储过程进行数据分析的今天,阿里巴巴的开发者们仿佛已经提升了很多个段位。除了软件研发实力外,每一个有幸看过《阿里巴巴中台战略思想和架构实践》这本书的,往往也会被阿里巴巴在软件体系建设上的积累所折服,阿里巴巴的软件设计能力也是国际领先水平。

   除了阿里巴巴,百度和腾讯同样令人瞩目,这些动辄大几万人大厂,流程完善,技术体系完整,敢于试错,每个开发者都能从中学到无穷宝贵的财富。而那些更善于研究技术的,则可以充分利用这些资源,实现自身技能的快速提升,从而实现了职场的快车道。

  似乎从这些可以看出来,对于开发者而言,选择大厂,更能成就一个人的价值,那么多体验新技术的机会,足以让每一个对技术充满爱好的开发者从中获得快速的成长,获得金钱、技术和价值上的巨大满足。然而,事实上,哪怕是大厂也好,也并非每个人都能获得成长的机会,只有在主航道上的开发者,才往往更容易获得快速成长所需的资源,位于非主航道上的开发者,哪怕你能力再强,也难免会被其他跟你同等优秀的开发者遮掩住你的光芒。优秀如甲骨文公司,也有许多开发者曾经很优秀,却没有得到机会,最终被埋没,而荒废了一身武功。

  大厂拧螺丝成为互联网开发者技术圈一个流传已久的段子,而且随着BAT技术体系的逐渐完善,前面提到的这些大规模基础设施建设的机会,或许也将不再持续,未来的开发者们大概或许只能依托现有的体系进行修修补补,难以再重现前辈们的辉煌。

小厂的苦,体会过都懂

  BAT和互联网巨头虽然美好,但是与中国发达如斯的IT经济而言,只是九牛一毛。要成就一番事业,并非只有BAT独有的机会,由于这些BAT或其他大厂,作为投资圈的风口,也是互联网技术圈的风口。这些巨头们固然具有许多独特的优势,但是或许是由于互联网996的特点,最终却并非适合所有人。

  尤其是前几年的万众创业的政府口号,让无数年轻人选择了创业,在IT行业中,同样不乏成功案例,各种90后创业者层出不穷,他们的故事似乎在验证着某些成功学的哲理。而选择一家合适的小厂,跟随小厂一起快速成长,也并非不是一种合理的选择。

当然,小厂的发展过程或许会相对充满挑战,如果是一家缺乏资源的创业者建立的小厂,那么跟着老板一起打拼,将成为一段无比艰辛的过程。且不说可能需要开发者付出自己的精力,更有甚者,还需要开发者去付出自己的资源。

  小厂开发者,不仅要求技术能独当一面,还要求能不计较个人得失,跟老板同甘共苦,否则,成功是老板的成功,失败,就是员工的失败。作为小厂开发者的你,或许有机会成为全栈工程师,但是显然难以获得技能上的深入,大部分情况下,大概只能成为各种领域都只知道皮毛的所谓全流程工程师。也有的时候,一些小厂开发者,必须依托大厂开发的技术平台实现所谓的二次开发,来为客户完成一些特定的业务需求,这是一种所谓的“调参工程师”。

  作为小厂工程师的你,有时候固然想获得一些进一步的提升,但是往往碍于各种原因,你不见得有足够的时间或精力来实现这些提升。许多小厂的加班情况,可能比互联网996更惨,尤其是一些专注于制造业和国企信息化的外包开发者,你必须花费大量业余时间,去应对客户们提出的刁钻需求,不仅仅要出差,而且晚上甚至要加班到凌晨,第二天还得生龙活虎的继续奋战。

当今时代开发者该如何成就自己独特的技能体系,并成为更加优秀的技术专家呢?

  每一位优秀的开发者,都怀揣着梦想,希望通过自己的努力,实现自己的人生价值。而选择一段最契合自己发展规划的职业发展道路,显然是成就梦想最直接的方式。然而即便是大厂开发者,也并非意味着有足够的机会成就自己的人生价值。因此,我们始终必须保持一颗学习的心态,去迎接属于自己的挑战。这意味着我们应该努力时刻保持积极的进取心,去追求卓越,探究最适合自己的发展方式。

  1、重视基础技能的积累。哪怕是简单的增删改查,也同样值得发掘价值。而如果我们能够灵活的运用各种设计模式,那么这些代码开发的过程,将会成为一种可以高效积累和复用的方式。接口开发过程中,你是否考虑过当前接口应该更好的契合设计原则?这也是一种思考问题的方式。

  2、重视学习能力的提高。经常性的去刷新自己的知识,在项目中运用新技术,也是一种提升技术含量的方式。追求卓越,将让我们的格局与众不同。

  3、坚持总结和归纳能力。定期的对自己掌握的知识进行梳理,查漏补缺。

  4、敞开心扉,与其他优秀开发者进行交流。如果成为一位封闭的开发者,是一件很危险的事情,而随着互联网的发展,新技术层出不穷,适当的去扩大自己的圈子,将有利于自身综合能力的提升。

  很多年一起一位老师在豆瓣写过一篇文章,标题叫做《长成大树,长成灌木》,这篇文章的引子是来自于《构建之法》的作者邹欣老师对于职业规划的评论,原文是这样的:

  在条件比较好的企业,因为流程和支持都很到位,职员可以专注于某个领域。 也许可以做出很大的贡献。在条件比较差的企业,你得“盯着”很多事情——否则就会出问题。 在“盯着” 的过程中, 你会了解相关的领域,从财务到清洁工,到IC 设计的工作,但是这些领域的知识是你的核心知识么?   都可以成长,有些是高大的乔木,有些是蜿蜒的灌木,有些是小花小草,有些没等成材就被开发商推倒盖房了。 

  选择职场,犹如一段种竹子的旅程,一株新竹种下之后,就算每天为它施肥、养护、浇水,头1、2年都完全没有长高的迹象。但第3年,幼竹只花2周时间,就能蹿到27米。那毫无生气的2年,是小竹苗在土壤下疯狂地扎根、生长。站稳了脚跟,它便会迅速长成参天的植物。做事情也是一样。

  你的辛苦或安逸,终将使你成为独特的个体。不管你选择大厂,或者做小厂开发者,最佳选择一定是选择一段能够形成技术积累的职业规划,而不是一味的追求眼前的利益,只有这样才会使你的每一段成长历程都会成为下一阶段进步的宝贵财富。

原文地址:https://www.cnblogs.com/xiyuanMore/p/10899152.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 
640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AGC023D - Go Home

AGC023D - Go Home 题目描述 Solution 我们首先把这些人分成在sss左边和在sss右边两类,考虑最左边的一群人AAA和最右边的一群人BBB,这两群人中必然有其中一群人是最后到家的。而是否最后到家取决于这两群人的人数(因为倘若只剩下两群人&am…

Web API 速率限制(二)- 令牌桶算法简介

前情提要上一篇文章里简单介绍了什么是Web API的速率限制,和限速策略需考虑的问题,最后还介绍了ASP.NET Core 的一个常用限速库。。。。。。。的名字。实施策略如果你想要建立一个限速系统,首先要确保限速系统不会增加API的响应时间。为了保证…

AGC023F - 01 on Tree

AGC023F - 01 on Tree 题目描述 Solution 有一个奇妙的贪心思路。(奇妙的原因是我不会证) 这一题的结点需要按拓扑序排序,并让逆序对个数最小。 考虑在儿子向父亲合并的过程中统计答案,产生的逆序对个数就是cnt[father][1]∗cn…

让 Ocelot 与 asp.net core “共存”

Intro我们的 API 之前是一个单体应用,各个模块的服务是通过 Assembly 集成在一起,最后部署在一个 web server 下的。我们已经在拆分服务并且在 Ocelot 的基础上封装了我们自己的网关,但是服务还没有完全拆分,于是有这么一个需求&a…

AGC024E - Sequence Growing Hard

AGC024E - Sequence Growing Hard 题目描述 Solution 我们可以把问题看成如下形式: 你有一个空序列,每次要加入一个元素xxx,x∈[1,k]x \in [1,k]x∈[1,k],使得新的序列字典序比上一个序列的字典序大。 显然如果我们加入一个数xxx&#xf…

Xamarin中国峰会2019

Xamarin跨平台技术中国峰会将讨论Xamarin技术的国内最新发展和实践情况,在会议中领略现代化的开发模式、应用基础架构、企业应用转型和案例交流。本月26日,Xamarin中国峰会将以线上直播的形式和大家见面!直播时间:2019年5月26日 8:00—17:00直…

博弈论练习1

博弈论练习1 \;1.ProjectEuler306 Paper-strip Game 题目描述 Solution 令SG[i]SG[i]SG[i]表示连续iii个格子的SGSGSG值。 SG[0]SG[1]0SG[i]mexj0n−2{SG[j]xorSG[i−j−2]}SG[0]SG[1]0 \\ SG[i]mex_{j0}^{n-2}\{SG[j]\;\;xor\;\;SG[i-j-2]\} SG[0]SG[1]0SG[i]mexj0n−2​{S…

.NET Core IoT 入门指南:(三)使用 I2C 进行通信

什么是 I2C 总线I2C 总线(Inter-Integrated Circuit Bus)是设备与设备间通信方式的一种。它是一种串行通信总线,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展[1]。I2C 总线包含两根信号线,一根…

圆方树

圆方树 单纯贴个板子。。。 https://loj.ac/problem/2587 #include <vector> #include <list> #include <map> #include <set> #include <deque> #include <queue> #include <stack> #include <bitset> #include <algor…

浅淡Kubernetes 与容器技术体系的最佳方法

我们已经进入到容器化时代&#xff0c;Kubernetes成为了市场上容器编排的事实标准&#xff0c;而且k8S 同样具备了微服务所需要的服务注册与发现、负载均衡、配置中心。Spring cloud 的核心是Netflix微服务框架&#xff0c;非常成熟&#xff0c;但是在netflix oss开发初期&…

单位根反演题单

单位根反演题单 LOJ#6485. LJJ 学二项式定理 单位根反演。 bzoj 3328 PYXFIB 单位根反演矩阵乘法。 POJChallengeRound2 Guideposts 求图上路径长度为k的倍数的方案数。 单位根反演矩阵乘法。 #include <vector> #include <list> #include <map> #inc…

.NET Core 批量重置 Azure Blob Storage 的 mime type

点击上方蓝字关注“汪宇杰博客”我的博客使用 Azure Blob Storage 存储文章配图&#xff0c;结果今天玩 Azure CDN 的时候爆了&#xff0c;原因是图片mime type不对。我们来看看如何在 .NET Core 里批量重置 Azure Blob Storage 中文件的mime type吧。起因使用编程方式&#xf…

AGC026E - Synchronized Subsequence

AGC026E - Synchronized Subsequence 题目描述 Solution 定义cnt[x][0],cnt[x][1]cnt[x][0],cnt[x][1]cnt[x][0],cnt[x][1]表示在前xxx个数中0的个数和1的个数分别是多少。 然后把整个串sss划分为若干个子串&#xff0c;划分点在所有cnt[i][0]cnt[i][1]cnt[i][0]cnt[i][1]c…

[NewLife.XCode]实体工厂(拦截处理实体操作)

NewLife.XCode是一个有10多年历史的开源数据中间件&#xff0c;支持nfx/netcore&#xff0c;由新生命团队(2002~2019)开发完成并维护至今&#xff0c;以下简称XCode。整个系列教程会大量结合示例代码和运行日志来进行深入分析&#xff0c;蕴含多年开发经验于其中&#xff0c;代…

AGC027D - Modulo Matrix

AGC027D - Modulo Matrix 题目描述 Solution 有一个显然的想法是先填一部分格子&#xff0c;剩下的格子的即为相邻格子的LCM1LCM1LCM1&#xff0c;但这样填写的数呈指数级增长&#xff0c;并不优秀。 我们发现一个格子的数是否可以填写只和相邻的四个格子有关系&#xff0c…

DDD该怎么学

2006年&#xff0c;国内的互联网才刚刚萌芽&#xff0c;人们甚至还不习惯网购&#xff0c;大多数在校生都在宿舍里刷魔兽世界副本。但企业软件开发却得到了蓬勃发展&#xff0c;各种公司和事业单位都纷纷进行信息化转型。然而人们很快发现&#xff0c;企业应用业务逻辑的复杂度…

博弈论练习2

博弈论练习2 \;1.AGC010F - Tree Game 题目描述 Solution 一道简单博弈题&#xff08;不知道为啥能作为AGC的F题&#xff09;。 考虑树形dpdpdp&#xff0c;设f[x]f[x]f[x]表示以xxx为根的子树中是否先手必胜。 则f[x]1f[x]1f[x]1当且仅当能找到xxx的子节点vvv满足f[v]0f[v…

Net Core下使用RabbitMQ比较完备两种方案(虽然代码有点惨淡,不过我会完善)

一、前言上篇说给大家来写C#和Java的方案&#xff0c;最近工作也比较忙&#xff0c;迟到了一些&#xff0c;我先给大家补上C#的方案。二、使用的插件HangFire一个开源的.NET任务调度框架&#xff0c;最大特点在于内置提供集成化的控制台,方便后台查看及监控&#xff0c;支持多种…

利用ASP .NET Core的静态文件原理实现远程访问Nlog日志内容及解决遇到的坑

最近项目上试运行发现&#xff0c;很多时候网站出了问题或者某个功能不正常&#xff0c;常常需要运维人员去服务器里面查看一下日志&#xff0c;看看日志里面会产生什么异常&#xff0c;这样导致每次都要去远程服务器很不方便&#xff0c;有时服务器是客户保管的不能让我们随意…

后缀数组SA

后缀数组SA 模板 花了不少时间才理解倍增求SASASA的实现方法&#xff0c;我还是太菜了。 定义sa[i]sa[i]sa[i]表示排名为iii的后缀的起始位置。 定义rank[i]rank[i]rank[i]表示起始位置为iii的后缀的排名。 显然两者之前互逆。 void solve() {int m122;for (int i1;i<m;…