欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  与其说这是给想自学软件开发小伙伴梳理的自学路线,还不如说这是一篇软件开发行业的技术路线整理合集。除了帮助小白自学,也可以帮助正在进步或者迷失方向的软件工程师继续向前。
 
  整个自学路线我会不断完善,目的就是让大家少走弯路,建议自学软件开发的小伙伴关注我,不迷路。
 
  很多小伙伴从其他行业转行来做软件开发,或毕业后就选择软件开发工作,在这一路上应该吃了不少苦头,走了不少弯路。
 
  比如:
 
  1:学习资料众多,不知道该怎么选,并且很零散
 
  2:想提升自己的能力,但不知道要学什么?从哪里开始学?
 
  3:遇到困难,没有人来指点一下,经常掉坑里,浪费了很多宝贵的时间!
 
  那么有没有一种清晰的学习路线,就像我们玩游戏点技能树一样,可以看出来我们的发展方向和步骤?
 
  肯定有!
 
  我把这套技能树和技术路线分为八个阶段。
 
  这篇图文先说第一,二阶段。
 
  后续会为想自学软件开发的朋友梳理第三、第四、第五、六七八阶段。所以,大家给个关注,不会迷路。
 
  这八个阶段分别是:
 
  不得不说,在我10多年的软件开发经验中,见到过太多同事,他们由于基础没有打好,造成平常工作中遇到很多“混乱”的问题,比如某个概念搞混引入的BUG,比如编程不规范造成的代码不好维护,比如代码文件管理的混乱等等。
 
  这会大大影响自己的工作效率,学习效率,还错过很多晋升机会,甚至觉得软件开发行业这条路不适合自己走,产生自我怀疑。
 
  其实这都是因为基础没有打好的缘故。所以第一阶段很重要,把基础打牢,后面你的工作或者学习都会变得很轻松,很有体验。
 
  这条技术路线技能树点满,你可以在网络应用软件开发领域横着走,并且找到一份不错的工作。这份工作可以帮你解决生活上的问题,还可以让你有零花钱花。
 
  在软件开发行业里,编程技术的应用其实只是一部分,还有另外一部分知识或者技能是围绕的。你参与的软件规模越大,那么软件开发过程就显得越重要。
 
  你要知道3个人的团队和100人的团队协作是完全不同的概念。
 
  这套技能树就是围绕软件开发过程的,如果你把这套技能树点满,你可以让软件开发过程变得自动化,并且让团队协作变得和谐。
 
  为什么要把这套技能树放在第三阶段呢?因为无论未来你选择哪个软件开发方向,都会需要到这套技能树。
 
  这套技能树点满了,你可以参与开发比如PhotoShop,Xmind,3DMax,Blender等等生产工具的开发。
 
  当然像PhotoShop这样的软件,要开发它除了这些技能树外,网络应用知识、图像图形处理技术这些知识都是要有的。
 
  这套技能树点满后,你可以参与IOSAPP或AndroidAPP的开发。如果同时你把第二阶段和第三阶段的技能树点满了。那么你完全可以自己独立开发一款APP,或者带领一个团队开发APP。
 
  这个时候的你,不是你找工作,而是工作来找你。
 
  这是未来20年比较火热的发展方向,可以参与到很多伟大的项目里面,比如医学的X光片确诊肺部疾病、自动化炒股、自动驾驶领域等。
 
  但这里可能会有个误区,我要说明一下,这条技术路线的知识更多的是关于
 
  人工智能是如何实现的?
 
  我们如何利用人工智能的工具来看待目前我们遇到的问题?
 
  如何通过技术手段把人工智能学习的数据采集起来然后用于训练人工智能?
 
  如何设计机器学习的模型?
 
  等等。
 
  这些技能的学习、理解、到运用是需要时间和实践的。并不像某些广告宣传一样,什么一个月出来就拿年薪60万等等。我曾经面试过一个学生,他说他会谷歌的TF,他知道各种人工智能的算法等,当我抛给他问题时,他就没有思路了。(我抛给他的问题是TF经典例子里面的训练机器人识别手写数字的解决方案)
 
  开发游戏是一个庞大复杂的工程,但现在生产工具发展的很快。如果你能把这条技术路线的技能树点满。你完全可以做一个独立的游戏开发者。国内就有很多成功的独立游戏开发者,他们钱也赚了不少。
 
  同样这条路也是比较艰辛的,做好心理准备。
 
  说白了,这就是软件测试的技能树,软件测试在软件开发领域属于门槛很低,但上限很高的一个职位,任何一个会使用电脑,手机的人都能来做软件测试。
 
  但高端的软件测试,只会电脑操作是远远不够的。
 
  需要懂开发、懂服务器、懂用户心理、懂自动化、懂硬件、懂问题根源的排查等等。其实一个顶端的测试工程师,完全可以胜任一个公司的技术总监。
 
  现在我们就来一起看看这些技术路线
 
  一 先学JAVA是个好的选择
 
  对于软件开发这个领域,找一门合适的编程语言来学习,其实非常重要。选得好你会学习起来很愉快,选不好会一开始就面对各种挫败感。我建议入门的小白,从JAVA语言开始学起,因为:
 
  1 它难度适中:
 
  小白有很多入门编程语言可以选,比如C,C++,Python等等。C,C++和Java语言相比会有很多非常抽象的概念,这些概念对小白一点都不友好,它们非常绕,因为C,C++是更靠近“硬件”的语言。
 
  Python就把这些概念弱化了,因为它是更“靠近”人的语言,好处就是学起来很轻松,不好的地方就是学Python会遗漏很多计算机软件开发和编程的重要概念与名词。
 
  那Java刚好在他们之间,比较适中。
 
  2 学会JAVA后,再去学习C,C#,C++,JavaScrip等类C语言,会变得很轻松:
 
  开发语言有成千上万种。但它们可以分为几大风格,C语言风格,BASIC语言风格,还有它们的混种。
 
  每种风格的开发语言语法,概念,代码结构的管理都非常的类似。所以你学会了JAVA后,再去学习C,C++,JavaScript,C# 等类C语言,你会发现很轻松。
 
  3 JAVA目前的岗位很多:
 
  JAVA由于它在互联网行业里的先行优势,开源,性能不错,加上属于比较“老”的开发语言。所以国内很多政府项目,大企业的项目,还有重量级的产品基本都是基于JAVA语言开发的。这就导致了无论小公司,还是大公司,无论五线城市还是一线城市,都有足够多的JAVA工程师招聘岗位。
 
  关于JAVA的学习资料
 
  网上确实有很多JAVA免费的资料和书籍,但零碎的知识对于初学者建立系统的编程体系是完全不够的,甚至会搞得初学者一头雾水。
 
  但如果你已经掌握了一门编程语言,再利用这些网络上免费的学习资料进行自学,其实是可以的。
 
  但作为一名小白,还是踏踏实实的买一本JAVA方面的书籍,每天拿出90分钟,坚持3个月,扎扎实实的把用JAVA来编写代码的基本功打好。我相信,对于小白来说,不会有比这个还要科学的学习方法了。
 
  下面是重点:
 
  JAVA的书籍很多,我推荐两本,自学任意选择一本就可以。
 
  为什么要推荐这两本书?
 
  因为这两本书里面讲解了很多软件编程需要知道的概念和知识,可能这些概念学起来有点不那么舒服,但这些概念对今后的自学或工作有很大的帮助!
 
  如果你English水品很好,那么可以直接看官方文档
 
  二 如何才算是把基础打牢?
 
  当你把一本编程语言的书看通透,书中的例子都能理解,并且利用官方在线文档,能脱离书本自己写代码的时。恭喜你,你已经准备好入门了。
 
  但是,马上你就会明白
 
  如果只会用一门开发语言编写教科书中的程序,这是远远远远远远不够的,因为它不能帮助你去编写一些很实际的东西,比如一个登陆注册服务接口。
 
  你要明白一个道理,在软件开发行业里,只有掌握了一定的技术积累后,你才能在实际工作中输出,才能解决问题,才能找到工作。
 
  所以,了解不同方向的技术路线是非常重要的,它能让你花更少的时间,花更少的精力去学习,并且让你进步比别人更快。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h60654.shtml