如果单从兴趣来看,其实我对Linux内核,Android中间件的兴趣要高于WEB,何况还有这么多年的经验积累,何必从头探索一个新的技术方向呢?
    这里面原因是很多的,最核心的大概是以下4个点:
    1、当我看到Linux引入DTS解决板级配置硬编码,看到Android的Makefile写得如此灵活,看到git在管理大型工程上的优势 ,看到Linux的音频驱动框架写得如此优雅,看到Cortex创新性的硬件架构,甚至于看到我自己花了几个月在音频通讯算法取得一点小成就,都会醉心不已。我总是羡慕那些引入良好设计的天才们,衷心希望能一天天向他们靠近。
    可是事与愿违,虽然我越来越熟悉如何做出符合公司要求的产品,对于产品的理解也越来越好,但是技术上非但没有进步,反而一直在退步。大量的维护工作和重复开发耗尽了我几乎全部精力,如果你在这个行业,那么应该更能体会到,操作系统这一层及以下的工作,由于会导致性能问题没法像应用层那样直观地引用比较先进的软件设计模式,代码没写好更容易导致重复开发和后期的大量维护。
    实际上我认为我们的软件开发模式仍然处在远古时代(难以想像我在5年前已经开始用git管理我的所有代码,而直到离职时却还需要在工作中用vss配合别人工作),有一天我想通了这个问题:这其实是由公司的业务决定的,尽管是IT公司,但是由于产品技术复杂度太低,解决这些业务问题对能力要求实在太低,以致于对技术提升并没有多少帮助,也很难产生良好的技术氛围。
    在我毕业的时候,我希望可以靠兴趣工作顺便赚钱,实际上我也这么做了,而在这两年我却越来越焦虑,我发现自己正一步步变成为了赚钱而工作。那么换一家公司吧?找一家让我可以安心研究内核和拿高薪的技术型公司,在福州这地方其概率并不比当一个自由职业者高多少,可控性更低,于是就先尽量做自由职业者了;
    2、当一个自由职业者,就需要能够独立提供完整的服务,如果其他人不配合或配合不给力我就干不成事那我当不成自由职业者,只有做应用是最满足这个条件的。
    与之相比,嵌入式开发的要害恰恰在于离市场太远,就算有技术,没有产线、硬件、结构、应用的一系列配合,很难做成一件事,我唯一想到能独立完成的就是找一家培训机构,是把自己的嵌入式开发技术教给别人作为起点,而正如上篇所提到的,正好有WEB项目进来,就走上了WEB路线。
    3、而选择WEB应用而不是手机应用,是我对WEB开发本来就有兴趣,用它做过几个小网站;第二方面我十分厌倦不同平台要用不同的语言不同的开发包的模式,重复学习成本太高。PC跨平台要Qt,Gtk,而Android要Java,而iOS要ObjectC,时间一定会被语言、库、框架的熟悉给耗尽;第三方面是这几年WEB开发,特别是WEB前端的发展一年比一年猛,这主要得益于移动互联网的迅猛发展(2016年github stars数最多项目几乎清一色是WEB相关)。感兴趣的东西正在风口上,此时不进,更待何时?
    4、我认为嵌入式开发在HARD模式,而WEB开发则在Easy模式,至多Medium模式,从难到易,为什么不尝试下呢?
    于是,在后面几个月里,我走上了一条全新的技术路线——成了WEB开发的全栈工程师。

IT自由职业者的第一个月(下)——为什么放弃5年嵌入式驱动开发转到WEB开发?的更多相关文章

  1. IT自由职业者的第一个月(上)——何去何从

         2016年8月11号,我终于走完所有流程,拿到了离职证明,5年的嵌入式驱动开发工程师的职业生涯就此结束.走离职流程期间,陆续有同事和朋友问我,离职后去哪儿,我都是告诉他们:“还没想好,离了再 ...

  2. 机器学习英雄访谈录之 DL 自由职业者:Tuatini Godard

    目录 机器学习英雄访谈录之 DL 自由职业者:Tuatini Godard 正文 对我的启发 机器学习英雄访谈录之 DL 自由职业者:Tuatini Godard Sanyam Bhutani 是 M ...

  3. Matrix67|自由职业者,数学爱好者

    Matrix67|自由职业者,数学爱好者 介绍一下你自己和所做的工作. 我叫顾森,网名 Matrix67,长住北京的重庆人,目前没有固定的职业.一会儿当当码农,一会儿做做编辑,一会儿教教数学,一会儿写 ...

  4. Denny Zhang:一辈子做一个自由职业者

    程序猿訪谈录供稿 Denny是一个旅居美国的自由职业者,这是一份让人羡慕的职业,选择这个职业意味着他已经实现某种程度上的经济自由,能够最大限度的做自己喜欢的事情,对他来说,选择自由职业作为自己终生的事 ...

  5. 多测师讲解第一个月 _综合面试题_高级讲师肖sir

    第一个月综合面试题 1.  冒烟测试是什么意思?  对主要的用例测试 2.你们公司的项目流程是什么? 3.你们公司的bug分几个级别?  4个 4.你对外键是怎么理解的? 你会使用外键吗?给一个表添加 ...

  6. (linux shell)第一章--小试牛刀(下)

    文章来源: (linux shell)第一章--小试牛刀(下) 1.6 数组和关联数组 1.6.1 预备知识 Bash同一时候支持普通数组和关联数组.普通数组仅仅能使用整数作为数组索引,而关联数组能够 ...

  7. python基础练习题(题目 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少)

    day13 --------------------------------------------------------------- 实例021:猴子偷桃 题目 猴子吃桃问题:猴子第一天摘下若干 ...

  8. 调查显示数据分析已取代Web开发成为第一用例

    一项关于Python的开发者调查显示,编程语言现在主要用于数据分析,取代了之前的第一个用例Web开发. 去年秋天,由Python软件基金会和开发人员工具供应商JetBrains进行,2018 Pyth ...

  9. CentOS 6.6下 BCM4312 802.11b/g无线网卡驱动安装

    1.目前www.broadcom.com网站上最新版本为hybrid-v35,但此版本与2.6.32不匹配,无法识别验证密码,搜索网上说是要求升级内核,后根据http://www.dadclab.co ...

随机推荐

  1. scrapy爬虫框架入门实战

    博客 https://www.jianshu.com/p/61911e00abd0 项目源码 https://github.com/ppy2790/jianshu/blob/master/jiansh ...

  2. BlockingCollection 集合随记

    BlockingCollection 集合是一个并发安全的集合,而且设计用来实现类似于消息队列的功能,生产者.消费者模式. static void Main(string[] args) { Bloc ...

  3. for和$.each 的记录

    $.each(ForbidSDT, function (i, obj) { if ($(obj).val() <= 8) { alert("请输入禁止操作开始时间"); $( ...

  4. mysql用户增删改

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @&g ...

  5. nowcoder(牛客网)提高组模拟赛第四场 解题报告

    T1 动态点分治 就是模拟..... 但是没有过!! 看了题解之后发现.... 坑点:有可能 \(x<=r\),但是

  6. linux命令之文件系统管理命令(下)

    1.mount:挂载文件系统 该命令可以将指定的文件系统挂载到指定目录(挂载点),在linux中必须先挂载所有的设备,才能够访问,挂载的目录必须事先存在并且最好为空. 参数 说明 -t(常用) 指定挂 ...

  7. python之爬虫--番外篇(一)进程,线程的初步了解

    整理这番外篇的原因是希望能够让爬虫的朋友更加理解这块内容,因为爬虫爬取数据可能很简单,但是如何高效持久的爬,利用进程,线程,以及异步IO,其实很多人和我一样,故整理此系列番外篇 一.进程 程序并不能单 ...

  8. jqGrid-基础篇

    jqGrid 是一个用来显示网格数据的jQuery插件,通过使用jqGrid可以轻松实现前端页面与后台数据的ajax异步通信.  一.jqGrid特性 基于jquery UI主题,开发者可以根据客户要 ...

  9. scrapy框架post请求发送,五大核心组件,日志等级,请求传参

    一.post请求发送 - 问题:爬虫文件的代码中,我们从来没有手动的对start_urls列表中存储的起始url进行过请求的发送,但是起始url的确是进行了请求的发送,那这是如何实现的呢? - 解答: ...

  10. [web]深入理解Session和Cookie

    一.理解Cookie 由于http是一种无状态的协议,当用户的一次访问结束后,后端的服务器就无法知道下一次来访问的请求是不是上一次的用户了.那么Cookie的作用就是用户通过http访问一个服务器时, ...