目录
- 背景
- 带着疑惑
- 生活中的迷茫
- 开始实训
- 实习
- 再看java
- 总结
背景
笔者是一个专科院校的一名普通学生,目前就职于某三线城市的WEB方面.Net开发实习生,在找实习期间和就业期间的一些看法,发表此文,纯个人想法,欢迎讨论,指正!哈哈轻点喷~
在校学习技术方面也是.Net方面,所以实习就是.Net开发实习生。我也很喜欢这门优雅的语言!
在还未上专科院校的时候,我就开始了解编程,从启蒙的VB,到简单的排序算法。我曾经感叹:简单的几行代码,就可以完成这么多好玩的东西!跟风在网络上看到程序员的高薪,身为一个农村的孩子,也想通过编程赚取高一些的薪资和在办公室办公。
但当我开始在B站(VB也是通过视频学习)等渠道,搜索编程语言,教程的时候,十之八九的视频教程都是建议学习Java,无论是就业还是薪资方面,仿佛都告诉我:选择java就可以走上人生巅峰!迎娶白富美!
当进入学校,大一的课程是Html Css Java的时侯,我觉得这样子的路线,和网上说的是一样的!参加了社团之后,有学长和我说,我们的主要学习技术栈是.Net方面,我当时也是一脸问号?没听过这个,好像也不出名。会不会是个坑?
带着疑惑
之前在网上看的什么介绍视频都是java这种的,给了我一种,java是最好的语言的感觉,大环境都使用他。以至于我一开始是不太喜欢.Net的,现在回头想想,还是太天真了~ 从大一下学期开始,我们的课程变成了C#,winfrom方面,我一看,这不是和VB有点相识吗,都是托拉拽,写事件的。在内心更不喜欢C#了,觉得有点低级 哈哈哈(Winfrom开发大佬别喷我),那也是再次加深了偏见,我和我们专业课老师也曾对话:
- 我:老师,我们为什么要学习这个语言,就业不会很困难吗?他好像不是这么流行?
- 老胡:不要纠结于语言,主要是编程思想和学习方法。
- 我:???,我觉得有点迷茫,不知道能做什么,我会了什么?
- 老胡:以前的学生也有过你这样的迷茫,大部分人都会有,我的建议是跟着一步一步走下来,还是想的太多做的太少,人才会迷茫。
在那时,我还是不理解为什么要选择这门语言,但我还是跟着老师一步学下来了,后来的的课程是Sql,.NetCoreMVC ,JavaScript,NodeJs,Vue,WebApi
生活中迷茫
在专科院校,我们学院算是管理比较严格的。辅导员和亲妈一样,一周查寝两三次,经常和你聊天,在课堂学习的时候,还会来抓人是否有玩手机,偷偷睡觉的。也是这种环境,让我没机会偷懒,很感谢我的两位辅导员(孙姐,琦姐)! 咳咳,跑题了
其实在宿舍我们也曾一起聊天这方面:
- 舍友:我觉得我们学的太杂了,一会学这个一会学那个,啥都是浅尝辄止,就怕到时候出去都没人要
- 我:我也是觉得啊,我自己找了java的学习路线,你要不要看看?
- 舍友:我瞅瞅
- 舍友:这也太长了吧,技术要点这么多吗?
- 我:对啊,我看到招聘软件上,就是写这么多技术要点?真的有大佬这么牛吗?
在这期间,我也自己在看javaSE的基础教程,发现和C#有点像啊这个语法?吃惊!
开始实训
时光飞快,我来到了大二的下学期,那时候刚学完WebApi和Vue,终于有点前后端的感觉了(第一次体验到前后端分离),在我们学院,大二的暑假是不放假的,在学校用两个月做实训,模拟企业开发,分组分工,大家一起做一个项目。
在分完组的时候,我就想:多分几个技术比较厉害的同学给我哈哈,我们做酷一点! 老师还是按平均水平给我们分好了,不好不坏。第一个项目是blog,一开始老师说是简单的完成功能就可以了,我心想:那不是很简单吗?
后来发现两周的时间,还是赶得半死才做出来!
从数据库建模,确认表关系、到前端页面的原型、页面的效果配色、后台的框架的搭建(.Net6 WebApi + EfCore + JWT +非常简单的借鉴DDD的分层概念)第一次感觉到团队的沟通协作和项目是如何从一堆报错到另外一堆报错的哈哈
两周的时间还是太短了,至少对于我这种第一次上路的新手司机,最后也是匆匆忙忙,直到验收会的前十分钟,还是修改部署到云服务器上。也是第一次感觉这么紧张且激动!
然后就是开始了第二个练手项目:教务系统,比第一个项目难度高了一个等级,就单纯表的确定,就讨论了两天,还是初步模型,后来改了N次 以及确定使用无显示外键这种关系。由于涉及到排课,我们还想着如果并发了,应该要加上锁的情况。还有如何更好的借鉴一下DDD这个思想。后端要用上什么新的技术,可以更好的性能。前端要小程序和网页版,区分教师和学生....
在第二个项目写的时候,就有一种感觉,都是CRUD,怎么有这么多花样,这么多玩法呢?
实习
很快到了八月底,我开始了投简历的时候,一共投了几十家,由于学历的问题也被拒绝了几次,给我整的有点灰心,也拿到了三个面试的机会
- 某苏州软件公司,人员在200人左右,主要使用Winfrom -失败
- 目标城市软件开发公司,人员在50人左右,.Net6等比较新的技术 -通过
- 目标城市软件开发公司 人员在300人左右,主要使用Winfrom -通过
在九月我就来到了目标城市准备入职啦,我记忆非常深刻的是:在和我同时入职的两个人,一个是软件测试主管,一个是八年的前端工程师。
- 我:大哥,你们都是入职什么岗位呀?
- 前端工程师:我做前端的。
- 前端工程师: 你是实习生吗?看起来挺小的。
- 我:对,我是.Net实习生。
- 前端工程师:现在还有在做.Net的实习呀,我都没听过几个了哈哈
- 我:.....
在入职之后,我才发现了,就我一个独苗.Net实习生,其他实习生都是做Java方向的。主要的维护以前的老项目。用的是Winfrom等技术。
再看Java
萌生了离职的想法,因为刚入职嘛,第三天就跑路了,主要是个人原因不是很能接受Winfrom,可能是我觉得他比较老旧了吧,和我想要的不一样哈哈(再次求轻点喷),后来入职了那家50人左右的公司,不卷不加班,大家人都很友好,技术方面也是比较前沿的,完美符合了我的要求!!
然后在工作的时候,就发现了,.Net太优雅了,对比Java,拥有太多语法糖,写起来很舒服。但也是因为微软帮我们做了太多的事情,反而让我们不知道底层原理,设计模式等。
我深知一门优秀的语言应该是易用易学,好上手的,这点上C#完胜!宇宙最强的IDE,一站式帮你配置好了!
反观Java,在环境变量配置,IDE的选择等等,就会劝退一些小白(我一开始也不知道怎么配置环境变量)。
但在我的想法中,也许底层原理,设计模式这些,作为一个程序员应该懂,然后再去使用这些语法糖,知其然又知其所以然!
我开始在博客园中大量的搜索关键词 .Net转java 发现了很多这样子的文章。也看到对立,引战的发生!这点让我写一篇文章十分害怕哈哈,再次声明,我只是分享我的一些经历!
我看到了自由飞大佬的文章,其实也发现了学校选技术的用意,java的竞争太过于激烈,而C#和Java相近,市场也有需求。先就业在择业,先入行在选择!
至此,我明白了当时老胡说的意思:不要纠结于语言,主要是编程思想和学习方法。
总结
现在我也仍然在学习.Net 和java。在工作上使用的是.Net ,回来看的视频教程是Java,我想通过java来更深入的了解一些底层一点的机制,学习更新的技术。也是因为java的教程确实比.Net更加丰富,生态会更好一点,不可否认!
但我依然喜爱这C#这门十分优雅的语言,喜欢它无处不在的语法糖!在工作上也仍然会继续深入研究它!
最后,也告诉自己:不要纠结于语言,主要是编程思想和学习方法。