发展是硬道理——写给初入行的Java程序员

2024-03-03 10:48

本文主要是介绍发展是硬道理——写给初入行的Java程序员,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【来信】

  老师您好,我12年毕业于XX大学XX学院自动化专业,现在从事Java开发工作有半年了。当初找工作由于受到从事软件培训人员的蛊惑,决定从事Java软件开发,心里着实恼火。培训完之后到了一家外包公司实习(当时未毕业,所以就是实习生),没想到过了两个月项目结束就被公司赶走,同批的还有四个,当时心灰意冷,也就在那时产生了自卑感。接着到了一家新成立的公司参加岗前培训,原以为培训结束后会待在那儿,结果两个月之后就被经理卖到另一家公司,当初的承诺一个都没有兑现,这个我又忍了。这三件事前后一共耽误了我八个月的时间,也因此放弃了很多校园招聘。现在的公司也就是当初被卖到的公司,因为经历了之前的事,所以三个月的使用期过的很不踏实,害怕被人遗弃,以至于老板当初承诺的3500被减至2500,我都没有一句怨言,这些我都忍了,只是在夜里睡不着的时候想想:凭什么堂堂大学一本毕业生出来要受这个罪!!!当初一起参加岗前培训出来的同学工作四个月就涨了1000,我心里真的很不平衡(他是数学专业,我们两都算转行)。虽然遇到这么多的事情,但是我从来没有失去对未来工作前景的信心,现在虽然每天都在写“增删改查”以及调整页面,但是我始终充满热情,即使周围同事已经不止一次说公司如何如何不咋地,整天写页面如何如何没前途。虽然这样当时我仍然失眠了,当初的遭遇仍然留下的阴影,以至于现在很自卑,患得患失,这个问题真不知道如何解决,这是第一个问题,也是心理问题。

  因为本人不是学计算机的,当初的培训学的东西很零散,所以一直想系统的学习,却又不知道该如何下手,之前也看到老师的文章“在职人士,围绕工作开展学习更实在”,但是自己的知识实在是很杂乱。想围绕工作学习,但是基础知识不扎实;想系统的学习基础,却又不知道如何下手,左右为难,这就是我的第二个问题。
  最后简述一下自己的性格,我比较耿直,不会撒谎,更不会说话,所以再生人面前很腼腆;但是跟熟悉的人我却很随和,大大咧咧。我不是聪明人,很平凡,能力也不强,不擅长跟人交流。我喜欢坐在椅子上敲代码,这种感觉使我很舒服,遇到程序BUG我会自己百度自己解决,偶尔问一下前辈。
  老师如果看到我的信件,真心希望来世看完我的来信,我是真的有很多问题,不能一个一个问,所以就简单叙述了以上两个问题:心理问题和学习问题,希望得到老师的救助,我会一直等候老师的回信。


【回信】

  看了你的来信,首先感觉的是同情,这大概也是你所需要的一个抚慰。但这些你是必须面对的,指责别人的过错,并不有益于自己的疗伤。我的原则,谁找我说问题,我就说谁的问题。惟有立足于自己的改变,才能迎来新的世界。所以,下面的回答中,有不客气的地方,请担待。如果不能接受我的观点,不要记着,忽略这件事就是了。
  第一个所谓心理问题,我第一句想到的话是“发展是硬道理”,第二句是“弱国无外交”,其余的则是接受已有的一切,改变不满的所有。分开来说:(1)对“软件培训人员的蛊惑”之“着实恼火”。恼火一阵就可,常这样,可就是你的不是了。不论如何,受蛊惑还是说明你至少对从事软件开发是有兴趣的,参加培训是你做这件事的一个现实的途径,何恼之有?感谢领你入门的人也是应该的。作为一个成年人,做出选择的是你,时时将貌似错误的选择迁怒于别人,你如何做到自主?这样质问你不公平,但你必须有这样的担当,因为这是你自己的事。静心想一下,如果真是入错行了,往后还有几十年呢,培训到现在也就一年左右的时间,算作是一段体验,及时改正,做你该做的事情去,这个代价并不算太大。否则,这件事再不要说。(2)你提到了岗位、工资方面的承诺,多家公司不给你的兑现,但你没有提到自己的水平问题。走过了培训这个历程的人,水平是不一样的,进入了实习期后,是否能留,取决于你的价值。三件事耽误了你八个月时间,这八个月,你耽误自己了没有,在其中的提高是什么?是否真正地会出了努力?有大学四年中,是否真的努力学习了?遭遇减薪时,为什么要忍?你想到过和老板叫板的资本没有?如果没有,忍是对的。不甘心忍,需要想如何做到有一天,他跪下来给你加薪留你,你也要另择高枝。把“堂堂一本毕业生”的牌子摘一边放好,不要再摆出来。如果在毕业前把你的“一本”拿出来,还可以盖过其他本和专的话,现在已经完全失效。你临近毕业,才被动地以一种低端的方式进入一个相近的行业,走上一个和自己专业目标相差很大的岗位,你是新人,没有资本。培训过、毕业了,这是一个前提,一个手段,不是关键因素。以后的发展,更要靠你自己,取决于你能创造的价值。用发展说话,用发展给自己增加谈判的砝码。用这样的胸怀,去接纳你之前遭遇的不公和不幸,去改变你以前在学习中存在的不足。
  你提到的“在职人士,围绕工作开展学习更实在”一文中,来信者学习的问题出在他在当前正在做的事情中立足还显吃力,对你而言,挑战也是一样:就是现在的工作,做好、做快,进而做得有特色,这需要沉下心来,“增删改查”是需要经过的一个阶段,不同的人,度过这个阶段的时间不一样,并不像大学规定的经过四年都叫大学毕业生。有人一辈子就这样了,有人却不是。即使整天写页面,不同的人,价值也大有不同。这是人的不同,对年青人,有的是时间塑造这个不同,但也要抓紧。长期从事这个行业,由于跨专业,在合适的时候,基础是要考虑加强的。显然,现在是需要首先面对现实,做好手头的工作。不要觉得工资低给他做好就亏了,自己提高还有人给发工资,无论如何你的赚的。围绕实际工作,把计算机专业的那几门必修的专业基础课的教材放在手边,常去翻着点,有感觉的地方认真钻研一下。在这样的交互中,你也可以扎实起来。一只没有为过冬做好充分准备的松鼠,它也是会有点吃的,先维持生命,再考虑改正过错加紧储备。在系统学习基础的问题上,你可以参考我写的“ 破除‘系统学习’的情结”http://blog.csdn.net/sxhelijian/article/details/7841618,学出自己的系统,而不是教条地套别人的系统。
  你提到了学数学的同学的情况,倒是让我没有忘记提醒你另外一件事。学数学专业的,在从事软件开发方面,其长期优势甚至大于计算机专业,你们的转行,味道不一样。而自动化专业中的控制理论和方法,也是很有价值的宝贝,你在程序员岗位中站住脚了,同你的本专业结合起来,你应该会秀出和纯计算机、纯自动化、数学专业的毕业生不一样的精彩,市场也很广阔。这个可能有,会不会成为现实,取决于你自己。
  放下一切的包袱,接受现在的一切,让一切成为你现在进步的依靠。用自己独有的进取,创造期望的进步。谁也不能给你提供救助。自救者,天救之。

  希望以后听到你的好消息。


==================== 迂者 贺利坚 CSDN博客专栏=================

|==  IT学子成长指导专栏  专栏文章分类目录(不定期更新)    ==|

|== C++ 课堂在线专栏   贺利坚课程教学链接(分课程年级)   ==|

======== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =======


这篇关于发展是硬道理——写给初入行的Java程序员的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/769394

相关文章

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2