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 开始被程序员们使用。java
然而也总有一些程序员以为,这些技术的升级换代并无足够的理由让他们去重构他们的代码,已有的业务足够稳定,不必去运用这些所谓的“骚操做”。c++
这些想法并非没法理解,由于他们即使使用最原始、最 lowB 的写法同样能够实现功能,好比 foreach 和 for 两种写法均可以,我就喜欢用 for,有何不可?这些想法的人同样能够在企业中混得风生水起,只手遮天。程序员
因此,在这些地方,技术的更新迭代并不能让掌握了它们的程序员获得什么利益和机会。那这些程序员的价值由什么决定呢?面试
对于程序员来说,价值怎么体现?一个程序员的价值,就体如今他的稀缺性上。物以稀为贵么,亘古不变的道理。算法
“闻道有前后,术业有专攻”这句话很适用于程序员,直白点说,技术的精湛不是以年龄来评判的,有的朋友在上学时的技术水平已经比工做十来年的高了,有工做十年的水平不如工做三年的,固然也有不少程序员的技术水平是正比于年龄增加的。
做为一个老程序员,只有你的技术能力正比于年龄,才是合格的,不然就必然越走越慢,慢慢掉队,最终就只能面临被年轻人挤兑、淘汰的窘况,结果就是被迫离开程序员的队伍。
程序员要想让本身的价值持续增加,有这么几个方向可供参考。数据库
(一)选行业编程
在一个行业内持续积累,对行业的理解到位,积累深厚,你的价值是巨大的。不信你去浏览招聘网站上的岗位需求,99%都要求相关行业背景。
因此,选择一个靠谱的、前景好的行业很是重要,只要这个行业可以不断发展、前进,你的积累就是有价值的,你本身就是不断增值的。微信
(二)技术数据结构
程序员,业务积累是屠龙刀,技术积累是倚天剑,两个都有,那就逢山开路遇水搭桥没有走不通的路了,你必定是先锋部队尖刀兵,到哪里都具备超强的攻击性。
技术上最起码的要求??/术水平和视野对得起年龄,若是有超越年龄的积累和犀利,那就没话说了,地球人已经阻挡不了你前进的步伐了。
就技术来说,假如你掌握了一门很难又很重要的技术,那单单是这一点,就颇有价值。
好比你熟悉 Windows 内核或 Android 内核,可以熟练撰写各类驱动,那找个月薪五六十K的工做不成问题。再好比你图像处理算法很牛,再好比你视频解码算法很牛,……像这些特定领域的算法,咱们也叫它技术吧。若是你懂相似的算法并能实现之,恭喜你,你已经超越了 90% 的程序员了,你的重要性和价值将不可估量。架构
(三)产品意识
作产品也是讲感受的,固然有时咱们以为对产品的把握是产品经理的事儿,这么讲对,也不对。产品经理虽然是不挂衔的 CEO ,但产品的最终实现,是要靠程序员的,假如你对产品没有热情、没有感受,无所谓好无所谓坏,那很难作到出色了。
个人结论是:程序员的价值与年龄没有直接关系,价值不会反比于年龄。做为软件开发人员,本身不要给本身在年龄上设限,不少事情咱们没作成,不少时候咱们没能取得更大的成就,都是由于咱们先给本身设置了限制,用这个限制禁锢了本身。
下面这张图来自文章“2014年中国程序员调查报告”,说明了国内程序员的年龄分布状况:
谁说程序员干不过三十岁呢,数据代表,30岁以上的程序员占比高达 48.62%,占整个程序员群里的将近一半。
2015年1月22日,我去参加 Qt 西安开发应用研讨会,有一哥们就是老程序员,40多了,宝刀正锋利呢。
王江民30多岁写软件,43岁搞出横扫杀软市场的江民杀毒。
个人老上司,40来岁了写直播流媒体协议,P2P的,传输效率高且稳定。
……
年龄只是一个天然现象,而咱们的经验、认知、能力、心智成熟度,在合理的状况下,都是随着年龄增加的,廉颇不老,黄忠能战,只要你走在正确的方向上有值得称道的积累,缘何不能横刀立马顾盼自雄也。
我一直在想,一个努力学习的人,怎么可能会没有价值?
后来由于某些机缘,我忽然明白,不是你没有价值,是你的创造没有价值,是这些创造不须要你的能力。
对于程序员来讲,咱们都在创造代码,代码就是咱们的产品或者输出。可是代码有好坏之分,即使是微信或者 QQ 这样用户规模的系统,代码也必定有好有坏。但关键是那些代码创造的是微信、QQ,因此写代码的人也就创造出了价值,有了价值就势必会获得膜拜,获得承认。
工做这么多年,待过的公司也有许多,见过对代码有洁癖的人,也见过毫无追求瞎写的,他们都在创造不一样的价值。但瞎写的反而会更受到重视,会更被确定价值。
那么价值由谁决定?不是应该由你的实力决定的吗?就好像一个杯子,材质不一样价值也就不一样,难道价值跟使用他们的人还有什么关系。
直观讲,技术人的价值体现为技术人的技术实力,技术实力体如今技术的输出与创造。然而你的输出与创造即便让人以为你有两把刷子,也没法真的决定你的价值!
你又将你的技术输出在了什么地方?有人承认吗?
有几个时间点可能会是技术被承认的绝佳时机。
技术没有裁判,你要本身寻找公平的平台。
你可否获得机会,你可否获得匹配你本身实力的平台,真的须要本身的追逐。不要在一个不承认你价值的地方停留过久,那样只是会浪费本身的时间。
固然,你能够在不被承认的时候持续蓄力,加强本身的能力,闪闪发光,让大佬看到你的价值。你也能够鲤鱼跃龙门,去往更高的阶梯。
庄子说:吾生也有涯,而知也无涯。以有涯随无涯,殆已!
究竟路在何方?
有的时候,我也会陷入迷茫的痛苦之中,明明本身一直很努力,已经持续了不少年,不停地学习,为何而今仍是混成这个模样?后来出现了一个词顿时让我明白了------内卷。
搞私单、学大数据、学 AI,泛泛地学了不少,走了不少弯路,浪费了不少时间,最后才有了那么一点感悟。有个认识的哥们说,他到快 30 岁才明白如何去学习。其实,许多人未尝不是呢?
技术大爆炸的开源时代,行业不断兴起,技术层出不穷,咱们老是以为本身这也不懂,那也不会,总想什么都去了解一下,总想一口吃个胖子!但现实是,咱们的精力和时间都是有限的,咱们只能把有限的时间和精力用在最有价值的地方。那么何为最后价值的地方?
做为码农,我以为就是要搭建本身的技术体系,用小马哥的话来讲就是“一精多专”,不须要什么都会。
万丈高楼平地起,不积跬步无以致千里。
基础是很重要的,c/c++基础包括C语言基础知识、数据结构与算法、MySQL 数据库和指针等等。除此以外,基础还包括一些架构设计的基本原则、基本思想,软件工程的基本素养如知道什么是瀑布模型、敏捷开发等。善于利用工具提升开发效率,有改善项目开发流程,提升开发效率的意识。甚至是一些沟通的技巧和必定程度的技术影响力。
最后,想送上几个字给本身和你们------内求于己,宁静致远!
若是你想的你的编程之路快人一步,若是你也但愿提高你的编程能力,了解C/C++更多知识,+Q群:1151395975,接受牛人大牛们的指导,听听他们对写代码的建议,一块儿快乐学习,共同进步~