随着互联网的快速发展,程序员在行业内还是比较热门的,但程序员行业是一个竞争激烈的行业,如何在技术不断更新的情况下长久发展下去?
说实在话,刚开始我进行业的时候,对自己以后的发展也是一头雾水,让我有感触的是这两年的坚持学习,有自己的学习时间,基于此给新入坑的程序员一点建议。主要是给那些萌新的程序员,以及想要转行做程序员的朋友们给一些建议。主要是阐述两个问题以及针对问题提出的建议:
1.要不要做程序员?
2.如果你已经做了一个程序员,如何从一个萌新进阶成为一个合格的打工人?
3.IT技术正确的学习方法
4.避免内卷化
一、要不要做程序员
我是2015年本科毕业,大学学的是计算机科学与技术,当时主修的编程语言是Java,刚毕业的时候做个一段时间的软件工程实习生。后来考研,对Python比较感兴趣,所以就学习了Python。那么到现在为止的话工作不到五年,目前是在一家小厂做后端开发的一些工作。
我也将探讨一下作为一个小厂的员工。程序员应该如何能够快速的积累知识和财富。
先来讨论第一个问题,那就是要不要做程序员?我听说过这么一个说法,就是说在当前这个社会,能改变普通人命运的话有这么几条路可以走。
第一条路叫敲代码,
第二条路叫搞金融,
第三叫在金融界敲代码,
第四条路叫在代码界搞金融。
仔细分析一下会发现话糙理不糙,其实就两条路,无非就是敲代码和搞金融。我认为这种说法的话虽然有点片面,但是也部分的能反映当前社会的现状,绝大部分的高薪职位都来自金融业或者IT领域。
其实大多数年轻人都投身到了IT行业,这里面有本科计算机的科班生,也有那种半路出家的跨界选手。目前程序员的人才市场领域可以说是鱼龙混杂、参差不齐。
我想说的是在你决定要入行之前,还是要多多考虑一个问题,那就是兴趣。
IT行业其实目前来说是一个知识爆炸的领域,基础迭代非常快。我是写java出身的,在此时此刻,如果我不去百度的话,我甚至不敢确定目前java的最新版本是版本号是几点几,发展到哪一步我都是不敢说的。
你没有足够的兴趣去驱动你去持续学习,我认为你的落伍和被淘汰就只是一个时间问题。
我大学同班大概是三十个人,到目前为止还在敲代码的可能也就剩四成左右。再说说我的程序员前同事,目前有开网店的、有做美甲的、有卖电子烟的、有开早餐店的、有做销售的。
这一行的高压和淘汰率,还有所谓的三十五岁魔咒在某些方面是真实存在的。所以个人认为,如果想要打破魔咒在程序员行业待的时间更长久,秘诀只有兴趣。
二、如何从萌新进阶
确定要做程序员的话,那么如何可以快速的进步?是选择深度优先还是广度优先?
许多萌新在刚入行的时候,就面对目前深不见底的技术站都会有一种感觉,第一是不知道从哪学起,第二是又怕学了就顾此失彼。实际上这就是一个深度优先还是广度优先的问题,这也是一个如何高效学习的问题。
我在这里给大家的建议是,如果你是在刚入行的时候呢,大可以去选择广度优先,就是先把知识面铺开,各种技术蜻蜓点水点一遍,用最小的成本让自己在脑海中构建起来对软件开发的大局观和整体的一种认识。
有人就说,那你这样学出来是不是那种一瓶充满半瓶子罐油的那种什么都干不好?其实也不是这样,就类比我们上学的时候,小学、初中乃至大学,我们的课程都还是五花八门,均有涉猎的,就是都讲一点,但是都讲得不深。只有到研究生和博士阶段才会选准一个课题,去深度的钻研。
敲代码也是一样的,就刚入行的时候,我们去优先去拓宽视野,构建这种整体感,先要知道都有些什么技术,每种技术大体是做什么的,我认为这是很重要的,随着我们工作精力的提升,在找准一种到两种的,你自己感兴趣,然后再朝着这个技术去深度的钻研。
深度和广度都重要,建议广度优先,在广度足够的时候,也要保持至少一个领域的深度。
三、IT技术正确的学习方法
目前IT行业实在是发展得过于迅猛,新技术层出不穷,老技术又迭代不断。如果你是一个萌新的程序员,你在脑海中还没有对构建起来一种整体感和大局观,这种情况下,我认为直接死磕一门技术的话,风险是非常大的。
面对新技术的可以直接去找api的目录,快速的了解这项技术是做什么的,能解决什么问题,它的优劣势在哪就够了。你把他的目录印到你的脑海中,在工作中遇到问题,能够第一时间能想到哪种技术能够派到用场,至于具体怎么写、怎么用,现学现卖,先百度就可以,没有必要去把每一行、每一个方法都落实到键盘上,会敲才算会用,那样你可能学的速度都没有人家技术发展的速度快。
当然不是让大家理解为所有基础都是蜻蜓点水,随便印个目录在脑海中就可以。
我把程序员分为两派,一派是专业毕业从数据结构开始入门学习的科班生。另一派是直接从项目直接上项目,helloworld开始入门的那种直接速成学的,并不是说后者能力差或者水平低,就是对于后者这种半路出家的程序员来说,建议大家在入职成功之后,一定要找机会、找时间,把一些必知必会的基础知识点补充学习。有以下知识点:
1.常用数据结构实现原理、优劣势,
2.查找、插入、删除的时间操作复杂度
3.常用算法
4.代码规范
专业毕业的学生也是从基础内容学起,一般是以计算机组成原理、计算机操作系统、计算机编译原理、数据结构与算法、计算机网络这几门课作为基础开始学习。一方面这些计算机基础内容是面试必备,另外一方面你想要在程序员的领域学的更深入一些,这些计算机基础内容完全是必须的。
四、避免内卷化
我还想再讲一讲这个当前的大环境和内卷。说到内卷啊,这个词可以说是今年的年度热词了,IT行业其实也是走在内卷的最前沿。
怎样才能避免内卷化?我给出以下几点建议。
第一:关注新技术。IT互联网行业对于新技术是非常敏感的,掌握新技术也意味着会有更多的发展机会,比如当前可以重点关注一下大数据、区块链、人工智能等领域的相关技术,掌握这些技术在工业互联网时代会有一定的发展优势,也有助于自己逃离内卷。
第二:提升自身的研发能力。对于程序员来说,持续提升自身的研发能力是逃离内卷比较现实的办法,而要想提升自身的研发能力,除了可以在开发岗位上进行积累之外,还可以选择读研,当前确实有不少程序员会选择通过读研来提升自己。按照历史经验来看,大部分程序员在读研之后,都获得了岗位升级。
第三:重视行业知识的积累。程序员除了要重视开发技术的提升,还应该重视开发场景的知识积累,也就是所谓的行业知识积累,这一点在工业互联网时代还是非常重要的,更多的行业知识积累也会明显延长自己的职业生命周期。
最后的最后,如果你已经成为了程序员,或者是立志一定要成为程序员,希望大家能够保持学习,至少以每周为单位,挤出时间来学习,不要安逸的躺在模块开发的大床上昏睡,那样的话你的性价比只能会越来越低。
感谢每一位愿意读完我文章的人,对于新媒体创作我也是一个刚入门的,也在不断学习中。
创作是一件非常值得持续投入的事情,因为你们每一次的支持都是对我极大的肯定!
再次感谢大家的支持,在此我整理了一些适合大多数人学习的资料,免费给大家下载领取!
看!干货在这里↓ ↓ ↓
- 2000多本Python电子书。(主流的经典的都包含在内)
- Python基础入门、爬虫、web开发、大数据分析方面的视频。
- 多个项目及源码。(四五十个有趣且经典的练手项目及源码)
- 经典Python面试题。(面试大厂稳了)
有需要的读者可以直接拿走,在我的QQ学习交流群(想要找到志同道合的伙伴也可以进群,记住哦仅限学习交流!!!),裙号是:298154825。