谁决定了 IT 直男的价值
怎样做一个有价值的程序员?
从一段代码说起
package com.jeff.study.jdk8.stream;
import java.lang.reflect.Modifier;
import java.util.Arrays;
/**
* @Description 迭代常量类中的某些属性
* @Date 2021/1/16 2:38 下午
*/
public class TestConstantStream {
public static void main(String[] args) {
Arrays.stream(Numbers.class.getDeclaredFields()).map(field -> {
int mod = field.getModifiers();
if (Modifier.isPublic(mod) && Modifier.isStatic(mod) && Modifier.isFinal(mod))
return field;
else
return null;
}).forEach(System.out::println);
}
}
enum Numbers {
ONE(1),
TWO(2),
THREE(3),
FOUR(4),
FIVE(5);
private int value;
Numbers(int Value) {
this.value = value;
}
}
jdk8 以后函数式编程流行起来,lambda 表达式、Stream API 开始被程序员们使用,然而也总有一些程序员觉得,这些技术的升级换代并没有足够的理由让他们去重构他们的代码,已有的业务足够稳定,没必要去运用这些所谓的“骚操作”。
这些想法并不是无法理解,因为他们即便使用最原始、最 lowB 的写法一样可以实现功能,比如 foreach 和 for 两种写法都可以,我就喜欢用 for,有何不可?这些想法的人一样可以在企业中混的风生水起,只手遮天。所以,在这些地方,技术的更新迭代并不能让掌握了它们的程序员得到什么利益和机会。那这些程序员的价值由什么决定呢?
为什么没有价值?
后来因为某些机缘,我突然明白,不是你没有价值,是你的创造没有价值,是这些创造不需要你的能力。
对于程序员来说,我们都在创造代码,代码就是我们的产品或者输出。但是代码有好坏之分,即便是微信或者 QQ 这样用户规模的系统,代码也一定有好有坏。但关键是那些代码创造的是微信、QQ,所以写代码的人也就创造出了价值,有了价值就势必会得到膜拜,得到认可。
谁才是这场竞赛的裁判?
你又将你的技术输出在了什么地方?有人认可吗?
有几个时间点可能会是技术被认可的绝佳时机。
面试:面试官直接面对你的技术,通过各种方式考察你的技术。
工作:工作中完成大佬布置的具有难度的任何要求,给任务提出解决思路。
会议:技术会议中提出自己的见解和思路,让别人了解你的技术。比如代码走读中以自己的技术敏锐观察力发现问题和提出解决方案。
除此之外,能否被认可还取决于你自己的表达意愿和大佬对你是否感冒,这这两点我认为起了 80%的作用。
技术没有裁判,你要自己寻找公平的平台。
你能否得到机会,你能否得到匹配你自己实力的平台,真的需要自己的追逐。不要在一个不认可你价值的地方停留太久,那样只是会浪费自己的时间。
当然,你可以在不被认可的时候持续蓄力,增强自己的能力,闪闪发光,让大佬看到你的价值。你也可以鲤鱼跃龙门,去往更高的阶梯。
开源时代,别让内卷耽误了你?
庄子说:吾生也有涯,而知也无涯。以有涯随无涯,殆已!
究竟路在何方?
如何搭建自己的知识体系?
万丈高楼平地起,不积跬步无以至千里。
基础是很重要的,java 基础如 jdk 源码、设计模式、spring 源码、 IOC/AOP、数据结构与算法、Mysql 数据库和性能调优、TCP/IP 协议、多线程编程并发包等等。除此之外,基础还包括一些架构设计的基本原则、基本思想,软件工程的基本素养如知道什么是瀑布模型、敏捷开发等。善于利用工具提高开发效率,有改善项目开发流程,提高开发效率的意识。甚至是一些沟通的技巧和一定程度的技术影响力。
最后,想送上几个字给自己和大家------内求于己,宁静致远!
THE END
程序员如何避免陷入“内卷”、选择什么技术最有前景,中国开发者现状与技术趋势究竟是什么样?快来参与「2020 中国开发者大调查」,更有丰富奖品送不停!
“分享、点赞、在看”