事情是这样的。。。
我上周刚加入到这家新的公司,公司不是以技术为主的但是有在线运营的业务,公司也能挣到一些小钱。
我个人从上家团队出来,算是创业吧,做的类似 e 袋洗的 O2O 干洗项目,技术不难但也不简单,之前用到的技术栈: Rails/Python/Golang/Node ,服务全部采用 Docker 部署。个人认为整体的架构还是比较清晰的,业务也比较顺畅。
现在这家公司呢,代码是用 PHP 写的,用的框架是 Ucenter 混搭 ThinkPHP ,巨大的单体应用,没有任何测试,没有版本控制,开发方式是直接线上修改,文件先从服务器拉下来,然后修改再用 FTP 上传。
看到这个情况我内心是崩溃的,梳理了一周的业务流程之后决定先给代码强行上一波 Git 。然后团队成员(可以说是技术负责人)就开始逼逼了。
这是私聊的讨论:
然后是群聊:
各位看到了,他们在担心安全的问题,可实际上呢,前几天线上的代码被人全部打包走了,他们一点不担心,说自己人都整不明白这些代码。。。
我都快被气昏了。。。
对了,现在整个团队加我,一共 3 个技术。
1
huijiewei 2016-03-24 11:55:58 +08:00
say 88
|
2
UnisandK 2016-03-24 12:06:57 +08:00
你增加了他俩的学习成本,他俩肯定不乐意呗
|
3
Xrong 2016-03-24 12:09:21 +08:00
说难听点就是能用、能赚钱就行,你过去就是个干活的,不喜欢就走,打工就留下!
|
4
bk201 2016-03-24 12:13:17 +08:00
你要推东西肯定要把优点分析到位才行啊,人家凭什么听你说改就改。
话说 3 个人不一起聊,还打字。 |
5
ahcat 2016-03-24 12:16:09 +08:00
你的级别比技术负责人高级吗?
如果是:换掉技术负责人。 如果不是:专心写代码。 |
6
ligyxy 2016-03-24 12:18:01 +08:00
楼主面试的时候不问问对方什么架构么
|
7
yangqi 2016-03-24 12:20:34 +08:00
你应该更多强调 git 是版本控制,不只是代码管理,人家现在的方式管理代码也挺好的,当然觉得没必要换。
另外你应该强调用 VCS ,等这个达成一致了以后再往 git 上面靠。你这么几句什么也没说出来,自己好好想想该怎么说。比如你要向一个毫无技术的人推销 git 你该怎么和他说? |
8
joye1230 2016-03-24 12:22:17 +08:00
适应环境,改变环境,离开这个环境
|
9
wy315700 2016-03-24 12:27:16 +08:00 3
当我年轻的时候,我的想象力从没有受到过限制,我梦想改变这个世界。
当我成熟以后,我发现我不能改变这个世界,我将目光缩短了些,决定只改变我的国家。 当我进入暮年后,我发现我不能改变我的国家,我的最后愿望仅仅是改变一下我的家庭。但是,这也不可能。 当我躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后作为一个榜样,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情。 然后谁知道呢?我甚至可能改变这个世界。 每次有这个想法的时候我总是默默的看一遍这句话。 |
10
Accldent 2016-03-24 12:31:54 +08:00
wocao 俩个字 走人
|
11
dong3580 2016-03-24 12:36:51 +08:00
这样看来,面试要问除了加班强度大么,薪资多少,还要问,你们代码版本控制么?有些面试官会不会萌了。。。 XD
|
12
fwrq41251 2016-03-24 12:38:13 +08:00
三个人聊什么 QQ,面对面讨论一下吧..
|
13
MaiCong 2016-03-24 12:41:19 +08:00 via iPhone
很简单,要么滚要么忍
|
14
chareice OP 很多朋友问到为什么不当面讨论,原因是其中有个伙伴是远程的,人不在,而他,就是这个项目的技术缔造者。。
|
15
feiyuanqiu 2016-03-24 12:47:02 +08:00
@fwrq41251 看截图不像 qq ,应该是钉钉
|
17
chareice OP |
18
SpicyCat 2016-03-24 12:51:58 +08:00
用 git 会泄密?是不是把 git 和 github 搞混了。
|
19
ovear 2016-03-24 12:53:27 +08:00
lz 没有回答对面的问题啊。。
代码安全性问题,如果是多项目,就做权限限制。。数据安全性问题。。用测试数据,不要用线上数据。 至于 git , git 有一堆钩子,稍微做一下,就可以实现很多奇怪的功能,比如说 commit 代码质量检测,自动过测试,自动部署。。出问题了还可以直接回滚。。现在改文件,没有版本控制我看来是 更危险的。 而且假如一个人有多个开发平台,文件不同步不就要 gg 了。。 |
20
9hills 2016-03-24 12:56:22 +08:00 via iPhone
其实很简单,不吃那碗饭不操那份心
这些事情需要老板明确你是技术 leader 后,你自然想怎么搞怎么搞。老板不给你地位你名不正言不顺,你自然很无奈 |
21
sprite0616 2016-03-24 12:59:45 +08:00
3 个人而已,还要什么规范?楼主太天真了。
|
22
am241 2016-03-24 13:00:07 +08:00
消极的说,面向工资编程,需要钱就干着,不需要钱就换一家
|
23
chimingphang 2016-03-24 13:03:35 +08:00
走啊
|
24
Cloudee 2016-03-24 13:05:40 +08:00
我觉得先让你们老板明白 git 和 github 是不一样的。。。。 git 也可以建私有库,也可以搞权限控制,可以拒绝别人修改服务器上的分支历史
用 git 和 svn , cvs 一样,本地都是全套代码的,只是 git 多了本地的代码历史而已 |
25
a591826944 2016-03-24 13:09:22 +08:00
我想问。。。这样的公司 你当初 为什么会考虑去呢。。。。。不解啊
|
26
cxshun 2016-03-24 13:10:26 +08:00
1 、代码权限问题, git 管理好就行。
2 、 git 和 github 是两个不同的东西,自己搭 gitlab 管理就行了。 3 、另外两个人感觉连版本管理这个概念都还搞不清,备份?什么鬼。版本管理工具就是用来做这事的。 如果你是管理他们两个的,直接丢个任务给他们,让他们去做就好,要用 git ,直接说一句就行,爱用不用,反正到时出问题就找对应的人。 如果你不是管理他们的,让老板出马,毕竟要推动一些东西还是要有相应的权利的。 |
27
chareice OP @a591826944 因为给钱。。三线城市给了相对比较高的工资。
|
28
chareice OP @sprite0616 不是天真,这种情况下没法开发。。
|
29
a591826944 2016-03-24 13:16:26 +08:00
@chareice 无言以对。。那就指出他说的错误啊。。什么大公司 都不用 git 什么的。。。谁不用啊。。 哪家大公司 有在服务器上改代码的啊
|
30
tonghuashuai 2016-03-24 13:22:11 +08:00
怎么说呢,首先这个对他来说的新东西增加了他们的学习成本,你要想办法让他们尝到甜头,现在的费事是为了以后的省事。可以自己先用起来,然后遇到问题的时候拿出你的方案来炫一下技,让他们觉得:我擦,这都行,然后他们慢慢就会接受了。
当然,如果你的职位比所谓的技术负责人还要高的话,那就直接下命令让他们执行就好了,情绪问题可以通过沟通解决。 |
31
rubyvector 2016-03-24 13:32:41 +08:00
大炮打蚊子,人家还有 2 个人,别光想着自己爽.能解决问题的是好员工;优化流程,并不一定有就收益,还让同伙跟着改变的,就算了.
本来互联网业务就不是人家正经赚钱的东西.每个人一进来就搞一套,老板得屈死了. 你觉得留就留,看不上人家做事的方式就换吧. |
32
bengol 2016-03-24 13:36:44 +08:00
让他们滚蛋啊
|
33
greatghoul 2016-03-24 13:42:21 +08:00
好奇葩的公司,不过楼主总是在编辑器里打好好字然后截图到聊天里面也好奇葩呀。
以前拿到过一个 ucenter 做的项目,没有版本控制,源代码加上许多许多图片,整个文件夹 500 多 M ,这种项目,怎么拿 git 管理呀, clone 一回就累死了。 |
34
hitmanx 2016-03-24 20:34:31 +08:00
@greatghoul 上G的项目也一样用 git 管理啊,我上家公司和这家公司都是,还全是源码和一些库文件,没有图片之类的。我倒是比较奇怪为啥要经常 clone?
|
35
greatghoul 2016-03-24 22:23:22 +08:00
@hitmanx staging, prod, build 服务器要拉代码,换电脑要 clone ,新同事要 clone ,总避不过呀。。
|
36
magicdawn 2016-03-24 23:45:00 +08:00
不用 git 就可以避免源码泄露么~那研发都看不到代码还怎么研发?
|
37
RihcardLu 2016-03-25 00:08:32 +08:00
如果是之前,我肯定毫无保留、百分百支持 lz 的。
但现在,尽管我还是支持 lz ,但我还是建议多从对方的角度思考问题,然后再去理解、说服对方。 是的,你我都知道 Git 比 FTP 管理代码好了 1w 倍,但你不能强求或默认别人也应该知道。 惯性是很难改变的,学习也是需要成本的,尤其是对 lz 所在这种技术陈旧的公司。 |
38
neoblackcap 2016-03-25 00:34:31 +08:00 1
@greatghoul 这个嘛其实强调 VCS 我觉得就可以了。比如 Google 里是 perforce 为主, Facebook 是 hg 为主。针对你的项目特性可以选择适当的工具。你所遇到的二进制文件大,用 hg , perforce , svn 都能很好地解决。
若是一定要用 git 的话,可以选择 submodule 的功能,将所有二进制文件另外放在一个 repo 里面,需要再 clone 或者 checkout ,那么存代码的库拉去是很快的。当然,项目大了其实肯定会慢,比如拉个 linux 内核什么的,这个是没办法的事情,你不上 VCS 也得拉,不是你拉就是别的同事拉,毕竟谁敢保证明天那份代码不会被误删除。 |
39
just4test 2016-03-25 07:53:08 +08:00
@neoblackcap 请问 hg 怎么处理二进制文件的问题?
|
40
neoblackcap 2016-03-25 10:04:21 +08:00 via iPhone
@just4test 无痛处理,你用户不用管,它会自行优化,不会像 git 一样爆库
|
41
vinsa 2016-03-25 10:07:45 +08:00
1. 推进事情并没有那么容易,虽然以你的角度看似合理的。
2. 不要去挑战习惯,大禹治水的精髓在于诱导。 3. 认知的同步需要先建立信任然后 step by step ,功夫在诗外。 |
42
focux 2016-03-25 10:09:34 +08:00
既然担心安全性,就在一个服务器上搭建 git ,代码都在上面,每个人 ssh 连上去呗。
|
43
konakona 2016-03-25 10:21:46 +08:00
他们还挺“专业”的啊!多沟通下,开个会议在小黑板上科普下,大家技术彭创下。
如果是热爱学习的,那这样的说辞也是可以理解的啊反而变得可爱了。 如果是抵触,就是……-。- say goodbye~ |
44
ifconfig 2016-03-25 10:22:55 +08:00
楼主的公司和我前公司极度相似,也是 ucenter 加各种面向过程代码,用 svn ,不到 2 个月就果断走人,实在是跟那种人呆不下去。。。。
|
45
mengzhuo 2016-03-25 10:23:23 +08:00
naive 啊
能稳定跑的系统最好不要动,这应该是所有老程序的共识啊 |
46
yuriko 2016-03-25 10:26:39 +08:00 1
|
47
mengzhuo 2016-03-25 10:43:15 +08:00
哎呀~刚才图没刷出来,
我就问楼主,你职位比他大么? 大就要求学,抵触就炒了,多简单的事~ 小或者同级的话,你只能更领导要权力,或者和公司说 88 |
49
nozama 2016-03-25 11:35:42 +08:00
总有那么些人,什么都不懂又不愿意学,根据百度一下的只言片语,就一本正经胡说八道起来。
|
50
JamesRuan 2016-03-25 12:11:22 +08:00
可以考虑走人了。
以前在某小公司实习过,人家也就两个人开发,也是 PHP 的,但还配了一个测试,当然也是在测试系统上做的。代码虽然烂,但好歹也是 SVN 的(当年 git 并没有流行)。 |
51
starzhang123 2016-03-25 13:57:56 +08:00
没想到这里发现了熟人。还在犹豫什么呢,成功不是靠一个人而是要靠团队的。
|