程序员生涯有感

落笔于2022年2月25日晚,距离上次在掘金发文已过去了777天。

2016年6月毕业,2017年中下旬入的行。

第一份工作

刚入行,我所认知的是,jQuery还在大行其道,现时的三大框架偶有听闻。公司的项目也是以 jQuery + 模板来开发的。由于大二有一门课是教前端的,学了一些jQuery,所以养成了jQuery直接操作DOM的思维方式。

好的地方在于,对选择器有很好的了解,不好的地方在于,一直用着 jQuery 封装好的功能,连原生的方法例如 getElementByXXX 和 querySelector 都不知道,遍历数据的方法也在用着 $.foreach 。

庆幸的是,我的爱好是编程,同时这也是我的工作,所以我一直保持着思考。对作为程序员的思考,对编程语言的思考,对第三方库的思考。

这些思考,让我没有因为使用了 jQuery 快速开发业务而开心。而是开始追寻基本的知识。这里感谢一下 讶羽 大佬,看了他的 深入系列 文章,对 javascript 的一些知识有了自己的理解。也感谢掘金和掘友们,那一段时间在掘金上疯狂刷文章增加自己的知识理论。那时候的掘金很多干货,虽然没有现在干,但是也没有现在水。

也因为移动互联网的兴起,随时随地,每当我使用App的时候,我就会去思考背后的逻辑,和呈现出来的界面及交互。(职业病?)

学会了数据驱动视图的思想,跳脱出 jQuery 直接操作DOM的惯性思维。

这份工作,奠定了我的前端基础。对于项目,我要怎么进展我的工作。对于产品的设计和思考。

第二份工作

所处部门非重要部门,开发的也是公司内部的东西。所以比较清闲,有相当多的时间学习。

只做了3个项目。一个 Flutter 开发的 App ,一个是独立负责,从需求到落地的全栈的图纸图书馆项目,一个是用 vue 开发的订单项目。

编程语言学了typescriptdart

数据库学了MySQL,接触了MongoDB,也对 SQLNoSQL 有一点了解,延伸出来的像 储存过程视图KV数据库文档型数据库的概念也或多或少知道。

使用 Flutter 开发了一个 App。

使用 egg 开发服务端,

这时候我的 vue 已经很熟练可以开发业务,当然有一些 API 确实是没用过。尝试学习 React 但不成功。

因为大一就已经在玩 linux 了,虽然比不上职业运维,但也足够我日常使用。例如SSH免密登录,nginx部署,域名解析。

这份工作,我觉得是给自己的技能做了横向扩展。跳出前端开发模式的思维,学到了后台分层的思想,也知道了,编程语言一门通门门通,不一样的地方在于各自的API、写法不一样。框架也如此。

第三份工作

如果说第二份工作是独立开发者的话,那这里便是一个管理者。

手下带了十几个人,前端,后台,测试,UI,C#桌面端都有。

这一份工作也是目前为止职业生涯经验和经历最丰富的。

说真的,除了测试我不知道怎么沟通和怎么工作,前端我会,他们的Java后台我也参与开发,UI也会跟他们交流意见,C#的桌面端我也开发。公司的服务器管理,项目部署和管理,也是我在弄。

东西会的多,做的也多,也许这也是我能在这个位置的原因。

聊聊团队成员组成

学历不重要,重要的是,你是热爱这个事情,而不是因为市场原因来从事这个工作。技术不行可以学,但是态度很难可以改变。

所以我在面试的时候,更多的是对这个人适不适合做,而不是这个人能力强不强。事实证明,我的这个想法是对的。所以他们相处得很好,个人能力都在成长。

聊聊项目规划

其实很多时候都避免不了外行指导内行,虽然很不爽,但是最好的解决办法就是先做好规划,然后去沟通。而不是直接执行,到时候修修补补,程序员会累死,收益也高不起来。

一个新项目,或者一个新功能,作为管理人员,先自己把东西规划计划一下,接着和每个部位的人员讨论,再去决定是否落地。有的人说小公司哪有那么多流程,但是我想说的是,落地过程中的一些流程可以省略,但不代表规划的时候这些流程可以省略。

聊聊角色定位

作为一个管理人员(无论是整体团队,还是项目,产品,前端后台组长),要清晰自己在团队内的定位,这有助于你有效率的,有条理地去工作,怎么去调配资源。

而不是什么事情都因为觉得自己很厉害,别人做不好,然后自己冲前面。

聊聊项目的技术选型

这部分是因为最近看到一个话题,看到了这个回答,虽然感觉有点对不上题,但是 用不用react实际就看自己屁股在哪里 这开始的内容我是赞同的。

我给的技术选型是 React Hooks ,Vue3 。团队内的人因为我的原因,前端都会使用这两个框架。但一段时间下来,确实 React 灵活度太高,每个人写法不一样,代码相对难维护,很吃管理和个人水平,而 Vue 习惯于单文件组件开发,都是一个范式组织代码,没这些问题。

语言有语言的适用场景,像 Go 高并发,Java 生态稳定,Python 敏捷开发。

框架也一样,我对 React 的定义就是用来开发中后台管理系统,第一是生态好,很多组件库都是大厂在维护;第二是灵活,对于企业的复杂需求可以很好的满足。

而 Vue 我会选择用来开发对外业务,例如商城之类的,第一是逻辑模板样式集合在一个文件里,可以很好的满足高定制的外观;第二是敏捷开发,针对 toC 项目是非常需要这一点。

这份工作,前端写得很少,基本上的时间都在C#JavaSQL上,让我学到了很多很多(反正就是多)。

接下来的路

一直以来,我都很少总结,很多东西都是在自己的脑海里,有自己的理解和自己的方式。

但这其实不是一件好事情,因为没有写下来,那会的那些东西就相当于不会。

所以接下来的时间会好好总结。可能会涉及到各个方面的东西,可能是后台的,可能是前端的,可能是产品的。

Guess you like

Origin juejin.im/post/7068690668666748936