程序员生涯有感

落笔于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 开发的订单项目。

扫描二维码关注公众号,回复: 13690955 查看本文章

编程语言学了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上,让我学到了很多很多(反正就是多)。

接下来的路

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

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

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

猜你喜欢

转载自juejin.im/post/7068690668666748936