V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zzzzzzggggggg
V2EX  ›  程序员

在做程序员的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?

  zzzzzzggggggg · 73 天前 · 11847 次点击
这是一个创建于 73 天前的主题,其中的信息可能已经有所发展或是发生改变。

转一篇: https://mp.weixin.qq.com/s/61yhlJRY6mvbDW5gBJ_3cg

做程序员也 4 年多了,聊聊我这些年的感悟吧。 首先这个问题是掌握了某些概念或技术使自己提升突飞猛进,我觉得这个概念和技术不一定局限于编程概念技术,而是更广阔的,比如说职场技巧、方向等等,因为很多时候”道“方面的领悟比”术“方面的领悟更重要。

01. 技术和晋升是两码事

个人看法:这一条更适用于大公司 还记得刚毕业的时候,傻傻的我认为只需要写好代码提升技术就行了,Leader 自然会给我晋升。现在看来这种想法简直是大错特错,因为技术和晋升是两码事。

技术好是个很微观的事情,它可以体现在每一行代码中,也可以体现在每一个方法的精巧设计中,但是晋升这个事情是你向 Leader 和公司去兜售劳动成果的结果。

比如说如果你一直在做杂活,虽然在杂货中用了很新潮的技术、很精巧的设计,但是这些杂活可能无法体现出价值,无法包装成一个可以向 Leader 和公司兜售的成果,这样肯定是无法晋升的。

如果你想晋升,那么在提升技术的同时,需要思考哪些事情和成果可以支撑你晋升,那么在平时做事的时候尽量往这些事情上去靠近。

所以,晋升和技术,它们之间有关系,但本质上还是两码事。

02. 程序员终究是在做产品

不知道大家对于程序员的定位是什么,以我现在的思考来说,程序员就是做产品的,这个产品又分为两类,一类是技术产品,一类是商业产品。

比如说 Vue ,这就是一个很牛的技术产品,它服务好了广大的前端程序员,它产生了很大价值,那它的作者尤雨溪就很厉害。

比如说某些城市的摇号小程序,就解决了一件事情,就是可以在微信上更好的查看楼盘、摇号、看摇号进度等等,它把这件事情做好了,并且做成了一个产品,那就很厉害,并且在这件事情上还赚的盆满钵满,创造了很大的商业价值。

所以不管职位是什么,细分方向是什么,究其本质,程序员还是做产品的。

03. 重点学和工作相关的技术

这个是血泪的教训,刚毕业的时候学了一堆和工作不沾边的技术,学了没地方实践只能学个皮毛,而且时间长了就忘了,整个人还焦虑的不行。

以我现在的经验来看,学技术优先和重点学习工作相关的,越相关越好,因为这样子你学的东西可以立马用起来,编程是一门实践科学,用的越多越能学的深刻,并且这样子还能有一个正向循环,不停的有正反馈,更能促进技术进步。

以上就是我的一点思考,这里面的观点也许随着工作年限、遇到人和事的增加而改变,但是此时此刻我的想法就是如此,希望对 ta 人有用。

127 条回复    2021-11-20 01:54:47 +08:00
1  2  
yaocai321
    1
yaocai321  
   73 天前
摸鱼是我提升
emeab
    2
emeab  
   73 天前   ❤️ 5
当然是不考虑优化问题啊. 先写完再说
liprais
    3
liprais  
   73 天前 via iPhone
才四年,路还长
zzzzzzggggggg
    4
zzzzzzggggggg  
OP
   73 天前
@yaocai321 据科学研究,适当摸鱼有利于工作效率
zzzzzzggggggg
    5
zzzzzzggggggg  
OP
   73 天前
@emeab get things done
zzzzzzggggggg
    6
zzzzzzggggggg  
OP
   73 天前
@liprais 长路漫漫
zpxshl
    7
zpxshl  
   73 天前 via Android   ❤️ 2
没有实践的学习,最大的问题是 你以为你懂了...
xgfan
    8
xgfan  
   73 天前 via iPhone   ❤️ 17
会搜索就能击败 90%的人了。
GTim
    9
GTim  
   73 天前
瞎说几句大实话,我每次都是在离职后,去新公司的时候发现已经会这么多了
Dotennin
    10
Dotennin  
   73 天前
上班只是用时间和体力交换金钱, 不是在赚钱, 摸鱼才是
DeWjjj
    11
DeWjjj  
   73 天前 via Android   ❤️ 2
好好看书。
libook
    12
libook  
   73 天前   ❤️ 1
一个技术人员的价值不在于会多少种语言、框架、思想,在于是否能解决问题,特别是别人解决不了的问题。
zzzzzzggggggg
    13
zzzzzzggggggg  
OP
   73 天前
@zpxshl 似的,没有实践,很难产生深刻的理解,很容易只学个皮毛
zzzzzzggggggg
    14
zzzzzzggggggg  
OP
   73 天前
@xgfan 会搜索,会提问,吊打 99%的人
zzzzzzggggggg
    15
zzzzzzggggggg  
OP
   73 天前
@GTim 啥意思?面试让你成长了?
zzzzzzggggggg
    16
zzzzzzggggggg  
OP
   73 天前
@Dotennin 一天不摸鱼浑身不自在
zzzzzzggggggg
    17
zzzzzzggggggg  
OP
   73 天前
@DeWjjj 光看书也不行
zzzzzzggggggg
    18
zzzzzzggggggg  
OP
   73 天前
@libook 正解!解决的问题如果是很多人的痛点,那么就可以包装成产品了
pengtdyd
    19
pengtdyd  
   73 天前
参与优秀的开源项目
jiayong2793
    20
jiayong2793  
   73 天前   ❤️ 1
代码是给人看的
chenqh
    21
chenqh  
   73 天前
没有突飞猛进过
palemoky
    22
palemoky  
   73 天前
技术只是工具,转换为为人服务的产品才能体现出价值。
不过也不是只要用技术转换为产品就是非常好的,还有道德和法律的约束。有些大公司用大数据分析、机器学习等对用户杀熟、监听、窃取隐身数据,这些行为就是把技术用错了地方。那些寒窗苦读十几年的人,用自己所学去剥削另一群社会底层的人,想来都有些悲哀。
dk7952638
    23
dk7952638  
   73 天前   ❤️ 3
干了十几年,全靠谷歌和栈溢出赏饭吃
encro
    24
encro  
   73 天前   ❤️ 21
1 ,任务分解;
2 ,读书;
3 ,看手册;
4 ,读源码;
5 ,需求分析;
6 ,休息;
7 ,实践;
8 ,提高对自己的要求;
9 ,向他人传授经验;

以上都是暂时能想到的,对我代码有提升的点。
突飞猛进当然有,但是质变来自量变。

比如说如何写注释的内容我们看了很多,别人的源代码也看了很多,然而还是写不好注释,直到我看到代码大全关于注释的介绍“注释负责解析 Why,代码负责解释 How 和 What”才豁然开朗。

比如如何写出安全的代码,那么你需要了解防御式编程;

比如对于复杂的状态管理,我们可以表格列表穷举法。。。

每天多学一点,那么几年后你就能鹤立鸡群,。。。

程序员开始的 2 年决定了以后的成长空间。。。。

如何利用隐喻。。。

以上都是《代码大全》这本书上有的,对我影响很大,但是如果只看这本书,那么还是不成的。

比如软件熵,生命周期,软件项目人力模型,这些《人月神话》的

“人民追随你是因为爱戴你”,“人在压力下无法思考”是《最后期限》的



既然你允许存在“突飞猛进”,那么也不要怀疑会存在“突然消失”。
encro
    25
encro  
   73 天前   ❤️ 5
程序员或者所有行业的价值都在四个字------------“解决问题”

为项目解决问题
为公司解决问题
为顾客解决问题
为社会解决问题

而很多人做的不好,是因为他们找不到找不对问题,遇到问题无法解决,或者解决成本过高,或者在解决问题过程种又制造出了新问题。
danhahaha
    26
danhahaha  
   73 天前   ❤️ 4
翻墙
huangzxx
    27
huangzxx  
   73 天前   ❤️ 1
不要过度优化
xLuoBo
    28
xLuoBo  
   73 天前 via iPhone   ❤️ 2
x86 汇编
arm 汇编
miniliuke
    29
miniliuke  
   73 天前 via iPhone
@dk7952638 还有 gayhub
zzzzzzggggggg
    30
zzzzzzggggggg  
OP
   73 天前
@pengtdyd 确实,参与开源项目很好的一条路
zzzzzzggggggg
    31
zzzzzzggggggg  
OP
   73 天前
@chenqh 谦虚了老哥
zzzzzzggggggg
    32
zzzzzzggggggg  
OP
   73 天前
@palemoky 说的很有道理
zzzzzzggggggg
    33
zzzzzzggggggg  
OP
   73 天前
@dk7952638 键盘上 C 、V 两个键是不是快磨秃了😸
zzzzzzggggggg
    34
zzzzzzggggggg  
OP
   73 天前
@encro 《代码大全》和《人月神话》收藏好久了,还没来得及看😸
zzzzzzggggggg
    35
zzzzzzggggggg  
OP
   73 天前
@xLuoBo 老哥直接撸汇编?
lumotian
    36
lumotian  
   73 天前   ❤️ 1
接触函数式编程和 SICP 是工作后最大的进步
pengtdyd
    37
pengtdyd  
   73 天前
@palemoky 现实是你不剥削别人,就会被人剥削
zzzzzzggggggg
    38
zzzzzzggggggg  
OP
   73 天前
@lumotian 能展开说说吗?
Rooger
    39
Rooger  
   73 天前
了解了佛家的经典理论
Valid
    40
Valid  
   73 天前
掌握区块链就像掌握了财富密码
thtznet
    41
thtznet  
   73 天前   ❤️ 2
PPT
zzzzzzggggggg
    42
zzzzzzggggggg  
OP
   73 天前
@Rooger 遁入空门了?
zzzzzzggggggg
    43
zzzzzzggggggg  
OP
   73 天前
@Valid 怎么说?
kidult
    44
kidult  
   73 天前
碰到一个靠谱的客户,赚到人生的第一个一百万
碰到一个靠谱的合伙人,赚到人生第一个一千万
碰到一个心动的爱人,最终净身出户
lumotian
    45
lumotian  
   73 天前
展开说说太长了,这里写不下。只能说相对一些底层原理,编程思维是每天日用的。工作变得比较有乐趣,推荐自己看一下 SICP
zzzzzzggggggg
    46
zzzzzzggggggg  
OP
   73 天前
@lumotian 好的
zzzzzzggggggg
    47
zzzzzzggggggg  
OP
   73 天前
@kidult 真实经历?
shellus
    48
shellus  
   73 天前
《关于人与人之间的认知水平,表达能力,和理解能力》

*真正认识到人与人的认知不对等*

程序员说完开发方案,老板说:“不错,这就是我想要的”
然后在最终交付后,老板:“这是个什么东西???”

需求方讲完自己的需求后:“你们懂了吗?”
程序员:“懂了”
实际上需求方没有讲明白自己的需求,程序员也没有理解所讲出来的那些内容。
假设需求的内容是 100 分,需求方讲出来 30 分,程序员理解到的就只有 10 分了
然后再基于这 10 分内容开发出 6 到 8 分的程序,最终能皆大欢喜才是怪事。

所以,需求方应该使用文档等工具,将需求写出来+讲出来至少 60 分,然后程序员再主动向需求方提问,挖掘需求的深层次内容,最终交付能达到 80 分的软件,已经算是很不错了。
StrongNoodles
    49
StrongNoodles  
   73 天前
文笔不错,风格和国外那种高赞文章的风格挺像的,说的内容也挺精炼的
zzzzzzggggggg
    50
zzzzzzggggggg  
OP
   73 天前
@StrongNoodles 谢谢!这是我这个月听到的最开心的一条评论
zzzzzzggggggg
    51
zzzzzzggggggg  
OP
   73 天前
@shellus 赞,需求分析+需求反讲+研发+交付,这个流程比较合适,但是现实中大部分研发流程都是快糙猛,国内的软件研发流程急需改善
Innovatino
    52
Innovatino  
   73 天前   ❤️ 1
学会沟通,学会开会。这真的是所有程序员必备的技能。
沟通的概念,到现在为止我共事过的程序员里,真正能有自己理解的少之又少,有自己方法论的更是凤毛麟角。
xuanzizhe
    53
xuanzizhe  
   73 天前   ❤️ 1
掌握左边的头发往右边搭看上去还很协调这门技术的时候~
ryalu
    54
ryalu  
   73 天前
学 go
qinwangzeng
    55
qinwangzeng  
   73 天前   ❤️ 3
接受不完美
zzzzzzggggggg
    56
zzzzzzggggggg  
OP
   73 天前
@Innovatino 学会沟通我可以理解,但有自己的方法论是啥意思?
zzzzzzggggggg
    57
zzzzzzggggggg  
OP
   73 天前
@xuanzizhe 地方支援中央?
zzzzzzggggggg
    58
zzzzzzggggggg  
OP
   73 天前
@ryalu 为啥? Java 不香吗?
offswitch
    59
offswitch  
   73 天前
nothing,学了越来越多技术,但是完全用不上。
KiZuNaYa
    60
KiZuNaYa  
   73 天前
@Dotennin 这个观点好
Unclev21x
    61
Unclev21x  
   73 天前
第 3 点非常正确,然后现实和理想往往冲突啊。

通常是目前的工作已经轻车熟路,用到的知识点有限。于是自己就想学点新东西,自学一些知识,想着下一份工作就找学习相关的。然后出去找工作,还是找了一个跟上一份工作类似的,没办法啊。你说你自学的,但是人家说你没做过。反正就是矛盾吧。
securityCoding
    62
securityCoding  
   73 天前
踏踏实实看源码是最容易提高自己的方式
encro
    63
encro  
   73 天前   ❤️ 1
前面再 24 楼聊到对我写代码有益的点,后面再提一些思想上的:

1 ,矛盾论:任何事物有阳必有阴,有因必有果,阳中存阴,因中存果,比如您今天要求突飞猛进,而忽略了时间的积累,那么可能导致基础不牢;某公司赚快钱习惯了,环境一变老板可能就负债;某公司看起来慢,但是可能搭建了非常深的行业护城河。理解万物都存在矛盾,分清楚主次矛盾,远近矛盾,才能做出正确判断。

2 ,发展论:发展的眼光处理问题,很多问题需要摸着石头过河,但是不能一直摸石头过河,必要的时候需要架桥。今天我们是对的,明天不一定是对的。今天不对的,明天可能是对的。对于你不对的,但是对于他可能不是对的。比如你今天通过突飞猛进的方法找到工作那么是对的,但是如果一直追求突飞猛进可能就不一定对了。理解万物都在变化,人性变化,事务变化,才能合理看待事务。

3 ,革命论:团结一切可以团结的力量。假万物而不争。------ 理想状态,不知道是否有人能一定程度做到。但是一个人对外物的利用率,可能是衡量一个人成功的标志吧。
zzzzzzggggggg
    64
zzzzzzggggggg  
OP
   73 天前
@Unclev21x 可以以当前手头工作为核心往外延伸,比如说现在是做 Java 后端,只会增删改查,总会用到 Java 框架、网络库吧,它们干了什么事情、为什么这么设计,这都是可以学的;还可以延伸到数据库设计、并发设计等等
zzzzzzggggggg
    65
zzzzzzggggggg  
OP
   73 天前
@securityCoding 看源码确实可以锻炼,但是现在被万能化了,而且很多人不太懂如何正确的学习源码
zzzzzzggggggg
    66
zzzzzzggggggg  
OP
   73 天前
@encro 老哥说的很深刻
securityCoding
    67
securityCoding  
   73 天前   ❤️ 1
@zzzzzzggggggg 是啊,因为很多人想象的看源码效果是几个晚上就掌握一个开源项目,一口就能吃成大胖子。读源码只能慢工出细活,只有边读边思考输出流程图和源码分析文章才算是读了源码,求快的后果就是读了跟没读一样(浪费时间)。
wuyufeng2333
    68
wuyufeng2333  
   73 天前
zmxnv123
    69
zmxnv123  
   73 天前
英语
auh
    70
auh  
   73 天前   ❤️ 1
1. 学+积累
学是必须的。而且要完善整理出来。
积累到一定程度,横向对比的次数就多了,点就会连成片,很多抽象的思想自然就出现了。思想,也需要整理。

2. 方向,价值
你关注的东西,随着时间会成就不一样的东西。但,你未必是你想要的。
知识分类一种方式。势、道、法、术、器

举个例子,linux ,程序员最爱,各种操作上的折腾。那么这些折腾有市场价值没?还是只是自己玩的很开心。如果是后者,那么可能会有种毫无卵用的感觉。如果单纯去研究理论体系呢?

比如,你的朋友每天回家都是刷剧,而你每天回家都是各种研究稀奇古怪的东西,你很开心,但是几年之后,你发现你朋友竟然职位比你还吊。而你,貌似怎么感觉有点心累。可见,做了很多无用功。

长远来看,可能对你个人的其他方向有积累,但是,盲目的瞎搞,可能会使人失望,个人理性取舍最重要。
zzzzzzggggggg
    71
zzzzzzggggggg  
OP
   73 天前
@auh 是的,想清楚自己想要啥,最重要
cutepig
    72
cutepig  
   73 天前 via Android
对不明白的优秀的代码保持好奇,尝试搞明白它的原理
onlyhuiyi
    73
onlyhuiyi  
   73 天前
@securityCoding 求推荐好的项目
zzzzzzggggggg
    74
zzzzzzggggggg  
OP
   73 天前
@onlyhuiyi 好的开源项目太多了,关键看你是什么技术方向,优先看自己工作相关的
zzzzzzggggggg
    75
zzzzzzggggggg  
OP
   73 天前
@cutepig
securityCoding
    76
securityCoding  
   73 天前
@onlyhuiyi github 上面找那些 star 高的中间件项目,很多都可以说是将某个细分领域做到了极致,非常具有价值。
lniwn
    77
lniwn  
   73 天前
第一次成功破解某网盘 pc 客户端的时候,感觉自己仿佛突破了。
Kingfish404
    78
Kingfish404  
   73 天前
Github ,看博客,写博客,看书,读源码
Kingfish404
    79
Kingfish404  
   73 天前
@zzzzzzggggggg 感觉带着目的和对应需求看是个不错的 push 自己读开源源码的方式,还有别的合适的驱动么
liian2019
    80
liian2019  
   73 天前
看书,学技术先整体架构再抠细节
WispZhan
    81
WispZhan  
   73 天前 via Android
抽象、标准化、工程化、自动化、规模化。
DiamondYuan
    82
DiamondYuan  
   73 天前
1. 抽象是程序员最重要的能力

2. 在思考 how 之前,先想想 why 。
ffxrqyzby
    83
ffxrqyzby  
   73 天前   ❤️ 1
读书 + 实践
p1gd0g
    84
p1gd0g  
   72 天前
工程思想。
dreamramon
    85
dreamramon  
   72 天前
写完,一个玩具操作系统,数据库,和编译器之后。
ww2000e
    86
ww2000e  
   72 天前
都是错觉。。
Timzzzzz
    87
Timzzzzz  
   72 天前
@dreamramon 想请教一下
动手写一个玩具数据库,有什么比较好的教程 /路径吗?
zzzzzzggggggg
    88
zzzzzzggggggg  
OP
   72 天前
@lniwn 牛哇,咋破解的?那个下载速度太慢了
zhenrong
    89
zhenrong  
   72 天前
功夫在“诗”外。不要执着于技,要着眼于道。有道无术,术尚可求,有术无道,止于术。
zzzzzzggggggg
    90
zzzzzzggggggg  
OP
   72 天前   ❤️ 1
@Kingfish404 带着目的看源码就不错了,不需要其他的驱动
zzzzzzggggggg
    91
zzzzzzggggggg  
OP
   72 天前
@liian2019 平时做业务需求也是这样的,先构思整体流程,然后再分而治之写方法
zzzzzzggggggg
    92
zzzzzzggggggg  
OP
   72 天前
@WispZhan 标准四化😸
zzzzzzggggggg
    93
zzzzzzggggggg  
OP
   72 天前
@p1gd0g 展开说说工程思想
zzzzzzggggggg
    94
zzzzzzggggggg  
OP
   72 天前
@dreamramon 能写完一个五脏俱全的操作系统、数据库、编译器,吊打 90%的程序员
zzzzzzggggggg
    95
zzzzzzggggggg  
OP
   72 天前
@ww2000e 为啥
zzzzzzggggggg
    96
zzzzzzggggggg  
OP
   72 天前
@zhenrong 👍
lniwn
    97
lniwn  
   72 天前   ❤️ 1
@zzzzzzggggggg 我知道你说的哪个盘,但我破解的不是那个盘。我只是把它的登录逻辑用 python 实现了一遍,OD 主要是破解其登陆的签名算法。
nuk
    98
nuk  
   72 天前
面向 github 编程,尽量抄别人的,节省的时间可以用来摸鱼。。
SimleCp
    99
SimleCp  
   72 天前
@nuk 没错, 你想把项目做好, 但是往往很多公司根本不给你时间, 只要最快速度交付, 那当然就是怎么快怎么来了.
ruandao
    100
ruandao  
   72 天前
@shellus 这是书名? 文章?
我好像搜索不到
1  2  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1011 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 20:02 · PVG 04:02 · LAX 12:02 · JFK 15:02
Developed with CodeLauncher
♥ Do have faith in what you're doing.