JAVA团队开发手册 – 1.环境搭建
写在前面
所有公司最核心的根本就是赚钱 + 实现老板的梦想。
对于IT类技术型公司,最大的成本就是人,可以称之为知识型劳动密集型企业。
对比房地产,模糊的说,产品经理一般就是房地产项目经理,UI就是装修设计师,前端就是装修工,后端就是砌砖工,架构师就是框架设计师。
小的IT外包团队就是建筑队,大的IT外包团队就是建筑公司。
有自己产品的IT公司就是大的房地产公司。
对比完房地产公司,我们可以来看看IT公司的发展和碰到的核心问题。
首先我们抛开销售的问题,一般这个都由一个公司老板决定好了。
如果你是一个技术管理者,但是老板把销售和盈利模式的压力压到了你的头上。
那首先你得问问自己,愿意转型为销售吗?如果愿意,那你得多学习和实践销售方面的知识。
否者的话,那你还是准备好换一家公司吧,人的精力是有限的,专人专事, 不可能所有的事你都能做得来, 马云也不会写代码, 姚劲波还说前端需要会JAVA呢,汗。
那对IT团队来说,碰到最大的问题是什么呢?
对IT团队来说,最大的问题就是团队完成的速度和质量问题了。
比如对小的IT公司最大的问题就是人员有限,一旦核心员工跳槽,如何招聘员工以及新来员工如何快速融入团队进行开发的问题。
对大的IT公司最大的问题就是如何快速扩张团队,在沟通成本指数增长的同时,如何保持同等甚至更高的开发效率的问题。
但凡好一点的的建筑队或者建筑公司,都有自己的建筑标准,比如水泥应该用什么,砖要怎么砌,电线要怎么走位,拖泥的车子每次出去都要过水洗干净轮胎等等。
用一句话来形容的话,这就是标准化的建筑美学,你看上去他每一步都有标准,做得非常专业。
对IT公司来说,可能我们可以叫做标准化的编码美学,落实下去,其实最核心的根本就是企业文化,通俗的讲就是工作习惯和工作氛围(工作标准+人文关怀)。
如果把公司本身看成一件产品,那么应聘者就是用户,如何吸引他们来公司,并快乐高效的工作,以完成公司制定的目标,是每一位管理者需要深入思考和实践的。
在我看来,在吸引应聘者这一块,主要有这么几个点。
- 一是公司有目标,而且能够挣到钱。
- 二是有完善的工作制度和福利体系。
- 三是工作中获取的肯定和完成工作的乐趣。
把大公司当成一个个小的团队/公司来看,推广一套统一的工作习惯,让新来员工快速融入,形成工作和学习的习惯。
这一系列的文章,我打算从几个方面来讲讲以前的经验和制定一些标准。
大概从几个方面来谈一下自己的一些看法,包括但不限于
- 环境搭建
- 代码管理
- 开发流程
- 验收流程
- 上线流程
- 运维流程
- 组建团队
- 团队扩张
- 需求管理
- 薪资体系
- 人员考核
JAVA开发环境搭建
安装Windows7
作为佛系程序员,推荐使用实体的windows来作为日常开发使用,不推荐虚拟机。
主要有几点考虑:
1.界面我喜欢windows,好看
2.对大部分开发人员来说熟悉是个门槛,后期补充人员门槛提高。
(PS.如果使用mac或者ubuntu的确也可以筛选出部分编程高手, 如果有钱的公司可以考虑下)
3.Linux和mac下部分工具的确挺难用的,尤其是拷贝文件、比较文件、设置权限的时候,折腾这些工具的时间还不如我多写点代码
4.发布程序还是用centos,但仅限几条命令而已,正式发布一般还是运维的事情
5.Centos每个程序员还是有必要搭建一个虚拟机的,有钱可以买云,平时自己打包上线测试都在本地就好
硬件配置
- 内存16G以上
- 固态硬盘320G以上
- 宽屏显示器
- 无线键盘、鼠标
硬盘规划
- C盘系统80G
- D盘应用80G (应用统一存放到D:app目录下面)
- E盘项目80G (按公司名称存放,跟SVN保持一致即可)
- F盘虚拟机+软件+资料 80G (30Gcentos虚拟机,20G软件,20G资料)
框架选型
- Spring boot
- Spring cloud
- Redis
- Shiro
- Mybatis
- Mybatis pagehelper
- Thymeleaf
- Mysql
- Vue.js
技术工具选型
- Java
- Maven
- Gradle
- Node.js
- Docker
- Jekins
- Nginx
代码管理工具
- Visual svn server
- git
- TortoiseSVN
开发工具
- Eclipse
- Visual Studio Code
- 微信web开发者工具
- SwitchHosts
- Chrome
- Navicat Premium
- Xshell、Xftp
- Everything
- WPS
- Fireworks
- PhotoShop
- Beyond compare
- 笔记工具 ( 三选一,有道笔记、为知笔记、Edariy )
- Pencil(程序员画原型图用这个最快)
工具上面虽然列了标准,但是主要还是针对没有形成自己的标准的同事,如果有同事自己已经用得很顺手了,可以安装自己喜欢的工具。
但是要注意一点就是,这些工具你都得按标准装好,配置好,说不定就有一天,别的同事到你的电脑上跟你一起调试代码呢?