作为一名3年经验的java开发,对未来发展的思考

前言

已经好久没有更新博客了,一直在工作中忙碌,下班后不是学习就是运动,也逐渐忘记了自己以前有写博客的习惯,想起3年前刚毕业那会找工作的焦头烂额,每天发博客的目的是为了刺激自己能够更加努力上进,告诉自己再不努力学习,工作都可能会找不到,熬了一段时间后终于也找到了工作顺利入行。这次写博客的目的,依然是为了记录这几年来所观察到的事情以及自己的感想,希望能够给同样在这一行发展的人带来一些思考和改变,

进自研不重要,进闲的公司更重要

也许很多人告诉你,一定要进自研,一定要进自研,一定要进自研!我从事这一行3年,同事也是纷纷讨论说要进自研,我也进过自研,自研给我的感受就真的是与外包有很大的区别,外包里面写着业务代码,各种文档、开会整理,干着边缘化的工作,整天在为CRUD去找BUG,但是自研何尝不是呢?确实不得不承认的内容是,自研做的工作比外包有价值得多,一个20人左右规模的小自研公司,敏捷开发模式(不需要写繁杂的技术文档和整理各种文档,上手就开发),复杂业务你都能接触到(20人左右的小公司,可能前端占3个后端占2个产品经理1个测试人员一个,剩下都是销售,架构处理、技术选型,你不得不参与讨论,因为后端就你们两个人),在这种情况下,你的成长确实是快,而且你可以把你对技术的理解和想法用在公司的代码中进行实践(因为老板也不懂技术),而对于外包来说,他们压根就没这样的机会,核心业务都握在甲方手里,你没办法接触核心技术,做的都是边缘化CRUD。

但是一个代码架构中,最多的代码还是CRUD,如果公司人多一点,然后你又菜,即使是在自研公司,这些代码始终都不会经过你的手,可以说只要上层有大佬在,你还是很难去接触核心的内容,无法去完成调试。

如标题所示,为什么我觉得进自研不重要,进闲的公司更重要呢?在这几年的实践当中,我发现进了自研之后,你可能会很忙,可能只写一个模块的功能代码,最终还是CRUD,而且还要加班,我个人觉得加班是对你的未来有杀伤力的,因为加班就意味着你没有办法去学新的技术,每个开发员最宝贵的时间就是下班的时间能够去自学公司里接触不到的技术,来增加自己的市场竞争力,而加班等于把你这部分机会扼杀在摇篮里了,长期下去你可能工作5年出来,你的技术水平大学生一个星期就能取代你,并没有实质性的技术提升,更别说晋升到架构师了。

闲的公司给予了你这样的机会,上班闲一点,你就可以趁这个时间去打开教学视频,不断地去学习自己未知领域的技术,让自己的知识变得更加全面。我之前写过博客说过,找工作最好的方法是多去面试,只要面试多了并且查漏补缺,就能所向披靡最终面试都是乱杀,但是这段时间的经历让我改变了这个想法,因为一个知识点下总会有各种拓展的知识点,你如果只是零零散散地去网上去寻求它的答案,知识也会零零散散地被记在脑海里,并不会形成一个完整的知识体系,在面试官问你问题的时候,人的大脑总是习惯性去一个知识体系里面去提取记忆,对你来说知识都是零散的,很难一时串联起来。所以有个解决方法就是针对这种情况的,就是你通过一个完整的视频教程,从头到尾花上20多个小时甚至50多个小时完整过一遍,视频教程里面的内容全面能够启发你更多的理解,说白了这一行的秘诀就是把所有教学视频都刷完和实践完,你成为架构师的问题不大。

这也是一位国企大佬启发我的,以前的我还一味地去搜各种面试题,分别搜索它们地答案,但我没想到的是,我搜了两三年的面试题,还是能被面试官问懵,最根本的原因是缺乏实操和完整的知识体系,国企大佬告诉我要跟着教程走,我也尝试了一下,结果确实让我理解了非常多网上搜不到的原理,我感觉自己慢慢地也比周围人更优秀了,所以选一家闲的公司,刷更多的视频,才能够让自己更强大,更好。

我不是什么机构的,你们看不看教程也跟我没关系,我只是在表达我的观点,记录我的想法,以便未来迷茫了或者走错路了,自己也能够及时回到这个起点,重新出发,直到我拿下架构师的岗位,向所有人证明我的实力,我才会甘心。

最后想说两句,最近几年行情确实不好,大家还是得卷一下,因为大多数人都是不卷的,就是因为他们不卷。你才有机会超越他们,比他们更能拿到offer,所以这也是一种好事,希望大家都能找到工作,上岸顺利。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MISRA 2012学习笔记(1)-Directives

文章目录 说明Directives2 编译与构建Dir 2.1 3 需求可追溯性Dir 3.1 4 代码设计Dir 4.1Dir 4.2Dir 4.3Dir 4.4Dir 4.5Dir 4.6Dir 4.7Dir 4.8Dir 4.9Dir 4.10Dir 4.11Dir 4.12Dir 4.13 说明 以下等级一般分为三种,建议,必要,强制 建议&#…

mongodb-win32-x86_64-2008plus-ssl-3.6.23-signed.msi

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator>cd C:\MongoDB\Server\3.6\binC:\MongoDB\Server\3.6\bin> C:\MongoDB\Server\3.6\bin> C:\MongoDB\Server\3.6\bin>mongod --dbpath C:\Mongo…

c语言每日一练(2)

前言: 每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…

Nginx启动报错- Failed to start The nginx HTTP and reverse proxy server

根据日志,仍然出现 “bind() to 0.0.0.0:8888 failed (13: Permission denied)” 错误。这意味着 Nginx 仍然无法绑定到 8888 端口,即使使用 root 权限。 请执行以下操作来进一步排查问题: 确保没有其他进程占用 8888 端口:使用以…

Java-JUC(七)

1.Java中实现多线程有几种方法 创建线程的常用的几种方式: 继承Thread类 实现Runnable接口 (重写run方法,无返回值) 实现Callable接口( JDK1.5>,重写call方法,可以自定义返回值 ) 线程池方…

python#django数据库一对一/一对多/多对多

一对一OneToOneField 用户和用户信息 搭建 # 一对一 class TestUser(models.Model): usernamemodels.CharField(max_length32) password models.CharField(max_length32) class TestInfo(models.Model): mick_namemodels.CharField(max_length32) usermode…

企业计算机服务器中了locked勒索病毒怎么办,如何预防勒索病毒攻击

计算机服务器是企业的关键信息基础设备,随着计算机技术的不断发展,企业的计算机服务器也成为了众多勒索者的攻击目标,勒索病毒成为当下计算机服务器的主要攻击目标。近期,我们收到很多企业的求助,企业的服务器被locked…

【网络编程】TCP带外数据总结

文章目录 一、带外数据基本知识二、带外数据的读写三、检测带外数据是否到达3.1、select上的异常事件3.2、SIGURG信号 四、带外标记 一、带外数据基本知识 带外数据(Out Of Band,OOB),用于迅速通告对方本端发生的重要事件&#xf…

leaflet-uniapp 缩放地图的同时 显示当前缩放层级

记录实现过程: 需求为移动端用户在使用地图时,缩放地图的同时,可以获知地图此时缩放的级别。 效果图如下:此时缩放地图级别为13 map.on() 有对应的诸多行为 查看官网即可,这里根据需要为--zoomstart zoom zoomend 代…

Crowd-Robot Interaction 论文阅读

论文信息 题目:Crowd-Robot Interaction:Crowd-aware Robot Navigation with Attention-based Deep Reinforcement Learning 作者:Changan Chen, Y uejiang Liu 代码地址:https://github.com/vita-epfl/CrowdNav 来源:arXiv 时间…

【Linux】网络套接字知识点补足

目录 1 地址转换函数 1.1 字符串转in_addr的函数: 1.2 in_addr转字符串的函数: 1.3 关于inet_ntoa 2 TCP协议通讯流程 1 地址转换函数 本节只介绍基于IPv4的socket网络编程,sockaddr_in中的成员struct in_addr sin_addr表示32位 的IP 地址但是我们通常用点分十进制的字符串…

无涯教程-Perl - bind函数

描述 此功能将网络地址绑定到由SOCKET标识的文件句柄。地址应该是用于打开的Socket的适当类型的打包地址。 语法 以下是此函数的简单语法- bind SOCKET, ADDRESS 返回值 如果失败,此函数返回0,如果成功,则返回1。 Perl 中的 bind函数 - 无涯教程网无涯教程网提供描述此功能…

day52-Redis

Redis 1.Redis 1.1 RESP连接Redis 1.2 定义:是一个高性能的key-value数据库(非关系型数据库) 1.3 数据类型: key键的类型是字符串类型; 值的类型有五种:字符串String,哈希hash&#xff0…

pygame贪吃蛇游戏

pygame贪吃蛇游戏 贪吃蛇游戏通过enter键启动,贪吃蛇通过WSAD进行上下左右移动,每次在游戏区域中随机生成一个食物,每次吃完食物后,蛇变长并且获得积分;按空格键暂停。 贪吃蛇 import random, sys, time, pygame from …

React 用来解析html 标签的方法

在React中,解析HTML标签通常是使用JSX(JavaScript XML)语法的一部分。JSX允许您在JavaScript代码中编写类似HTML的标记,然后通过React进行解析和渲染。 以下是React中解析HTML标签的几种常见方式: 直接在JSX中使用标…

AR远程专家指导在汽车改装上的应用有哪些?

随着科技的不断发展,AR增强现实技术逐渐走进了我们的生活。加上商贸国际化,远程协同纵深到制造生产的更多环节,研发协同、工艺优化等场景复杂、跨层级、需要频繁沟通确认的流程正通过AR应用实现全面远程化的过渡,在汽车行业&#…

Kuibernetes 如何根据不同业务场景调节 HPA 扩缩容灵敏度

背景 在 K8s 1.18 之前,HPA 扩容是无法调整灵敏度的: 对于缩容,由 kube-controller-manager 的 --horizontal-pod-autoscaler-downscale-stabilization-window 参数控制缩容时间窗口,默认 5 分钟,即负载减小后至少需要等 5 分钟才…

JVM入门到精通

一、JVM概念 1.1、什么是JVM Java Virtual Machine:Java虚拟机,用来保证Java语言跨平台 Java虚拟机可以看做是一台抽象的计算机,如同真实的计算机那样,它有自己的指令集以及各种运行时内存区域 Java虚拟机与Java语言并没有必然…

【数据结构】常见的排序算法

常见的排序算法 常见的排序算法插入排序之直接插入排序时间复杂度特性总结 插入排序之希尔排序时间复杂度 选择排序之直接选择排序特性总结 选择排序之堆排序时间复杂度特性总结 交换排序之冒泡排序特性总结 交换排序之快速排序hoare版本挖坑法双指针法快速排序的优化1&#xf…

【Python基础教程】super()函数的正确使用方法

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 1.super(本身类名,self).方法名(参数)这样就可以调用父类的方法和参数了,super()内也可不加参数 2.规律是super是按调用的次序执行,super后面的语句是逆向执行的。 有2段示例代码,不同的在于value有没…