在职场,光有技术是不行的,18年老程序员职场宝贵经验分享_程序员的职场,光有技术是不行的 csdn-程序员宅基地

技术标签: 程序员  经验分享  python  编程语言  工作  编程经验  

程序员是公认的技术型岗位,我们喜欢用实力说话,那么是否技术实力强就能在职场如鱼得水?

以前我觉得只要技术过硬,在哪都是香饽饽,后来发现也不尽然,公司不是研究所,在研究所里你或许可以不管不顾地只追求技术,但在成熟的公司里,如果你不懂得怎么为人处世、协调管理,你想要的升职加薪、功成名就只会离你渐行渐远。

我是龙叔,18年工作经验已退休的老程序员,从实习生到上市公司技术总负责人,今天我来给大家分享一些我个人觉得程序员在职场很受用的经验,如果你能恰当使用,可能比技术带给你的回报会更有效,献给已在/即将进入职场的你们。

在这里插入图片描述


一、程序员职场经验之为人处世

1.朋友圈

不要老是一个人待在家里,一下班就往家赶,这其实叫做“闭关锁国”。无论是在学习阶段还是工作阶段,我们应该多出去走走,看看外面的世界发生了什么,有了什么样的改变,多结交一些朋友,交一两个挚友,建立并完善自己的朋友圈。

我说的朋友圈不是手机里的微信朋友圈,是结交一些脾性相投、坦诚相待的朋友,无论是做技术还是做其他的都可以,哪天有可做的事情,大家互利共赢,比如我第一次创业的时候,就是和一群外面认识的朋友们做技术外包,有人专门做技术,有专门找渠道拓展业务,最后成功积累了第一桶创业金。

在这里插入图片描述
.

2.主动跟上级沟通

不管上级风格如何,是严厉型、和蔼型、放羊型我们都要定期或者不定期找上级沟通工作任务的想法和意愿。认真倾听上级对自己的看法,设法获取他的指导。职场中你最重要的资源其实就是你的直接上级。

记住一句话:在职场不光要“低头拉车”,还要“抬头看路”。
.

3.倾诉对象要想好

在职场上难免会遇到波澜,适当的倾诉是可以的,但倾诉对象要想好,不要幼稚的把人事部门当成你的倾诉对象,站在老板的角度想一想,他会怎么看你的倾诉内容。

在这里插入图片描述

我私藏了很多技术干货,粉丝可白嫖(点这里)

4.做好正事,少做杂事

如果一个员工做杂事做的非常好,那上司大概率会每次遇到同类杂事都会委托他去做。如果一个员工贴发票贴的不好,但是核心业务每次完成都很出色,大概率领导会把更核心的事情交个他做。

.

5.正确对待升职

有些人巴不得每个季度都能升职,其实对于升任新的职位,未必是好事,更高的职位意味着更高的要求,因此对备选人员要么在原岗位已经能力有余,要么时间精力有余,能听懂吗?

在这里插入图片描述


二、程序员职场经验之代码和项目

1.学习以实用为主

新手上路总是有着不错的冲劲和忧患意识,想多学习一点东西来提高自己,这点是没有错的,但很多新手程序员上来就肯Linux内核源码,算法导论等“底层知识”,这其实不太对。

我的建议是在初中级时先聚焦学习你用到的知识,人的精力有限,对于初中级来说底层知识不是指行业的基础知识,因为这时候学习这种底层知识对你并胜任工作并没有太多的帮助,例如你搞前端,你研究编译原理对你的工作帮助不大。

但是到中高级时,这些底层知识却又对你进一步进行性能、稳定性优化、行业技术方向判断有重大作用,这个时候需要进行专项突破,当然你觉得自己确实时间精力比较充裕,那随意。

在这里插入图片描述
.

2.开源

现在的年轻人可能没有经历过,程序员随时会失业的悲惨境地。但是即使是在最黑暗的时期,凡是做开源项目的,总能在第一时间又找到工作。只要确保你写的开源代码和你心仪的工作相关即可。不管你信不信,这个市场很大,前景也广阔。
.

3.日志

日志这个东西在没出现问题时不怎么起眼,但一旦出现问题要调试和排错时,它就格外重要了。

这个亏我印象很深刻,那次是距离项目提交的前几天,当时我是第一次主导项目,因为我在程序中基本没有加什么日志,当时在测试的时候没有发现什么问题,因为在测试的情况中,很多种数据是非常难模拟出来的,只能测试常见的几种可能性,在这几种情况下没有发现问题,在线上出现了问题,由于当时在功能中没有加什么日志,导致非常难的去寻找问题的所在点,结果项目逾期了,还好甲方好说话,宽容了几天才解决。

从此之后,我一直都保持一个习惯,那就是研发时必定写好日志。

在这里插入图片描述

.

4.善于借助工具

事事亲为很累的,能坐车为啥还要用脚走呢?简简单单一个工具却能解决非常复杂的问题,自己在那里一行一行地码上去很费时费力的,你以为优秀的程序员都是脑子比别人快吗?不见得,但他做起事来效率肯定要高。
.

5.风险计划

当你主导项目时,建议培养风险意识,要有风险计划,哪怕很简单一定要有,比如项目延期风险,应对策略加强进度管理,项目超支风险加强成本管理,项目质量风险,加强质量监控。

这些看起来是废话的句子,可能会帮助你拯救项目。

在这里插入图片描述

我私藏了很多技术干货,粉丝可白嫖(点这里)


三、程序员职场经验之长远习惯

1.博客

这是我最大的遗憾,因为我自己是今年才开始写博客,之前只是遇到问题才会上博客去找找参考,但我发现很多优秀的职场员工都在边工作边写博客,比如说CSDN上面的敖丙、兔老大RabbitMQ等人,因为坚持写博客,自己的职场及生活都得到了不错的加分加持。

以及说有些一线大厂,技术部门会要求员工每周或者每个月都要写一篇技术博客,然后分享给同事们。通过写博客,你会加深自己对技术的理解,同时与许多大佬或者粉丝的互动也会收获很多,甚至还有额外的收入。

程序员不要封闭在上班的圈子了,外面的世界更加精彩。

在这里插入图片描述
.

2.合理的职业规划

进入职场后一定要做职业规划,程序员不是敲代码的机器。

第一年太多东西不懂,你可以一切听从老大的安排,敲敲代码,看看数据库,测试自己和别人的代码;但是第二年,你还是这样吗?不可能的,一年的经验你完全可以入行了,是时候该学习怎么进行需求分析,怎么设计数据库,怎么写各类文档,怎么写更好的代码?这是高级程序员的要求。

其次,我要说一点,你的职场规划一定要合理,我个人不太建议定什么五年十年的职业规划,不切实际,为什么?

1.五年十年太远了,除了九年义务教育外,我很难想象出有什么事情是大多数人都能坚持这么多久的,如果坚持不了,这个过程中只会跟你更多的挫败感。

2.你现在的水平是否能够在技术迭代日新月异的当下预想到五年十年后?恐怕很少有人能做得到,那么这个规划的意义又在哪里。

我个人建议,职业规划三年之内最好,这是最为合理的,你肯定能知道现在以及未来一段时间里,什么东西对你是有帮助的。

在这里插入图片描述

.

3.保持学习

我承认,大家的压力都很大,白天要开会、要和产品经理撕逼,晚上要测试要改bug,回去还要研究新技术,这样下去谁的头发顶得住啊?

我比较喜欢一句话:“难就对了,舒服是给死人的。”虽然有点过,但从长远来说也是有一定道理的。

我见过很多老师傅程序员,刚进入公司时他们会这些那些技术,两三年后还是只会这些,比如说我主导项目时去请教他们关于新技术的问题,他们只是告诉我说“这个听过啊,但以我的经验,之前那个技术能做就可以了。”

一定要等到技术明摆着不能做了才尝试新技术吗?说白了,他们停下了学习的脚步,而我带着自己团队去不断尝试和学习,不到3年的时间,在新的技术领域,这些老师傅就已经真的“老了”。

长江后浪推前浪,一代新人卷旧人,内卷严重的趋势下,但愿卷的不是在座的各位。

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

我私藏了很多技术干货,粉丝可白嫖(点这里)

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhiguigu/article/details/117958902

智能推荐

LiteOS内核源码分析:消息队列Queue_liteos 任务数据共享 示例-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏2次。摘要:本文通过分析LiteOS队列模块的源码,掌握队列使用上的差异。_liteos 任务数据共享 示例

linux 程序溢出,linux-溢出程序-程序员宅基地

文章浏览阅读197次。后门程序: 100描述米特尼克拿到了BAT数据中心的口令后,为了确保口令被更改后仍能登陆数据中心,他从一位小伙伴那拿到了一个后门程序植入进了服务器。这个后门程序没有任何说明,但是米特尼克迅速找到了使用方法。后门程序:http://bctf.cn/files/downloads/backdoor_844d899c6320ac74a471e3c0db5e902e 安装地址:218.2.197.250:..._fff308

开源语音识别软件有哪些?-程序员宅基地

文章浏览阅读403次。开源语音识别软件有很多种, 下面列举几种常见的:Kaldi: 是一种用于语音识别的开源工具包, 支持多种语言, 并且在处理大规模语料库方面有较好的表现.HTK: 是一个用于语音识别、语音合成和语音处理的开源工具包, 支持多种语言.Julius: 是一个用于语音识别的开源软件, 支持日语和英语.Sphinx: 是一个用于语音识别的开源工具包, 支持多种语言.CMUCLMTK: 是..._多说话人语音识别开源工具

Mac os下apache正常启动localhost无法访问服务器_mac apache启动但是访问不到-程序员宅基地

文章浏览阅读8.1k次,点赞3次,收藏2次。由于删除了/private/var/log下面的日志,导致重启电脑后apache无法正常工作。重启电脑后apache无法正常运行,访问localhost或127.0.0.1都会无法找到服务器。探索:问题出现后,由于$ sudo apachectl start不会报任何错,但是访问localhost或127.0.0.1始终失败。可能情况1: 没有监听_mac apache启动但是访问不到

java list(属性方法)_java list exists-程序员宅基地

文章浏览阅读1.2w次,点赞5次,收藏17次。List的方法和属性 方法或属性 作用Capacity 用于获取或设置List可容纳元素的数量。当数量超过容量时,这个值会自动增长。您可以设置这个值以减少容量,也可以调用trin()方法来减少容量以适合实际的元素数目。Count 属性,用于获取数组中当前元素数量Item( ) 通过指定索引获取或设置元素。对于List类来说,它是一个索引器。Add( ) 在List中添加一个对象的公有方法AddRan_java list exists

Golang单元测试和压力测试-程序员宅基地

文章浏览阅读1k次,点赞22次,收藏23次。go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程类似,并不需要学习新的语法,规则和工具。go test命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内,所有以_test.go为后缀名的源代码文件都是go test测试的一部分,不会被go build编译到最终可执行文件中。在*_test.go文件中有三种类型的函数,单元测试函数,基准测试函数和示例函数。

随便推点

产品技术人必备干货:产品开发流程(完整版)_产品结构设计开发流程-程序员宅基地

文章浏览阅读6.2k次,点赞8次,收藏42次。产品技术开发流程 “ 产品开发流程涉及的人员从产品经理到设计师、前端、后端等等一系列人员,这篇文章主要关于产品开发的完整流程,希望对产品技术人员有一定的参考价值。 一:产品概念设计:MRD 产品开发流程步骤第一步:市场需求文档,简称为MRD(Market Requirement Document),是市场部门的产品经理或者市场经理编写的一个产品的说明需求的文档,该文档是产品项目由“准备”阶段进入到“实施”阶段的第一文档。 市场需求文档 做任何东西之..._产品结构设计开发流程

计算机算法基础-欧几里得算法(辗转相除法)-程序员宅基地

文章浏览阅读316次,点赞3次,收藏4次。欧几里得算法 又称之为 辗转相除法, 是在论文 和 计算机算法中非常常用的一种基础算法, 其常常用于 求 两个整数之间的最大公约数

java-jsp基于Vue智能化许愿墙w3c88[独有源码]如何找到适合自己的毕业设计的指南_vue留言墙毕设-程序员宅基地

文章浏览阅读114次。选题背景:在现代社会,人们对于表达心愿和寄托希望的需求越来越强烈。传统的许愿墙通常是一块空白的墙面,人们可以在上面写下自己的心愿。然而,随着科技的发展和智能化的应用,基于Vue的智能化许愿墙的设计与实现成为了一个新的选题。通过利用Vue框架的优势,结合智能化技术,可以为用户提供更加便捷、个性化的许愿体验,满足人们对于表达心愿的需求。选题意义:基于Vue的智能化许愿墙的设计与实现具有重要的意义。首先,它可以提供一个更加便捷、个性化的许愿体验。传统的许愿墙通常只提供一个空白的墙面,人们需要亲自前往并手动_vue留言墙毕设

大数据必学Java基础(五):第一段程序_大数据学习java编程基础实例-程序员宅基地

文章浏览阅读4.2k次,点赞16次,收藏15次。文章目录第一段程序一、用notepad编写代码二、进行编译三、进行解释/翻译/执行记得保存 ctrl+s 发现出错了,分析出错原因:解决办法:将javac.exe所在的路径 配置到 环境变量path中去,这样我就可以在任意的路径下去执行这个命令:配置好环境变量以后发现代码可以成功编译: 验证:上面执行过程成功的原因:......_大数据学习java编程基础实例

[Python] pyqt6 - 如何实现关闭窗口前弹出确认框_pyqt怎么在退出时显示确定要退出吗-程序员宅基地

文章浏览阅读1.4k次,点赞34次,收藏21次。本文主要介绍了pyqt6中,如何利用窗口的closeEvent函数和QMessageBox的question函数来实现关闭窗口时弹出确认框的功能。_pyqt怎么在退出时显示确定要退出吗

Golang 元素值在经过通道传递时会被复制,这个复制是浅复制_golang channel copy-程序员宅基地

文章浏览阅读1.2k次。1. channel 元素值为切片package mainimport ( "fmt")func main() { ch := make(chan []int, 3) s := []int{1, 3, 4} ch <- s fmt.Printf("s length is %d, cap is %d\n", len(ch), cap(ch)) fmt.Printf("s address is %p\n", &s) r := <-ch r[0] = 2 _golang channel copy