# 关于培训机构 (一)
14 年 5 月份来北京参加培训,当时我去的线下培训机构是 "智能社"(zhinengshe.com 现在已经关门了),
同期还有比较热门的培训机构是 "妙味课堂"(miaov.com). 目前这两家已经转为线上课或者直播课了.
目前不太清楚还有什么比较靠谱的培训机构,进入眼球比较多的是 "珠峰培训"(zhufengpeixun.cn),
但是我不太清楚课程质量.
# 关于网页开发 (一 程序员 - 我的职业)
以上三家是专门的前端开发培训机构,开发人员 (程序员) 可以分为很多种,下面会进行介绍.
我所从事的前端开发可以简单理解为网站的样式开发。此工作一般情况下不包含 (1) 设计网站,
以及 (2) 生成网站上展示的数据。但前端开发的工作就是将这两部分加工成浏览器能用的东西.
比如:
<button | |
style="background:pink;border-radius:4px" | |
onclick="alert('弹出一些内容')" | |
>按钮<button> |
以上代码展示了一个按钮
- 其中
style="background:pink;border-radius:4px"
这段语义来自设计师产出的设计图 (
按钮背景色是粉色的,有四个像素的圆角,此处意义不重要只是举例). 一般是用 photoshop 之类的软件做出来的. - 而
onClick="alert('弹出一些内容')"
中的文字弹出一些内容
有可能来自另一类程序员后端开发,
他们会负责提供这些内容.
# 开发人员分类
是的,程序员有很多种。所以大概梳理一下目前的分类.
|- 客户端开发 (前端开发)
| |- 硬件开发 传感器,电路板,单片机,物联网设备,智能音箱,手机,电脑 .etc
| |- 网页开发 购物网站的页面,网页游戏,公司的后台管理系统的页面部分 .etc
| |- iOS/Android 购物网站的APP,手机游戏, 手机版公司的后台管理系统 .etc
| |- 游戏开发 手机游戏,电脑游戏
|
|- 服务端开发 (后端开发)
| |- 云计算开发 读写数据库的数据,管理公司内部数据,为前端提供数据支持, 使用各种数据库, 数据读写性能 .etc
| |- 人工智能开发 主要通过建立,训练数学模型识别行为模式. 无人驾驶,推荐算法,游戏AI .etc
| |- 运维开发 维护保养公司各种系统. 保障公司各种软硬件正常运行. 容器技术 .etc
| |
...
从不同角度会有很多种分法,而且不同的开发可能会有相互重叠的部分,你同时有可能成为 云计算开发 + 网页开发
.人工智能开发 + 游戏开发
。而这里只是从入行的角度进行分类.
关于职业分类,整个生产线的上下游还有一些其他职业.
- 销售
- 运营
- 产品运营
- 游戏运营
- 公关运营 (微博,公众号 .etc)
- 产品类
- 游戏策划
- 产品经理
- 设计类
- 游戏原画
- 游戏动效
- 软件 UX/UI 设计
- 硬件工业设计
等等
# 关于职业选择
程序员的工作就是写代码驱动事物运行。是需要耐心的职业,因为事物本身一般不会主动告诉你出了什么问题.
(需要多大的耐心,就像我这样,为了解答邻居的问题写了这篇文章) 编程工作的大部分内容就是:
从 5 种可能的代码中试出 1 种或几种解决方案 (有时会试到半夜两三点). 而那些比较华丽的东西,比如无人机在天上翻跟头,无人驾驶汽车漂移,游戏或网页上夸张的特效,使用各种流行的新技术。这些占我们职业生涯中的比例少之又少,并不是核心的工作内容。
另外编程知识更新很快,如果你想一直有稳定的工作机会,你可能需要一直学习下去。这是一个非常磨人的工作.
做时间久了你就会变得很谦逊,如果你看到一个做技术的总是夸夸其谈: "这个很简单,那个很容易". 那他就是个新手 (或者销售).
- 如果你仍觉得有趣,就可以在上面的列表中找一个感兴趣的去了解一下.
- 如果你是为了快速赚钱 (这没毛病,但比这赚钱
的工作可能更多), 可能硬件开发,服务端开发平均工资会高一些。还要注意选择行业,不同行业对各个种类的开发人员重视程度不一样,
收入从高到低大概的曲线是下面这样
人工智能 > 硬件开发 > 云计算开发 > 游戏开发,运维开发 > iOS, Android, 网页开发
不要听信别人说: " 如果你精通了网页开发照样能和人工智能开发拿一样的工资 ". 这句话的前提是,你已经是一个前端开发了 (比如我,抹泪). 因为有时间不如去精通人工智能开发。反正都是为了赚钱.
交互设计,工业设计,客户端开发技术在提高产值的方面的作用显而易见。但是目前中国大部分公司没有这样的战略眼光.
它们喜欢跟着大公司走,喜欢追求商业模式,规模化,大批量,快速变现 (所以我们现在是世界工厂而不是世界工坊).
在国内选择这些前岗位多考虑。另外国内互联网公司一般都是开放式办公,好几十人都坐在大厅里,一排一排的,
有的时候吵起来基本和菜市场一样。我觉得这一点很重要所以提一下.
# 关于工作
工作就是帮公司赚钱,然后公司扣除运营的费用后再分给你。可以发现,工作只是其中一种赚钱模式。你还可以尝试投资,倒卖,办学校,创作文学作品等其他模式赚钱。工作是细粒度的分工,可以更好的考量生产力。我的生产力是 500, 就会拿到 500. 所以在工作中考虑问题时不要考虑太多形式问题,挣钱和省钱是核心点。抓住它们。这不一定能帮你升职加薪,但这经常帮助我解决工作中的难题:比如,老板的画的饼是真是假,如何进行技术选型,干多点还是干少点,搬砖还是不搬砖等等.
# 关于网页开发 (二)
由于上面的种种原因,网页开发 (前端开发) 目前的发展方向是全栈开发 (可以理解为 云计算开发 + 网页开发
),
甚至有时你可能需要承担设计和产品经理的角色.
# 关于培训机构 (二)
所以说了这么多,还是有人要干前端开发的话,并且类似职业编程经验的话。建议至少脱产半年时间学习。学习能力差的话报个培训班省时省力 (比如我), 前端知识体系相当复杂。但根据公司的业务不同,很多技术细节都可以
简单带过,量力而行。大致的学习路线如下,括号内是涉及到的名词:
基础:
- 网页的各种静态效果如何实现 (Photoshop, HTML, CSS)
- 各种静态效果的兼容性实现 (浏览器,HTML, CSS)
- 动态效果的实现 (JavaScript, HTML-DOM, CSS-CSSOM 设计模式)
- 动态效果的兼容与优化 (JavaScript, 浏览器 - BOM, 计算机原理)
- 数据收发与表现 (网络通讯,设计模式)
提高:
- 熟练专业领域的 API
- 针对不同场景积累不同的技术选型
- 找到适合自己的开发模式 (工具,环境), 积累技术细节,把你遇到的麻烦事都记下来,这一点对前端很重要,
前端开发闭环最后一环是视觉还原,调试特别困难,不像其他类型的开发有数据校准结果.
再之后就是职业规划了,可能成为技术专家,也可能转为技术经理,产品经理,也可能成为 CEO. 这些不在我的能力范畴了.
附上一些学习网站,可以先尝试看一看。如果感兴趣再进一步学习,
- MDN
- 优达学城
- 宁浩网
熟能生巧,以上