要是早看到这篇文章,你起码少走3年弯路,20年老程序员的忠告

文章目录

    • 前言
    • 一、程序员的薪资是怎么样的?
    • 二、我现在的情况适合做程序员吗?
    • 三、大学期间到底应该学些什么?
    • 四、工作还是考研?
    • 五、总结


前言

我是龙叔,一名工作了20多年的退休老程序员。

如果你在工作之前看到这篇文章,并真的把其中要点做到了,你起码能少走3年弯路。

在这里插入图片描述


一、程序员的薪资是怎么样的?

这是大学生非常关心的点,作为应届生出来之后,程序员的薪资是怎么样的?根据我这些年的经验和见闻,程序员的薪资可以分为3类,并且都跟所在城市级别有关:

1.一线城市一线大厂超过1.5万/月。
作为应届生,能进入华为、京东、阿里这样的国内顶尖企业,就职薪资一般会在1.5万/月,但不同于其他公司的是这些公司会是16薪、18薪和20薪的形式,一般的公司是12薪,每个月都发差不多的工资,那么在16薪的公司工作,也就是说在年终或者某个月,你可以拿到多4个月的薪资。

像我没退休之前的公司,14薪的标准,跟一线大厂有一定差距,但比同行业来讲,在程序员的待遇上算还可以的。

在这里插入图片描述

2.一线城市一般公司1~1.5万/月。
应届生的能力有限,一线大厂不是谁都能进的,但还是有很多毕业生会选择待在一线城市,因为那里的薪资也不错,一般的毕业生薪资会在1~1.5万/月。

毕业了去一线打拼是大多数程序员的选择,如果能在一线城市扎稳脚跟,那么你就能在起跑线上超过了很多小伙伴,一线城市的机遇也很多,若是赶上风口那飞起来一点也不夸张;你也可以选择工作三五年之后积累了较为可观的资本后退出一线城市,去节奏慢一点的地方发展。

所以我的建议是,毕业想当程序员的小友,尽量不要回家,先去一线去打拼一波是最有益的。
在这里插入图片描述
3.二~~五线城市平均4000~8000/月。
二线城市的薪资相对于一线城市是少了很多,不过生活成本也相对低很多,生活节奏也会慢很多,应届生的平均工资在4~8K。

我这里指的是平均工资,其实2千工资的程序员我也听过,不过你为什么拿两千,你去对比一下那些拿正常薪资的人你就知道差距了。


二、我现在的情况适合做程序员吗?

这是一个比较常见的问题了,很多人甚至是学计算机的人,他们都会问我说“我到底适不适合做程序员”,那么对于这个问题,基本上接触了编程1年左右的时间就能判断出来,主要通过以下几种:

1.喜欢用代码决胜千里之外的人,适合做程序员

不管你是不是科班出生,如果你喜欢敲代码的感觉,喜欢用代码构建世界,喜欢通过代码决胜千里之外的成就感,那么我觉得你很适合当程序员,而且只要不断努力,你必定能在互联网行业有所建树。

2.抵触写代码的人,不适合做程序员

如果你看到代码或者想到写代码就很抵触、反感,甚至看到代码就想吐,那么你是不适合当程序员的。

讲个我身边的例子。

我依然记得大学刚出来的时候,跟我室友一起去同一家当实习生,在实习期间要学的东西很多,每天都是跟代码、算法打交道,我室友就特别反感写代码,那时候我们俩能在网吧玩传奇玩一整个通宵,但是他在座子上坐不到1个小时就得出去抽烟。
.
他不是烟瘾很重的人,他就是出去待着,他说看到代码就头晕和反感,结果最后他没待到1个月就辞职了去其他公司做运营岗位了。

如果说你也是这么害怕和反感写代码,你觉得你趁早去学你感兴趣的东西、做你喜欢的行业。
在这里插入图片描述

3.对代码不抵触但也谈不上喜欢的人,可试试“日久生情”

这种情况是最常见的,自己对写代码这个事情并没有很反感,多多少少有一些念想或者小成就在支撑,但也谈不上很喜欢,因为写代码讲究思维、烧脑子,又或者是因为技术之路感觉长路漫漫,那么这种情况,我建议是你坚持学下去。

只要通过你自己的不断学习,那些你觉得陌生的东西,慢慢就会熟悉了,不管你是冲着月薪上万,还是想做一个酷酷的技术高手,你只要试着跟它相处久了,你会逐渐跟它“日久生情”,最后找到喜欢的感觉。


三、大学期间到底应该学些什么?

在工作之后除了自己招聘和接触的很多后生,再加上对企业的技术要求不断明晰,其实我很早就想给在校生一些忠告了。

1.文化课

千万不要小瞧文化课,比如我们的英语、高数、统计学和概率学等等,一定要打好基础,程序员的很多项目资料、技术文献都是用英语写的,很多算法是需要高数等知识。

举个例子:

很多小伙伴因为英语基础不好,所以在安装开发环境的时候喜欢用破译的中文版软件,我是不建议这么做的。我都建议大家用英文版的,千万别汉化。
.
就好比学车学自动挡还是手动挡,学了手动挡的人,你去开自动挡是没有什么问题的,但学自动挡的人去开手动挡就不行,软件也是一样,用惯了破译的中文版软件,你对英文原版的软件将会束手无策。

还有,千万别挂科。大学首要任务就是学习,如果最重要的事情都搞不好,企业很难把你招进来做事情。

在这里插入图片描述

2.选1门语言精通

不管是Java、Python、还是PHP,又或者是GO语言还是其他的什么语言,都是可以的,你只要选择1门语言深入学习,直到你掌握了90%以上,你就精通了,千万不要什么都会一点但又不精通,这样你不仅没有优势,而且没有趁手的工具(语言),你很难干成什么事情。

3.掌握好数据结构和算法

在你掌握了1门语言之后,这2个是你最应该去掌握的东西。在程序员界有一句流传的话“好程序=数据结构+算法”,就算你精通语言的API,但那都是表层东西,数据结构和算法才是里层东西,如果你的里层(除开硬件不讲)很垃圾,你表层再厉害你也挡不住1亿的并发。

这个东西在大学的时候要好好掌握,你出来之后想学不一定会有,市面上那些培训机构很少有把数据结构和算法讲得很透彻的,还是大学的时候去学习是最稳妥的,大学的学习资源是很丰富的,要好生利用。
在这里插入图片描述

4.掌握数据库

无论是SQL数据库还是NoSQL数据库,建议你都精通1个,就算是人工智能和大数据方面,数据库都是必不可少的,都需要数据库来进行数据存储,而在一个公司里面,跟数据打交道的程序员薪资都比较高,就好比做前端的薪资没有DBA高。

如果你精力和时间允许的情况下,建议你选择一个热门数据库去学习并精通,比如MySQL。

5.学好网络原理

虽然说这只是原理,并且在最开始工作的时候你可能用得不多,但并不代表它可有可无,而是你技术层面还没达到,当你的技术层面达到了,你会发现这玩意儿它真的很重要,而1个优秀的程序员或者说1个技术高手,对网络原理是很熟悉的。

网络原理涉及的知识有很多,比如七层结构,比如LP规划、HTTP、DNS等等理论知识,掌握好了之后才能让软件具备较高的性能,比如说做出来的直播软件没有卡顿。如果你不懂得网络原理或者一知半解,那么你写出来的程序员并不会很好用。
在这里插入图片描述

6.做1个可持续维护的项目

与其说这里找1个速成的项目做或者那里找1个源码看看效果,倒不如你自己认真地去做1个可持续维护的项目,这样你才能持续地巩固知识、见证自己的成长,并且能自信地拿得出来。

比如说你去做1个类似CSDN的博客网站,在一开始你学习前后端的时候掌握的技术不是很多,你做出来的web网址很low,但没有关系,你继续学习,学到了之后自己去给它添加更多模块,比如说给它添加视频模块,比如说给它添加24小时热度排行榜的功能等等。

记住,这个项目不要去找开源的,那对你来说没什么意义,你要自己去写代码,不断地完善和维护这个网站,最后你会因为这个成果感到有成就感,到最后我相信,你一定会比一般的毕业生优秀很多。
在这里插入图片描述


四、工作还是考研?

“能考研肯定是要去考研的。”这一点我从来都是这么坚定地回答。

互联网行业现在不像十几年前,没学历有技术也不愁工作,现在如果你是高中或者中专学历,你基本没戏,学历是互联网行业的敲门砖,不管是顶尖大厂还是普通公司,给高学历人才开的薪资普遍比低学历高。

但我得提醒大家一句:有了学历不代表长久高薪,程序员更看重的是动手能力。

所以考上研之后你更要好好学习。


五、总结

别说互联网卷了,也别说chatGPT过几年又会替代谁谁谁了,归根到底,能被淘汰的都是活在“食物链”底端的人,各行各业都一样。

所以加油吧,风浪越大,鱼越贵。

感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你,干货内容包括:

在这里插入图片描述

点击文末的名片可以抱走
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【AI大比拼】文心一言 VS ChatGPT-4

摘要:本文将对比分析两款知名的 AI 对话引擎:文心一言和 OpenAI 的 ChatGPT,通过实际案例让大家对这两款对话引擎有更深入的了解,以便大家选择合适的 AI 对话引擎。 亲爱的 CSDN 朋友们,大家好!近年来&…

libcurl库访问人工智能平台之人脸识别

一、前言上一篇文章我们调用libcurl库去访问了百度,访问的是http协议的百度云主页。那么现在我们要基于翔云人工智能平台来实现人脸识别,具体的操作大概就是我们在linux下调用libcurl库去访问翔云人工智能平台,然后实现我们想要的两张人脸图片…

FPGA纯verilog实现RIFFA的PCIE通信,提供工程源码和软件驱动

目录1、前言2、RIFFA简介RIFFA概述RIFFA架构RIFFA驱动3、vivado工程详解4、上板调试验证并演示5、福利:工程代码的获取1、前言 PCIE是目前速率很高的外部板卡与CPU通信的方案之一,广泛应用于电脑主板与外部板卡的通讯,PCIE协议极其复杂&…

【Linux】基本指令介绍

前言从今天开始,我们一起来学习Linux的相关知识,今天先来介绍怎么登录Linux,并且介绍一些Linux的基本指令。使用 XShell 远程登录 Linux很多同学的 Linux 启动进入图形化的桌面. 这个东西大家以后就可以忘记了. 以后的工作中 没有机会 使用图…

蓝桥杯刷题冲刺 | 倒计时21天

作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.迷宫1.迷宫 题目 链接: 迷宫 - 蓝桥云课 (lanqiao.cn) 本题为填空题,只…

Three.js——learn02

Three.js——learn02Three.js——learn02通过轨道控制器查看物体OrbitControls核心代码index2.htmlindex.cssindex2.jsresult添加辅助器1.坐标轴辅助器AxesHelper核心代码完整代码2.箭头辅助器ArrowHelper核心代码完整代码3.相机视锥体辅助器CameraHelper核心代码完整代码Three…

近期投简历、找日常实习的一些碎碎念(大二---测试岗)

嘿嘿嘿,我又回来了,相信不少兄弟已经发现我似乎已经断更了好久,哈哈,我是尝试去找实习,投简历面试去了。 先说一下背景。 目录 背景 求职进行中 简历 投递和沟通 收获和感受 背景 博主,大二软件工程…

Arthas工具的基本使用

介绍 Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。Arthas支持JDK 6,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰…

Python截图自动化工具

1、展示部分源码(写的比较乱,哈哈) 2、功能展示 1)首页 2)按钮截图(用于自动翻页) 3)保存位置按钮(选择图片保存的位置) 4)重复次数,就是要截取多少次 5)定位截屏(截取的内容&#x…

[数据分析与可视化] Python绘制数据地图1-GeoPandas入门指北

本文主要介绍GeoPandas的基本使用方法,以绘制简单的地图。GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口。GeoPandas扩展了Pandas的数据类型,并使用matplotlib进行绘图。GeoPandas官方仓库地址为:GeoP…

尚融宝06-ECMAScript基本介绍和使用

目录 一、ECMAScript 1、ECMA 2、ECMAScript 3、什么是 ECMA-262 4、ECMA-262 历史 5、ECMAScript 和 JavaScript 的关系 二、基本语法 1、let声明变量 2、const声明常量 3、解构赋值 4、模板字符串 5、声明对象简写 6、定义方法简写 7、参数的默认值 8、对象拓…

QT常用位置函数区别

目录1、引言2、实验代码3、位置函数3.1 x()3.2 y()3.3 frame()3.4 pos()3.5 geometry()3.6 width()3.7 height()3.8 rect()3.9 size()1、引言 QT有众多图形绘制函数,包括x()、y()、frame()、pos()、geometry()、width()、height()、rect()、size(),它们…

【Java学习笔记】多线程与线程池

多线程与线程池一、多线程安全与应用1、程序、进程与线程的关系2、创建多线程的三种方式(1)继承Thread类创建线程【不推荐】(2)实现Runnable接口创建线程(3)Callable接口创建线程3、线程的生命周期4、初识线…

基础入门 HTTP数据包Postman构造请求方法请求头修改状态码判断

文章目录数据-方法&头部&状态码请求requestResponse状态码案例-文件探针&登录爆破工具-Postman自构造使用数据-方法&头部&状态码 请求request 1、常规请求-Get 2、用户登录-Post •get:向特定资源发出请求(请求指定页面信息&#x…

为什么这么NB?huatuo革命Unity热更新

最近huatuo(华佗)热更新解决方案火爆了unity开发圈,起初我觉得热更新嘛,不就是内置一个脚本解释器脚本语言开发,如xLua, ILRuntime, puerts。Huatuo又能玩出什么花样,凭什么会这么NB,引起了那么多程序员的关注与称赞呢&#xff1f…

单片机——IIC协议与24C02

1、基础知识 1.1、IIC串行总线的组成及工作原理 I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 1.2、I2C总线的数据传输 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟…

Linux实操之进程管理

文章目录一、基本介绍二、显示系统执行的进程基本介绍三、ps详解四、终止进程kill和killall介绍:●基本语法常用选项五、查看进程树pstree基本语法常用选项一、基本介绍 1.在LINUX中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号(pid,进程号…

【SCL】实现简单算法--冒泡排序

使用SCL语言实现一个冒泡排序的简单算法 文章目录 目录 文章目录 前言 二、实现排序 1.读取存储器地址(PEEK)指令 2.编写程序 总结 前言 本文我们来一起使用SCL来实现一个简单的算法——冒泡排序;它可以对少量数据进行从小到大或从大到小排序…

【Linux】GDB的安装与使用

安装安装gdb的具体步骤如下:1、查看当前gdb安装情况rpm -qa | grep gdb如果有,则可以先删除:rpm -e --nodeps 文件名如果没有,则进行下一步。2、下载gdb源码包或者直接apt安装。apt命令安装:sudo apt install gdb源码包…

Qt之QPainter绘制多个矩形/圆形(含源码+注释)

一、绘制示例图 下图绘制的是矩形对象,但是将绘制矩形函数(drawRect)更改为绘制圆形(drawEllipse)即可绘制圆形。 二、思路解释 绘制矩形需要自然要获取矩形数据,因此通过鼠标事件获取每个矩形的rect数…