本文作者:ptiyny

linux知识学习外包 linux运维外包

ptiyny 06-11 19
linux知识学习外包 linux运维外包摘要: 大家好,今天小编关注到一个比较有意思的话题,就是关于linux知识学习外包的问题,于是小编就整理了2个相关介绍linux知识学习外包的解答,让我们一起看看吧。为什么说程序员做外包没...

大家好,今天小编关注到一个比较意思的话题,就是关于linux知识学习外包问题,于是小编就整理了2个相关介绍linux知识学习外包的解答,让我们一起看看吧。

linux知识学习外包 linux运维外包
图片来源网络,侵删)
  1. 为什么说程序员做外包没前途?
  2. 如何从零开始学习Java?

什么程序员做外包没前途?

对于外包,要慎重考虑,但也不要妖魔化。

一方面,入行做外包程序员,需要慎重。不可否认的是,外包的工作经历写在简历上,从大厂HR看来,往往意味着非科班出身,计算机科学理论方面水平稍差,且代码质量难有保证。如果入行了外包,就意味着后续跳到大厂变得比较困难,且工作生涯基本都会在外包行业之内了,上升空间较小。所以尤其是计算机和软件专业的应届毕业生,需要慎重考虑。

另一方面,也不要妖魔化外包。外包为大量程序员提供了工作机会,尤其是转行和培训班出身的程序员们,能够在外包行业获得不错的收益,有时甚至还能赚些外快。而且,外包的工作也能够磨砺编码技巧,增加开发经验,行业内不乏有外包跳槽到大厂的励志案例。

对于程序员来说,前途的定义各不相同。有人想要引领技术潮流,而有人需要的是一份回报足够高的工作。在进行职业选择时,要结合自身情况,慎之又慎,选择符合自己的职业生涯道路。

linux知识学习外包 linux运维外包
(图片来源网络,侵删)

先不说做外包有没有前途?

你愿意招一个40岁的程序员吗?程序员都没前途。进大厂,成功创业那也是小概率的事。大厂首先要有好学历专业过硬。甲方?也有不少签外包合同的。

没有正确答案,只有认知和角度上的不同

说到技术外包,有以下4个方面需要聊:

linux知识学习外包 linux运维外包
(图片来源网络,侵删)

编程起源于英美,历经70-80年发展,编程文化在逐渐沉淀,形成一种工程师文化之下的亚文化。

1 海外

40-60年代,在欧美,工程师一度曾是“书呆子”(nerd)的代名词,

(左边呆萌的Steve Wozniak一直被Jobs的“光环”遮蔽,实际上他是苹果早期产品的重要缔造者)

第一点,工作对接问题,我入职过两家外包,第二家完全没工作对接,甚至到什么程度,git你都没权限提交,一问,哦,没给你加入组。在此基础上却让你开发一些重业务、重数据任务,你的体验就是一直在找人问,别人还嫌你烦(正常情况这帮人应该是你的对接人),但是第一家从工作交接到后续开发文档需求文档都有

第二点,权限问题,这一点也很看甲方公司,像外包到阿里这些大厂该有的权限都有,但是你要是包到中小公司,对不起你看不到前端页面,你看不到数据库面向model开发了解一下,面向js开发了解一下(前后端分离,接口地址还要问前端哥),第一点里也说了,重数据的任务就交给你。然后抛开开发权限,我第二家公司入职了3个月还没给门禁权限,我大门都进不去,所以就辞了

第三点,甲方公司员工问题,看不看得起外包我是无所谓的,都是臭打工的干什么都是韭菜,但是我任务干完18:00下班,你甲方员工看我不爽搞人是什么意思?也是第二家的甲方公司,像第一家甲方完全没人搞这种小动作

第四点,归属感问题,这种说的人太多了就不赘述了,特别看本公司,不过我是无所谓,提一下这个问题

第五点,技术问题,如果你包到银行这种地方,那肯定是老技术,如果你包到互联网,那技术确实新,但也有可能特别杂,杂到什么程度,你为了启动项目肯定要设置n个地方,才能勉强开启

虽然毕业就在互联网公司工作,但在校期间接过一些外包,谈下两种工作的感受吧。

外包

外包项目有一个很大的特点,就是很多项目,都是从零到一

有一个简单的好处,就是你的项目没有历史负担,即没有所谓的技术债,一切由你设计开发。

但是这个好处也是一个坏处,就是没有技术积累。每个项目,几乎都是从零开始,你不断地在你有限的经验内,不断简陋地对外输出,缺乏成熟的技术输入,对个人而言,很难提升个人的技术深度

互联网

互联网项目有一个很大的特点,就是项目在线上平稳运行多年,拥有大量用户,也就拥有所谓的高并发、高可用等技术理念。

这好处是很明显的,就是你可以从中学到很多成熟的技术,了解一个大型的互联网项目是如何构建的,写出的每一行代码,都会考虑各种线程安全、高性能方面的问题,即代码的健壮性。

而缺点也是有的,就是项目可能有很多的技术债,前人可能为赶排期,遗留了一些历史问题,当你接手的时候,就需要很强大的心里素质了,否则很容易崩溃。但你能解决前人的留下问题,也是技术的一个挑战,或者说技术的一个积累吧。

最后

以上两种工作内容一对比,相信读者心中已有答案了,能去互联网公司工作,就优先考虑互联网公司的吧。

如何从零开始学习Java

如果你是有点C语言基础,学习Java难度不那么大,毕竟语言是相通的,算法思想是可以借鉴的;如果你一点c语言基础都没有,也不是理工科生,那么学习Java的难度会稍大点,不过也不要放弃,语言是和计算机对话的一个工具,并没有想象的那么难。

首先你要学习Java基础知识,包括Java基础介绍,基础语法,Java面向对象思想,继承多态,覆盖,接口,包,异常等,能根据基础知识写简单的程序;其次,就是学习Java高级编程,包括Java数据结构,***,泛型,序列化,网络编程多线程等等;再次,要学习Java数据编程,mysql,oracle,redis等。

有了基础的学习,还得实践,自己可以开发一个小的项目,纯Java应用程序也可以,体验Java开发的小成果。

接下来是对Java开源流行技术的学习,包括spring基础,spring mvc,spring boot,netty,以及现在流行的微服务cloud开发,有机会还是下载源码拜读一下,学习人家的思想和技术。

没事多去权威网站了解技术动态,拜读别人的技术文档,比如开源中国,码云,csdn, github等,也可以创建自己的账号总结自己学习心得,发布自己学习成果,只要平时要多动手,勤动脑,Java只是一门语言,并没有很难,只要功夫深,相信自己,不断提高自己,肯定能成功。

1. 了解Java的运行环境。搞清楚path和classpath是干什么的,怎么命令行进行编译执行。知道IDE的各个按钮后面真正发生了什么事情。

2. 掌握Java的语法。搞清楚包,接口,类,继承这些基本概念。掌握多态,overwrite,死背下IO的接口,包括InputStream/OutputStream和Writer/Reader,死背下网络编程和GUI编程的接口,死背JDBC接口。这一步,推荐的书是《 Thinking in Java》。

3. 掌握多线程编程。弄明白ConcurrencyHashMap是怎么实现的,搞清楚synchronized是怎么回事,弄明白为什么要有Runnable接口。

4. 在工作中体会一下设计模式。推荐《Java与模式》这本书。看完里面的Decorator,IO接口你再也不会去死记硬背了。用的时候,根据Adaptor和Decorator的命名规则,自己临时推都推得出来。

5. 恶补数据结构。 搞清楚 LinkedList和 ArrayList的实现机制,了解它们的每一个接口的时间复杂度。同样的还有其他容器,Map啊,Set啊,都是一样的。栈,队列,二叉树,图贯穿编程始终,如果这一步你迈不过去,那就只能在低阶程序员里打转。

6. 如果有可能,最好对一些算法设计也有所涉猎。比如动态规则的思路,贪心算法,诸如KMP这种奇妙的算法等。这一步没有数据结构那么重要,学得好当然好,学不好也不用太挫败。

完成这些,基本就可以独立开发了。

到此,以上就是小编对于linux知识学习外包的问题就介绍到这了,希望介绍关于linux知识学习外包的2点解答对大家有用。

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享