首先这篇文章不等于”2020年总结”,因为2020年还没有完全结束,还有近两个多月的时间。通常来说,我的2020年总结会在2021年初以及2020年末写的,内容格式都是今年计划完成情况+来年计划制定等。
国庆假期游山玩水了四五天,该玩的都玩了,没玩的,等有时间了再计划。
每年在某个特定的时候,总感觉要写些什么东西。
就像在2018年的时候,感触非常深,写下了这篇作为程序员的思考与反省,
再然后创业公司近两年的经历,写下了这么几篇关键性的文章(对于我挺关键的):
创业公司这两年
致所有的开发者们
如何成为一名全栈开发工程师
谈谈在创业公司的几点感触
至于其它关于技术方面的,感兴趣的,可以在我这个博客地址上搜索:
https://www.cnblogs.com/youcong/
我的文笔并不那么好,有的时候写起来有点题内不符合(标题和内容不一样,当然了,我也尝试过不断改进,还是有效果的),但都是我的真情实感的流露和一些痛定思痛的经历。
前文稍微啰嗦了一些,接下来进入正题:
记得在第一家公司的时候,我的技术栈是单薄的,就会前端(写一些简单的HTML、CSS、javascript等),再加主攻Java后端(Spring+SpringMVC+MyBatis+JSP),再加数据库(MySQL)。
基本上能干一些活,但这些活又不能太核心关键,太核心关键的写不了。
那个时候我的思维比较狭隘,信奉”唯技术论”(技术高于业务,技术高于一切),那个时候之所以如此,关键在于接触的太少,经历的太少。
第一家公司是一家外包公司,专做CRM、ERP等之类的解决方案。在这家公司我做过运维、测试、项目实施等(其实间接也为我在第二家公司,也就是创业公司做准备)。那个时候,在我眼里还是技术始终是第一位(只想埋头弄技术写代码,其它都不管)。
而后来到创业公司后,这个时候,全栈就是我的目标,因为创业公司资金有限,各方面都不是很完善,一个人常常身兼多职,就拿开发人员为例,我是做Java后端开发的,但在创业公司就要求我必须会写前端,再然后,项目第一个版本发布,为了确保领导试用时不出差错,这个时候我们编写好测试用例,然后按照业务流程一个个功能性测试和业务性测试,再然后发布到公网环境对外开放(实际是对老板那边的员工开放,让其体验使用)。
在创业公司,我是开发、运维、测试、产品都做。但仍然有所偏重,技术仍然是第一位的,对于我来说,技术是产品的基石,没有技术,产品仅仅是蓝图(其实后来想想,并非如此,业务才是基础(包含商业模式等)->产品蓝图或原型->技术手段实现)。
在创业公司我做过物联网平台(智能酒店、智能门锁、共享洗浴间等)、电商二次开发(类似淘宝、京东)、教育产品(编程教育为主)等三个领域的项目,除了教育产品稍有起色之外,其它全部死掉了。那个时候对我的打击很大(不仅仅是我,整个团队的士气也很低下,大家对未来一切迷茫),一年零九个月的时间,没有一个项目(除教育项目外)真正的实现盈利(盈利也意味着成功验证商业模式的可行性)。
最初的时候,哪怕我身兼多职,我给自己的定位仍然是一名埋头写代码的程序员,而非产品的创造者(从产品的创造者角度来看,一方面如何让产品更完善,另外一方面如何更好的提高用户粘性,这需要不断思考和实践)。于是我放弃了对产品的思考,那个时候我觉得这是高层的事情(领导的事情),与我无关,拿一份工资,干一份活(更何况做这么多事情,还只拿一份工资)(大家可以思考这个问题,接下来下面的内容的可能会给出答案)。
再回到这个主题来,“我对技术的思考核心两点”:
1. 业务是基础,产品是蓝图,而技术是将蓝图变成现实的手段;
2. 技术的本质在于解决问题(回顾人类历史,很多技术创新发明都是在某个领域解决了什么样的问题,或者是在多个领域解决类似的问题)。
经过三家关键性公司的磨练,更加坚定了上述两点(因为这两点,让一家创业公司(前教育saas公司)从弱小走向强大(年盈利几十万几百万到上千万,有上市的潜力),也让一家公司从有到无,从无到有,危机重重)。
因为上述列出的核心两点(我对技术的思考):
使我不再刻意的去追求新的技术,当然了,作为一名技术工程师而言,我会不断去学习新的技术,学习新的思想和理念。但在学习的过程中,我不再像过去那样,因为学习一个新技术,就觉得自己很牛逼,沾沾自喜,似乎超过了N多人,我会更关注新技术优点特性(适应的业务场景是什么)、缺点(没有技术是完美的,都有缺点(包含局限性)、设计理念和思想等。