在一些小企业或者公司人力不足的时候,经常会出现一个人干多个人的活。开发可能会干架构、测试、运维,一些小项目可能需要一个人完成。我把这些角色合并在一起称之为兼职架构师。

我用我的经历来说说兼职架构师的需要干的事吧。

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兼职架构师的更多相关文章

  1. 15套java互联网架构师、高并发、集群、负载均衡、高可用、数据库设计、缓存、性能优化、大型分布式 项目实战视频教程

    * { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展 ...

  2. 【JAVA进阶架构师指南】之四:垃圾回收GC

    前言   在[JAVA进阶架构师指南]系列二和三中,我们了解了JVM的内存模型以及类加载机制,其中在内存模型中,我们说到,从线程角度来说,JVM分为线程私有的区域(虚拟机栈/本地方法栈/程序计数器)和 ...

  3. 图灵学院JAVA互联网架构师专题学习笔记

    图灵学院JAVA互联网架构师专题学习笔记 下载链接:链接: https://pan.baidu.com/s/1xbxDzmnQudnYtMt5Ce1ONQ 密码: fbdj如果失效联系v:itit11 ...

  4. Java互联网架构师系统进阶课程学习 (4)【享学】

    Java互联网架构师系统进阶课程学习 (4)[享学] 4.显式锁和AQS   显式锁 Lock接口和核心方法 Lock接口和synchronized的比较 synchronized 代码简洁,Lock ...

  5. 好好讲一讲,到底什么是Java高级架构师!

    一. 什么是架构师 曾经有这么个段子: 甲:我已经应聘到一家中型软件公司了,今天上班的时候,全公司的人都来欢迎我. 乙:羡慕ing,都什么人来了? 甲:CEO.COO.CTO.All of 程序员,还 ...

  6. JAVA高级架构师基础功:Spring中AOP的两种代理方式:动态代理和CGLIB详解

    在spring框架中使用了两种代理方式: 1.JDK自带的动态代理. 2.Spring框架自己提供的CGLIB的方式. 这两种也是Spring框架核心AOP的基础. 在详细讲解上述提到的动态代理和CG ...

  7. 【JAVA进阶架构师指南】之一:如何进行架构设计

    前言   本博客是长篇系列博客,旨在帮助想提升自己,突破技术瓶颈,但又苦于不知道如何进行系统学习从而提升自己的童鞋.笔者假设读者具有3-5年开发经验,java基础扎实,想突破自己的技术瓶颈,成为一位优 ...

  8. 【JAVA进阶架构师指南】之二:JVM篇

    前言   谈到JAVA,就不得不提JVM---JAVA程序员绕不开的话题.也许有童鞋会说,我不懂JVM,但是我一样可以写出JAVA代码,我相信说这种话的童鞋,往往是只有1-3年的初级开发人员,对JAV ...

  9. 【JAVA进阶架构师指南】之五:JVM性能调优

    前言   首先给大家说声对不起,最近属实太忙了,白天上班,晚上加班,回家还要收拾家里,基本每天做完所有事儿都是凌晨一两点了,没有精力再搞其他的了.   好了,进入正题,让我们来聊聊JVM篇最后一个章节 ...

随机推荐

  1. KiCad EDA 过孔是否可以开窗?

    KiCad EDA 过孔是否可以开窗? 和传统的商业 EDA 不同,KiCad EDA 的过孔默认就是盖绿油. 在 KiCad 的过孔界面没有任何可以设置的地方,这也有一个好处,不过考虑过孔是否盖油. ...

  2. C++运行时类型识别

    通过运行时类型识别(RTTI),程序能够使用基类的指针或引用来检索这些指针或引用所指对象的实际派生类型. 通过下面两个操作符提供 RTTI: 1. typeid 操作符,返回指针或引用所指对象的实际类 ...

  3. 干货|Spring Cloud Bus 消息总线介绍

    继上一篇 干货|Spring Cloud Stream 体系及原理介绍 之后,本期我们来了解下 Spring Cloud 体系中的另外一个组件 Spring Cloud Bus (建议先熟悉 Spri ...

  4. shell学习(15)- eval及shell No such file or directory解决办法

    eval可以读取一连串的参数,然后按照参数特性来执行.参数数目不限,彼此之间用分号隔开. eval会对后面的命令进行两遍扫描,如果第一遍扫描后,命令是个普通命令,则执行此命令:如果命令中含有变量的间接 ...

  5. 原生js实现复制文本到粘贴板

    项目中经常会遇到点击按钮复制订单号.订单id等内容到粘贴板中的需求.可是通常我们都是用Ctrl + c或右击复制的,别操心,js也是有复制命令的,那就是document.execCommand('co ...

  6. JavaScriptBreak 语句 continue 语句

    break 语句用于跳出循环. continue 用于跳过循环中的一个迭代. Break 语句 我们已经在本教程之前的章节中见到过 break 语句.它用于跳出 switch() 语句. break ...

  7. python 空值(NoneType)

  8. Java练习 SDUT-1253_进制转换

    进制转换 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 输入一个十进制数N,将它转换成R进制数输出. Input 输入 ...

  9. LeetCode75 Sort Colors

    题目: Given an array with n objects colored red, white or blue, sort them so that objects of the same ...

  10. php实现第三方登录

    1. oAuth2.0原理 网站为了方便用户快速的登录系统,都会提供使用知名的第三方平台账号进行快速登录的功能,第三方登录都是基于oAuth2.0标准来实现的.下面详细分析[基于账号密码授权]和[基于 ...