关于转行,关于学习方法的哲学
IT行业是个神奇的行业,尤其是互联网领域。诞生的时间不过区区的二十年,一次又一次的技术红利伴随着一次又一次的大大小小的泡沫实实在在地影响着日常生活。互联网行业天生具有开放性,因为它的本质就是信息共享;一个又一个的行业神话从无到有激励着大家前赴后继,有已经身影淡薄的雅虎,网景,ebay,也有如日中天的google, amazon, facebook。国内也是巨头林立,BAT高高在上,尚未远去的移动互联网创业潮里也诞生了一大批耳熟能详的公司,无所不在的渗入生活的各个角落。
正是由于这个行业的年轻,成长性,和开放性,吸引了大量的资本和创业者的追逐。同样,它的年轻和开放性也让从业者的入行门槛降低,技术日新月异,十年前的技术不一定是最有用的技术,后来者学到的可能正当其时,整个行业也大量稀缺有经验的从业者。所以程序员,新进转行者的比例,在各种技术工种里头应该是首屈一指。就从我现在所在的技术团队来说,七八个人的团队,没有一个科班的CS(Computor Scienece)毕业生,有从建筑行业转行来的,有从数学专业转行来的,有从物理专业转行来的(本人就是物理系毕业生)。有转行四五年的,有转行三四年的,也有不到一年的。但是基本上都算是比较成功的转行者,共性就是:好学。
当然,不得不提,入行需谨慎!没有足够的学习热情还是不要去尝试了,碰到坑可能会让你坚持不下来。
当然,IT这个行业其实非常辛苦,主要理由在于它是需要不断学习的,其他行业学习是为了提高,这个行业学习是为了生存,不学习就得死……我觉得你可以先尝试一下试试看不要盲目地决定,然后报一些奇怪的培训班,浪费钱的……from 知乎
互联网行业的技术从业者干的是手艺活,确实对得起码农这个称谓。何为互联网技术呢?其实我想就是基于万维网的基础架构,用各种形式完成信息共享的技术。对一个外行来说,其实所谓的互联网技术就是通过大大小小的APP,网站来展现信息,刷圈,订外卖,买卖二手房等。所以码农就是要实现这么样的一个又一个的网站和APP。技术一直在更新,但是对于一个刚入行的新手来说,就是掌握一门或者几门编程语言,熟能生巧,去堆上一个又一个的网站或者APP。重点就是 熟能生巧。所以无惧『技术工种』这个名词,无惧『脑力劳动』这个名词,要做的就是掌握一个工具一遍遍的练习,直到能去盖房子,不,能去编程写网站或者APP。所以说,编程是一门实践学科。对于一个新入行的朋友而言,找一个靠谱的教程,跟着教程一点点的练习,熟练到能做出实用的东西来就足够了,最忌讳的是学院派的学习方式去啃大部头,内功不是在开始时候去练习的。
技术学习者在入门对着教程去一点点打怪的时候,可能会碰到各种各样的问题,这时候就要一点点去积累解决问题的能力!这个对未来的职业生涯至关重要。恰恰这一点谈起来太虚,可能每个人都会有适合自己的一套行之有效的方法。于我而言,核心可能就是多思考,多去思考前因后果。要学会去使用搜索引擎,既然编程是个手艺活,各种工程化的问题在你之前可能有无数个人碰到过,也有无数人给出过很多解决方案,所以说互联网行业的开放性也是我们能够实现自学实现转行的一大助力。当然,这里有几点需要提一下:
- 所谓的搜索引擎是指 Google,不是百度,这里有搜索效率的差别,还有作为一个环保主义程序员情怀的差别。当然去使用Google需要翻墙技能,这里就要开始你的学习步伐去探索如何翻墙了。
- 程序员的圈子里有个网站叫 StackOverflow, 里面能找到各式各样的问题回答,隆重推介一下,当然,是英文的。所以这里再强调一下英文的重要性,如果希望以后能获得更广阔的技术视野和追逐最新的技术潮流,英文的读能力必不可少。
- 碰到不懂的时候,可以多去提问学习,每个技术都有自己的论坛类型的线上的圈子,同行的交流是一种非常实用的学习途径, 但是这里就涉及到提问的艺术,说白了,就是能自己看文档搞定的,就不要问了,没有经过自己认真思考查证的去问问题那是叫偷懒,这种人我们喊做 伸手党。
具体技术分类介绍
对于一个典型的网站或者APP,可以把技术分为前端和后端,如何分类的呢,简略说来就是:后端是处理数据的,前端是处理视觉和交互的。对于一个网站或者APP,大部分时候数据是存储在服务器上的,一个你看不到的地方,然后当我们操纵手机APP或者电脑上的网页时候会通过网络和服务器通信,这个时候后端的程序就是负责处理你发送过来的请求给你想要的数据,前端的部分就是网页或者APP的展现,来展示各式各样的图表图片文字等,对你的点击等作出反应。所以对于一般情况而言,后端的技术更着重于逻辑性,模型化的处理好数据,匹配好业务。前端的技术着重于视觉效果设计等。想要详细了解网页的具体流程: 一次完整的HTTP事务是怎样一个过程?。
对于立志于学习前端的同学,可能赶上了一个好时代,随着移动互联网的出现,网络带宽的提高,计算能力的增强,前端在最近这些年飞速发展:
- 前端技术从以前互联网技术的配角变成了和后端技术平起平坐的主角,带宽的提高和个人电脑计算能力的提高让前端可以越来越轻松的展现和实现复杂的交互。
- 前端技术框架正在一日千里的发展,这给了新入行的同学更多的机会,入行就可以接触到工业界的最新技术,不学无术的十年老鸟的经验可能会在新的轮子面前黯然失色。
- 前端技术地位的提高带来了更多的工作机会,带来了更高的薪资待遇。这几年可以说是互联网技术领域的新贵或者说是暴发户吧。招聘网站100offer的报告
开始学习了
开始学习前端技术了,就要谈谈具体的前端技术包含了些啥,我想对于一个入门者,需要的不是一个高大上的技术指南,也不是一部大而全的教科书,而是一个清晰实用的学习路径。如果有兴趣和精力去了解更多,可以看这里:大而全的前端技术栈 以及 浏览器怎么工作的。 一个前端入门者,最避无可避的就是HTML,和CSS,他们的组合就是让我们看到了一个鲜活的网页,所有在浏览器上运行的网页扒开了都是他们组合。同样,这两门技术学习起来也没有那么困难,学习这些技术最好的方案就是看靠谱的文档,照着深入浅出的教程一点点去做,去熟练。作为一个实践者,最需要的就是开始动手:找到你最熟悉的纯文字编辑器,比如window平台上的记事本,Mac平台上的TextEdit,输入以下代码,然后保存为 first.html,记住,文件后缀是html,不是txt之类。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>第一个测试</title> </head> <body> <h1>我的第一个标题 </h1> <p>我的第一个段落 </p> </body> </html>
保存好文件之后,双击打开,或者拖拽到浏览器打开,或者右击选择使用浏览器打开,这个时候就能看到人生中第一个自己制作的网页了。有了第一次的动手经验就开始继续学习了,原则还是一样:多动手!列出教程如下。
HTML:
CSS
学习教程就可以去写自己的网页了,练习到能实现一个相对比较复杂比较实用的网页时候,就可以尝试去找一份真实的IT工作,这里的工作的重要性不是来自于薪资,还是同样的目的,为了在实践中练手,一份真实的工作会大大丰富日常的技术需求,进而拓宽学习范围,也能有个更好的线下技术交流学习机会。
有一些不得不提的拓宽的话题,如果你在写代码,就会需要一个好的简单实用的编辑器,这里推荐一个跨平台的Sublime。工欲善其事,必先利其器,我想花上两个小时学习一下还是值得的。如果需要团队协作,你可能还要学会版本控制, 版本管理里头有个叫做 GIT的东西,当然,这个可以不用一开始就去学习,找工作前得知道或者大致的使用过。
学习了CSS和HTML的基础知识,就可以介绍一下一个叫做 Bootstrap 的东西,能够让你用很少的代码写出实用级别的网站,就像是盖房子帮你搭建好了框架。
当然,如果想要做一个比较成功的UI(Usr Interface)编写者,可能你还可以学习一些设计和图片知识,比如Photoshop,比如scketch。
必须掌握的还有调试工具,这个时候你需要一个Chrome浏览器,调试工具是可以让你很方便的一边修改代码一边查看效果,看这里:Chrome 开发工具。
HTML和CSS的组合可以做出一个网页的样子,但是现实中我们的网页是可以和用户交互变化的,会响应鼠标点下去的一个动作,能够拖拽一些某些区块。这些是怎么实现的呢?那就是Javascript。Javascript本身是这些年前端发展的代名词之一,语言本身的能力范围在不停的扩大,各种框架和新造的轮子让人眼花缭乱,比如React, Angular。这些新的框架各有千秋,也同样给前端新入行这提供了机会,入门之后可以去学习它们,走到前端技术工程领域的前沿。当然,如果我们是初学者,还是推荐从jQuery开始, 比如,jQuery菜鸟教程, 慕课网jQuery基础等。JQuery和Javascript什么关系呢?其实JQuery就是实现了一线功能的javascript,让你用起来更方便,就像Bootstrap和CSS的关系,如果需要打基础,可以再回到javascript去。
基本上对于一个前端入门者而言,掌握了HTML + CSS + Javascript这三剑客可以让你找到一份领薪水的工作了。
okay,说了这么多,只是技术领域的九牛一毛,面对纷繁复杂的技术,也只能说入行需谨慎,但是有了这么多基础教程,实打实的去实践磨练,总结自己的解决问题的方法,已经足够你去找一份薪资。。不太高的工作了,然后。。然后就是你持续学习的欲望,解决问题能力来做决定了,所有提供的这些知识或者教程,可能是粗陋的,可能是不完善的,唯一的目的就是带你入门,让你可以照着去做。那精细的或者完善的,或者更高级的呢?当然就是你带着修炼的能力学习的欲望在实践中自己去寻找了,所谓抛砖引玉吧。祝顺利。