# 关于培训机构 (一)

14 年 5 月份来北京参加培训,当时我去的线下培训机构是 "智能社"(zhinengshe.com 现在已经关门了),
同期还有比较热门的培训机构是 "妙味课堂"(miaov.com). 目前这两家已经转为线上课或者直播课了.

目前不太清楚还有什么比较靠谱的培训机构,进入眼球比较多的是 "珠峰培训"(zhufengpeixun.cn),
但是我不太清楚课程质量.

# 关于网页开发 (一 程序员 - 我的职业)

以上三家是专门的前端开发培训机构,开发人员 (程序员) 可以分为很多种,下面会进行介绍.

我所从事的前端开发可以简单理解为网站的样式开发。此工作一般情况下不包含 (1) 设计网站,
以及 (2) 生成网站上展示的数据。但前端开发的工作就是将这两部分加工成浏览器能用的东西.

比如:

<button 
  style="background:pink;border-radius:4px" 
  onclick="alert('弹出一些内容')"
>按钮<button>

以上代码展示了一个按钮

  1. 其中 style="background:pink;border-radius:4px" 这段语义来自设计师产出的设计图 (
    按钮背景色是粉色的,有四个像素的圆角,此处意义不重要只是举例). 一般是用 photoshop 之类的软件做出来的.
  2. onClick="alert('弹出一些内容')" 中的文字 弹出一些内容 有可能来自另一类程序员后端开发
    他们会负责提供这些内容.

# 开发人员分类

是的,程序员有很多种。所以大概梳理一下目前的分类.

|- 客户端开发 (前端开发)
|   |- 硬件开发        传感器,电路板,单片机,物联网设备,智能音箱,手机,电脑 .etc
|   |- 网页开发        购物网站的页面,网页游戏,公司的后台管理系统的页面部分 .etc
|   |- iOS/Android    购物网站的APP,手机游戏, 手机版公司的后台管理系统 .etc
|   |- 游戏开发        手机游戏,电脑游戏
|
|- 服务端开发 (后端开发)
|   |- 云计算开发      读写数据库的数据,管理公司内部数据,为前端提供数据支持, 使用各种数据库, 数据读写性能 .etc
|   |- 人工智能开发     主要通过建立,训练数学模型识别行为模式. 无人驾驶,推荐算法,游戏AI .etc
|   |- 运维开发        维护保养公司各种系统. 保障公司各种软硬件正常运行. 容器技术 .etc
|   |                 
...

从不同角度会有很多种分法,而且不同的开发可能会有相互重叠的部分,你同时有可能成为 云计算开发 + 网页开发 .
人工智能开发 + 游戏开发 。而这里只是从入行的角度进行分类.

关于职业分类,整个生产线的上下游还有一些其他职业.

  • 销售
  • 运营
    • 产品运营
    • 游戏运营
    • 公关运营 (微博,公众号 .etc)
  • 产品类
    • 游戏策划
    • 产品经理
  • 设计类
    • 游戏原画
    • 游戏动效
    • 软件 UX/UI 设计
    • 硬件工业设计

等等

# 关于职业选择

程序员的工作就是写代码驱动事物运行。是需要耐心的职业,因为事物本身一般不会主动告诉你出了什么问题.
(需要多大的耐心,就像我这样,为了解答邻居的问题写了这篇文章) 编程工作的大部分内容就是:
从 5 种可能的代码中试出 1 种或几种解决方案 (有时会试到半夜两三点). 而那些比较华丽的东西,比如无人机在天上翻跟头,无人驾驶汽车漂移,游戏或网页上夸张的特效,使用各种流行的新技术。这些占我们职业生涯中的比例少之又少,并不是核心的工作内容。

另外编程知识更新很快,如果你想一直有稳定的工作机会,你可能需要一直学习下去。这是一个非常磨人的工作.
做时间久了你就会变得很谦逊,如果你看到一个做技术的总是夸夸其谈: "这个很简单,那个很容易". 那他就是个新手 (或者销售).

  • 如果你仍觉得有趣,就可以在上面的列表中找一个感兴趣的去了解一下.
  • 如果你是为了快速赚钱 (这没毛病,但比这赚钱
    的工作可能更多), 可能硬件开发,服务端开发平均工资会高一些。还要注意选择行业,不同行业对各个种类的开发人员重视程度不一样,
    收入从高到低大概的曲线是下面这样

人工智能 > 硬件开发 > 云计算开发 > 游戏开发,运维开发 > iOS, Android, 网页开发

不要听信别人说: " 如果你精通网页开发照样能和人工智能开发拿一样的工资 ". 这句话的前提是,你已经是一个前端开发了 (比如我,抹泪). 因为有时间不如去精通人工智能开发。反正都是为了赚钱.

交互设计,工业设计,客户端开发技术在提高产值的方面的作用显而易见。但是目前中国大部分公司没有这样的战略眼光.

它们喜欢跟着大公司走,喜欢追求商业模式,规模化,大批量,快速变现 (所以我们现在是世界工厂而不是世界工坊).
在国内选择这些前岗位多考虑。另外国内互联网公司一般都是开放式办公,好几十人都坐在大厅里,一排一排的,
有的时候吵起来基本和菜市场一样。我觉得这一点很重要所以提一下.

# 关于工作

工作就是帮公司赚钱,然后公司扣除运营的费用后再分给你。可以发现,工作只是其中一种赚钱模式。你还可以尝试投资,倒卖,办学校,创作文学作品等其他模式赚钱。工作是细粒度的分工,可以更好的考量生产力。我的生产力是 500, 就会拿到 500. 所以在工作中考虑问题时不要考虑太多形式问题,挣钱和省钱是核心点。抓住它们。这不一定能帮你升职加薪,但这经常帮助我解决工作中的难题:比如,老板的画的饼是真是假,如何进行技术选型,干多点还是干少点,搬砖还是不搬砖等等.

# 关于网页开发 (二)

由于上面的种种原因,网页开发 (前端开发) 目前的发展方向是全栈开发 (可以理解为 云计算开发 + 网页开发 ),
甚至有时你可能需要承担设计和产品经理的角色.

# 关于培训机构 (二)

所以说了这么多,还是有人要干前端开发的话,并且类似职业编程经验的话。建议至少脱产半年时间学习。学习能力差的话报个培训班省时省力 (比如我), 前端知识体系相当复杂。但根据公司的业务不同,很多技术细节都可以
简单带过,量力而行。大致的学习路线如下,括号内是涉及到的名词:

基础:

  1. 网页的各种静态效果如何实现 (Photoshop, HTML, CSS)
  2. 各种静态效果的兼容性实现 (浏览器,HTML, CSS)
  3. 动态效果的实现 (JavaScript, HTML-DOM, CSS-CSSOM 设计模式)
  4. 动态效果的兼容与优化 (JavaScript, 浏览器 - BOM, 计算机原理)
  5. 数据收发与表现 (网络通讯,设计模式)

提高:

  1. 熟练专业领域的 API
  2. 针对不同场景积累不同的技术选型
  3. 找到适合自己的开发模式 (工具,环境), 积累技术细节,把你遇到的麻烦事都记下来,这一点对前端很重要,
    前端开发闭环最后一环是视觉还原,调试特别困难,不像其他类型的开发有数据校准结果.

再之后就是职业规划了,可能成为技术专家,也可能转为技术经理,产品经理,也可能成为 CEO. 这些不在我的能力范畴了.

附上一些学习网站,可以先尝试看一看。如果感兴趣再进一步学习,

  • MDN
  • 优达学城
  • 宁浩网

熟能生巧,以上

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

不会游泳 微信支付

微信支付

不会游泳 支付宝

支付宝

不会游泳 贝宝

贝宝