离职总结:大公司与小公司的个人体验


离职在即,在准备下一个工作环境的这段时间,忽然有一阵感慨,工作近五年,在这段时间中,体验了两种不同的工作环境:一个规模很大,各种开发体系完备的大公司,另一个(也是目前的)是一个规模 100 人左右的小公司。目前正在准备离职中,对于两种不同的环境,很想评论一些什么,但是由于目前工作年限较低,也没什么资格作什么评论,在这个时间,在这样一个心态下,就给自己留点什么,对于今后彷徨时,给自己一个参考(不说谁好谁坏)。



很多人在买车时担心,车子是好是坏,总是会参考各种论坛的各种评论,近来我也在逛论坛,也在参考其他人的评论,但是好坏参半,究竟如何选择仍然拿不定主意,但是,其中的一条吸引了我的目光:汽车就像是一段路,而大家的口碑就是地图,地图只是一个参考,路好不好走还是要自己走走才知道。


在离职的时候彷徨过,走了之后要找一个怎样的工作,要去一个怎样的公司,要走一个怎样的方向,记得当时很流行的就是去一个小公司拼几年,没有那么多文档,没有那么多流程,你只要编码就好,而且钱多多。


当时真的就觉得,小公司没有这些流程,效率一定会高很多,却不甘心由一个那么大的公司跳到一个只有一间小办公室这样的公司。拿不定主意的时候又想到了北漂,多么流行的一个就业方向,虽然向往,却没有向北京投出一个简历。


后来有一个外企的机会,借着这个机会,也去一趟首都,总不至于在中国这么久却没去过首都,太说不过去了,但是,当我真正坐在会议室里,看着面试官很悠闲的听完我所做过的项目,就结束了面试后,开始感觉到现实的残酷和自身的不足了,北漂适合我么?当我在游北京看到每天的地铁二号线的人山人海时,我放弃了,这里不适合我。是啊,适不适合,不是别人一句话说的算的,还是要亲自体验才能知道是否合适。



流程控制,大公司讲流程,全程 QA 跟随,每一个环节都有很正式的「小仪式」。参与过的一定都很痛苦,QA 怎么那么烦啊,什么事都管,每天的例会,每周的早会,都会有 QA 唠唠叨叨……


而小公司,流程上没那么复杂,开发人员结束开发后,直接用下 U 盘将程序拷过去安装和调试就 OK 了。没有那么多流程上的东西真的很轻松,换来的是我对自己开发的程序没有底。就像我原来的部门朋友在一次聊天时和我感慨道,原来的公司的体系真健全,我现在的公司都没有什么流程上的控制,我做出来的东西都不敢往外发。


是啊,当自己做的软件人命关天时,都会有这种感觉,当然了,我也感觉到了,所以现在我认识到流程的重要性,也在公司没人在意的情况下坚持有流程上的记录,坚持按照以前公司的流程来进行开发(虽然只是有模有样的参考)。流程还是有必要的。


客户源的不同,很随便的做事风格就会有很随便的客户。所以,大公司一般接到的项目都是一些成熟的企业的项目,小公司的客户一般就很随便了。最直接的体会就是,我的第一个项目,在给客户发布版本的时候,Release Note 中的发布程序的格式错误了,每一次发布都应该是单独的,而我将所有的程序版本累计加到了表格中,在连续三个版本后,客户那边就来确认这是怎么回事。而目前给我的感觉就是,我们和客户交流,随便说说,做做,没问题就 OK 了。


以前和客户的沟通是邮件,而每一次的问题都会有邮件伴随确认,而目前呢,只需要 QQ 就 OK 了。一个电话打完也就 OK 了。你随便,客户也就随便了,什么事都没有很好的依据了,想修改什么,就修改什么了,也没办法,我们服务于客户了,我们就是在要饭吃,但是,如果我们太随便,那就真的是要饭的了,在项目上,如果单靠嘴来确定什么,将来是很吃亏的……你都随便了,客户当然更随便了。



开发习惯上的不同,来到小公司最开心的一件事是什么,我写代码不用去管编码规范了。什么控制代码行啊,什么格式啊,统统甩一边。说实在的,原来在大公司里,要完成一个功能很不容易了,更何况还要参照编码规范。但是究竟从什么时候开始关注编码规范的呢,应该是我在看到了一段又 700 多行一个函数的时候吧,没错,700~1000 行的一个函数,去掉注释应该有 700 行左右吧。


当然这一定有他的道理的,开发时间短。当然每个人的开发习惯不同,导致开发习惯不同,能写出 700 行的一个函数应该算是高手了。但是对我可能不太习惯,在今后的开发,无论条件多么宽松,都应该严格要求,不是因为代码多好看,而是今后的维护成本。


如果可以,别在新进入一个公司就承担这个公司的基于 base 的优化与重构。基于此,我比较赞同大公司的经验丰富的熟悉系统的人来带领较聪明或较勤恳地新人来做。而如果让新人赶鸭子上架的方式单独进行这方面的开发,就有点得不偿失了。


如果是从 0 开始开发也许还不错,但是如果基于 base 的,熟悉原代码是一方面,另一方面修改与调试也是一项耗费成本的因素,修改的代码是否能够让老代码正常工作,不是一个小时的调试能检测出来的。


当然,无论大公司还是小公司,研发工作都是一个费力不讨好的工作,你的成绩永远盖不过你的过失。在大公司,我可以用两周的时间去调试别人四周未出结果的研发工作,却在后来因为领导实在等不下去的时候以这么长时间没弄出来而告终,当然,科技这东西就是要短时间出成果的,没有实力就不要随便去担任研发工作。


而基于 base 的小公司式优化与重构,在时间周期短的情况下最好不要去尝试,当然,如果你有足够的实力和足够聪明的脑子,还是要尝试的,出于时间的考虑,boss 一定会希望你在短期熟悉系统,并进行重构和优化,boss 永远是 boss,员工永远要去完成 boss 的命令,这是必然的,无论对错,在短时间的开发周期中,你要灵活……



总结我的这次重构上的失败,完全出于自大,开始有模有样的设计出了一套框架,对于熟悉的部分,当然是重构的有模有样,但是在项目的后期,由于时间的关系,没有时间去熟悉其他部分的功能,得到的命令是把原来的东西拿来用吧,但是你懂的,很随便的程序开发出来,有很多东西是可以通过全局变量来解决的,但是你设计的各种模块对于把老代码整合进来还是有挺大困难……也许是我太笨(就是太笨)。没办法将这样的系统整合在一起,但是我的想法中,如果真的整合在一起,这样似模块又毫无模块可言的东西……真的不如没有。


其实无所谓好与不好,每个人根据自己的工作个性,来寻找适合自己的工作环境。就像在正常情况下,测试和开发是有点敌对的,但是作为体验了测试和开发的工作之后,在测试时我理解开发的固执,在做开发时我也能理解测试的找茬,这样就很好了。都是为了项目能做好,只是出发点不同。


其实仅仅工作了五年就来谈大小公司的区别,只是个人的浅见,离职之际,给自己的五年工作经历作一个总结,没有贬低小公司赞美大公司的意思,也没有讽刺大公司歌颂小公司的意思。就像买车,试驾过多个车型之后,才知道自己到底喜欢什么车,而不是通过论坛的评论就决定的。



总结一下,无论下一次的工作是什么样的环境,都要将经历中的好的方面作参考,不好的方面作警示:

1. 与客户要做到涉及项目要正规,凡是项目上的东西有理有据,一定要有确认。


2. 遵守流程,无论大小项目,有流程上的确认才会有底,流程上别含糊,你含糊的不是客户,含糊的其实是自己。 


3. 程序员更要有文档,你根本不知道你留下的代码会被多少人骂,你也不一定会记得一年前你写的一个函数是什么意思(老掉牙的建议)


4. 不要轻易接受一个研发的项目或者重构的项目,尤其是单兵作战的时候,更何况没实力呢,不要认为自己在一个公司里有了一点实力就很强大了,也不要被领导的信任冲昏了头脑。



来源:程序人生



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java导入导出excel_Java导入导出Excel工具 easyexcel

Java导入导出Excel工具 easyexcel做Java开发的同学,尤其是做管理后台的同学绝大多数都会接触到报表系统,这时候就少不了Excel的导入和导出了。Java解析生成Excel比较有名的有Apache POI ,但是POI存在缺陷就是所有的数据的解析都是在内存中进…

浅谈.Net Core后端单元测试

1. 前言单元测试一直都是"好处大家都知道很多,但是因为种种原因没有实施起来"的一个老大难问题。具体是否应该落地单元测试,以及落地的程度, 每个项目都有自己的情况。本篇为个人认为"如何更好地写单元测试", 即更加偏向实践向中夹杂一些理论的…

图论的各种基本算法

本篇主要涉及到图论的基本算法,不包含有关最大流的内容。图论的大部分算法都是由性质或推论得出来的,想朴素想出来确实不容易。二分图(Is-Bipartite)一个图的所有顶点可以划分成两个子集,使所有的边的入度和出度顶点分别在这两个子集中。这个…

社区 正式发布了跨平台的 CoreWCF 0.1.0 GA

CoreWCF 项目在2021.2.19 正式发布了0.1.0 GA版本:https://github.com/CoreWCF/CoreWCF/releases/tag/v0.1.0 ,这个版本号虽然是0.1,但是它是可以投入生产的版本,而且是跨平台的,支持LInux部署WCF,当前仅支持http 和 n…

Prim 算法及其高效实现

转自:ivy-endhttp://www.ivy-end.com/archives/943背景最小生成树(Minimum Spanning Trees),简称MST。是图论中一个非常重要的概念。解决这个问题有两种算法,今天暂且先来讨论一下Prim Algorithm。不做特别说明&#x…

Silverlight实例教程 - Validation数据验证开篇

说起来Validation验证功能,相信大家都不陌生,在应用中,当需要用户交互输入时,开发人员都会加入一些验证代码,这样可以有效的避免应用异常出现,也可以使应用的错误提示信息清晰明了的显示在客户端&#xff0…

一日一技:微信扫码用户帐号绑定

概述最近在整一个微信扫码用户帐号绑定功能。为了满足用户帐号绑定场景的需要,通过生成用户自己的二维码,用户扫描后,公众号可以接收到事件推送。如下1、用户登录扫码2、绑定成功实现思路扫码绑定账户,其实就是扫描带有用户信息的…

计算机起源的数学思想

人类的历史可以看做一部关于解放的历史。也有这样的说法,懒惰是人类进步的动力。为了偷懒,人类不断的做着各种努力,发明了各种机器工具,将自己从繁重的劳动解放出来,另一方面,每一次大的进步,都…

Redis 通过 RDB 方式进行数据备份与还原

Redis 通过 RDB 方式进行数据备份与还原Intro有的时候我们需要对 Redis 的数据进行迁移,今天介绍一下通过 RDB(快照)文件进行 Redis 数据的备份和还原Redis 持久化Redis 的数据持久化有两种机制,一种是 RDB(Redis Database)&#…

java proguard 使用_一步步教你使用Proguard混淆Java源代码

ava代码很容易被反编译,以下使用proguard来保护我们的代码proguard选项很多,容易迷糊,现在就把我的配置写下来(实际使用中),以供参考2.准备好你的jar包,我在这里举例叫做test.jar。3.解压proguard,执行 bin…

稳定匹配问题——稳定婚姻算法设计

图片源自&#xff1a;美剧《How I met your mother》****本代码带有详细的注释&#xff0c;并在控制台输出时详细地说明了算法的过程&#xff0c;非常有助于新手理解稳定匹配问题和稳定婚姻算法的设计思路。****#include <iostream>using namespace std;bool finish_or_n…

如果诸葛亮用C#写出师表...

❝看到一篇18年的文章 "C版《出师表》"&#xff0c;站长觉得挺有意思的&#xff0c;就用C# 控制台也实现了一遍&#xff0c;技术上没啥难度&#xff0c;但复制代码费了1、2个小时&#xff0c;纯粹无聊写着玩&#xff0c;看者别在意枚举、类名、变量中文命名&#xff…

这16个数据可视化案例,惊艳了全球数据行业

数据可视化可以帮你更容易的解释趋势和统计数据。数据是非常强大的。当然&#xff0c;如果你能真正理解它想告诉你的内容&#xff0c;那它的强大之处就更能体现出来了。通过观察数字和统计数据的转换以获得清晰的结论并不是一件容易的事。必须用一个合乎逻辑的、易于理解的方式…

asp.net core 自定义 Content-Type

asp.net core 实现支持自定义 Content-TypeIntro我们最近有一个原本是内网的服务要上公网&#xff0c;在公网上有一层 Cloudflare 作为网站的公网流量提供者&#xff0c;CloudFlare 会有一层防火墙拦截掉一些非法的请求&#xff0c;我们有一些 API 会提交一些 html 内容&#x…

如何优雅的移植JavaScript组件到Blazor

Blazor作为一个新兴的交互式 Web UI 的框架&#xff0c;有其自身的优缺点&#xff0c;如果现有的 JavaScript 组件能移植到 Blazor&#xff0c;无疑让 Blazor 如虎添翼&#xff0c;本文就介绍一下自己在开发 BulmaRazor 组件库的时&#xff0c;封装现有的 JavaScript 组件的方法…

把握人工智能命脉的有效方法

最近广州的天气老是变幻无常&#xff0c;往往今天还热得要命第二天就寒风瑟瑟&#xff08;如下图&#xff09;&#xff0c;让小天甚是怀念每天艳阳高照的夏天&#xff0c;虽然热了点但好歹不用担心猝不及防地收到寒风暴雨黄色预警。说到夏天&#xff0c;不得不提一下1956年的那…

微软的焦虑?想多了!从.NET6 Preview2到大厂招聘,起飞

看了篇文章叫《从.NET看微软的焦虑》&#xff0c;这里忍不住先吐槽一下&#xff0c;看完不仅毫无收获&#xff0c;而且有一种先起个夺眼球的标题&#xff0c;然后再东拼西凑找证据。讲真的&#xff0c;微软市值基本上等于“阿里腾讯百度”三者之和&#xff0c;居然还焦虑的无法…

TED演讲:区块链将如何改变世界?看完太震撼了!

区块链是什么&#xff1f;如果你不知道&#xff0c;你应该了解&#xff1b;如果你知道&#xff0c;有可能你仍需要了解一些它工作原理。唐泰普斯科特在此使这改变世界、建立信任的科技变得简明易懂。他表示&#xff0c;这就是第二代互联网&#xff0c;将有可能改变我们的金钱、…

re管理器Java_自定义布局管理器-FormLayout

第二部分&#xff1a;自定义布局管理器在java.awt包与javax.swing包下有许多现成的布局类&#xff0c;比如BorderLayout、FlowLayout&#xff0c;还有较为复杂的、用于精确定位的布局类GridBagLayout、SpringLayout等。起初我刚刚从事gooey时(06年中)&#xff0c;企图依靠JDK自…

如何看待 70% 的程序员,缺乏数据结构和算法知识?

金三银四来了&#xff0c;各大厂动静不小&#xff0c;都在储备人才&#xff0c;绝对是程序员面试的黄金时间了&#xff0c;不少同学也在后台反馈面试中遇到的一些问题&#xff0c;所以今天想跟大家说说算法。说起算法&#xff0c;那大厂面试是绝对必考的&#xff0c;可以说是一…