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

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

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. 微信开发之web开发者工具

    web开发者工具. 有任何疑问或建议请私信我,或者在评论区大家一起探讨. 概述 为帮助开发者更方便.更安全地开发和调试基于微信的网页,我们推出了 web 开发者工具.它是一个桌面应用,通过模拟微信客户 ...

  2. docker-其它命令

    [root@iZ943kh74qgZ soft]# docker Usage: docker COMMAND A self-sufficient runtime for containers Opti ...

  3. Python学习之路10☞面向对象进阶

    一 isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 1 class Foo(objec ...

  4. Xcode 中的Bundle versions string, short 和 Bundle version 区别

    Bundle version is the internal version number of your app. Short version string is the publically vi ...

  5. Light OJ 1272 Maximum Subset Sum 高斯消元 最大XOR值

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011686226/article/details/32337735 题目来源:problem=12 ...

  6. 模板—LCT

    #include<iostream> #include<cstring> #include<cstdio> #define LL long long using n ...

  7. python selenium处理iframe和弹框(一)

    处理iframe和弹框 # encoding:utf-8 from selenium import webdriver import time driver = webdriver.Firefox() ...

  8. 在ThinkPHP中,if标签和比较标签对于变量的比较。

    在TP模板语言中.if和eq都可以用于变量的比较. <比较标签 name="变量" value="值">内容</比较标签> 比如: &l ...

  9. 【原生JS】图片预加载之无序预加载

    图片预加载之无序预加载 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset= ...

  10. C#的选择语句练习(二)

    1.输入a,b,c三个数,计算一元二次方程ax²+bx+c的根:若a=0,则不是一元二次方程:△=b²-4ac,根的计算公式为-b±√b²-4ac/2a:若△=b²-4ac>0,则方程有两个不一 ...