JAVA兼职架构师
在一些小企业或者公司人力不足的时候,经常会出现一个人干多个人的活。开发可能会干架构、测试、运维,一些小项目可能需要一个人完成。我把这些角色合并在一起称之为兼职架构师。
我用我的经历来说说兼职架构师的需要干的事吧。
1.首先,幸运的事情至少我还有一个产品经理,可以给出RoadMap,比如下:
单独项目的唯一好处是,产品经理会给你安排一个大致时间,可以把控一下时间和进度。你也不需要开会,因为就你一个人,不过看过《人月神话》的都知道,1+1有时并不能大于2。当然我们底层功能的版本有人C++的人来支持,这边不叙说了。
first,你拿到roadmap心中需要有个大致安排时间,技术选型,功能组织架构。尽量多思考,花多一点时间去想如何实现比较好,哪些重点功能,哪些列出来可以不需要首先完成的(可以自由安排优先级,一般周末很少需要加班,效率非常高)
second,因为我们测试人少,基本一个月一个小版本(小版本自己测试),一个季度保持一个大版本(大版本有测试帮测)。没有运维,就要考虑到部署人员通俗易懂,一个脚本需要执行所有环境的安排(内网实体机,需要安装包带所有功能,jdk,tomcat,mysql等脚本安装),所以非常考验脚本功底。尽量多想、多测,你也不想实施人员半夜打你电话吧?
at last,你需要geek最新技术,我重构的项目经历过struts2 到spring mvc ,然后到现在最新的spring boot。其间遇到的问题也很多。小企业不仅需要你会后端知识,前端也需要你独立完成。所以前端从jsp,到vm,再到现在的html5,也多多少少的要了解一些。前端框架我们主要能接受mvc模式,backbone.js是当初选型的,后来我们过渡过了react.js。所以你需要多看主流的技术和一些实际的知识,可以为以后技术选型提供帮助,这是架构师的成长之路。

2.我们拿到了RoadMap ,可以选自己画一些图,把主要功能给拎清楚,这样才能让我们更好的完成功能。
2.1 比如我们拿到日志模块,可以先画一个时序图。在时序图中画出大致的功能点(如图功能链路比较长,我建议可以画泳道图,这样比较清楚一些)

2.时序图画完,我们就可以先做出具体的功能逻辑了,画出来就代码写起来比较简单了。

3.有了流程设计图,表设计结构做出来。

4.最后写业务逻辑,定义好接口规范,这样就可以完成了。

总结一下:
在中国的创业型公司或者小企业中,大部分开发人员身兼多职。这样可以使人成长非常快,但提前是需要有良好的技术和全面的应对排查能力,对你进阶架构师有个良好的基础。一句话,不想做架构师的开发,不是一个好开发!一起加油。
JAVA兼职架构师的更多相关文章
- 15套java互联网架构师、高并发、集群、负载均衡、高可用、数据库设计、缓存、性能优化、大型分布式 项目实战视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展 ...
- 【JAVA进阶架构师指南】之四:垃圾回收GC
前言 在[JAVA进阶架构师指南]系列二和三中,我们了解了JVM的内存模型以及类加载机制,其中在内存模型中,我们说到,从线程角度来说,JVM分为线程私有的区域(虚拟机栈/本地方法栈/程序计数器)和 ...
- 图灵学院JAVA互联网架构师专题学习笔记
图灵学院JAVA互联网架构师专题学习笔记 下载链接:链接: https://pan.baidu.com/s/1xbxDzmnQudnYtMt5Ce1ONQ 密码: fbdj如果失效联系v:itit11 ...
- Java互联网架构师系统进阶课程学习 (4)【享学】
Java互联网架构师系统进阶课程学习 (4)[享学] 4.显式锁和AQS 显式锁 Lock接口和核心方法 Lock接口和synchronized的比较 synchronized 代码简洁,Lock ...
- 好好讲一讲,到底什么是Java高级架构师!
一. 什么是架构师 曾经有这么个段子: 甲:我已经应聘到一家中型软件公司了,今天上班的时候,全公司的人都来欢迎我. 乙:羡慕ing,都什么人来了? 甲:CEO.COO.CTO.All of 程序员,还 ...
- JAVA高级架构师基础功:Spring中AOP的两种代理方式:动态代理和CGLIB详解
在spring框架中使用了两种代理方式: 1.JDK自带的动态代理. 2.Spring框架自己提供的CGLIB的方式. 这两种也是Spring框架核心AOP的基础. 在详细讲解上述提到的动态代理和CG ...
- 【JAVA进阶架构师指南】之一:如何进行架构设计
前言 本博客是长篇系列博客,旨在帮助想提升自己,突破技术瓶颈,但又苦于不知道如何进行系统学习从而提升自己的童鞋.笔者假设读者具有3-5年开发经验,java基础扎实,想突破自己的技术瓶颈,成为一位优 ...
- 【JAVA进阶架构师指南】之二:JVM篇
前言 谈到JAVA,就不得不提JVM---JAVA程序员绕不开的话题.也许有童鞋会说,我不懂JVM,但是我一样可以写出JAVA代码,我相信说这种话的童鞋,往往是只有1-3年的初级开发人员,对JAV ...
- 【JAVA进阶架构师指南】之五:JVM性能调优
前言 首先给大家说声对不起,最近属实太忙了,白天上班,晚上加班,回家还要收拾家里,基本每天做完所有事儿都是凌晨一两点了,没有精力再搞其他的了. 好了,进入正题,让我们来聊聊JVM篇最后一个章节 ...
随机推荐
- 【Django入坑之路】Django与Query Ajax的交互
1:Jquery.ajax后端交互数据 $.ajax({ Url: /路由处理/, Type: GET/POST, #传送请求类型 Data: {user: “ XXXX”,pass:”XXXX”}, ...
- oracle Wrap加密
wrap就是一个加密的工具 参数: Iname 输入文件的名称 Oname输出文件的名称 如何加密Oracle中的存储过程,从而在schema下看不到其源码? 软件环境: 1.操作系统:Windows ...
- TIJ——Chapter Four:Controlling Execution
同上一章,本章依然比较简单.基础,因此只是做一些总结性的笔记. 1. 不像C和C++那样(0是假,非零为真),Java不允许用一个数字作为boolean值. 2. C中,为了给变量分配空间,所有变量的 ...
- linux 系统下如何进行用户之间的切换
切换用户的命令是su,su是(switch user)切换用户的缩写.通过su命令,可以从普通用户切换到root用户,也可以从root用户切换到普通用户.从普通用户切换到root用户需要密码(该密码是 ...
- 用GitHub Pages搭了个博客,欢迎来玩~
Welcome to visit my new blog https://luoxiaolei.github.io/ Ps. 后续的blog会优先更新到GitHub Pages上.
- MyBatis动态批量插入、更新Mysql数据库的通用实现方案
一.业务背景 由于需要从A数据库提取大量数据同步到B系统,采用了tomikos+jta进行分布式事务管理,先将系统数据源切换到数据提供方,将需要同步的数据查询出来,然后再将系统数据源切换到数据接收方, ...
- android完美的退出方法
http://blog.csdn.net/get123/article/details/9001214
- C++2:函数与传递
C++2:函数与传递 赵强 201831061427 目录 一.函数 二.函数重载 三.值传递 四.地址传递 五.递归函数 一.函数 我们在代码编译中常常会用到函数,函数是模块 ...
- ntelliJ IDEA2017 + tomcat 即改即生效 实现热部署
1.点击idea中tomcat设置 2.点击deployment查看Deploy at the server startup 中tomcat每次所运行的包是 xxxx:war 还是其他,如果是xxxx ...
- react 问题记录
1.控制台报错: Uncaught Error: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be add ...