技能树

来源:互联网 发布:ip网络广播 编辑:程序博客网 时间:2024/04/29 04:17

看见这篇知乎,突然像看见了大方向一样,虽然作者也仅有7年的经验

不过好歹比我乱打乱撞的强

下个月开始可能要做设计了

继续挖坑


http://www.zhihu.com/question/20905856


如果想在金融软件(银行软件)这方面长期发展,发展到后期是需要金融业务知识多些还是计算机技术多些?


发展到后期,这个要命了,我自己都没发展到后期。
集合自身说说吧。
银行软件很多很杂,通常是一个或几个核心系统(core banking一个,card一个)带着无数所谓外围系统(各种报表,各种财务,各种风险,各种反欺诈,各种信用评级,各种反洗钱,各种数据仓库等等子系统)。
我是做核心系统的,就拿我自己毕业以后来说吧,一开始的3年是闷头coding。
其中第一年是看到leader给的TS就扣,一扣就是15个国家的程序一起改,把TS中的需求插进这15个国家的代码中(TS中一般是伪代码,并且告诉你需要改的程序名,如果程序很大甚至告诉你需要改的段落)。改完调试,测通以后给出before和after的test result。这个过程中需要搭模拟环境,造case,处理error等等,不断吸取经验教训,提升自身等级。
第二年开始做24*7的生产维护,TS还是照给,代码还是照扣,额外增加不定时的call,比如深夜2点某critical job abend了,操作员把你从被窝拉出来,问你该咋办,不跑完明天某国银行开不了门。你看情况看下是否能绕过,不能的话就要临时改代码(如果是代码逻辑问题的话),然后roll back数据,把改完的程序重跑(通常是由其他人改了某段代码引起的,用回以前逻辑一般都能解决),然后再issue log上面记上一笔,明天告状。万一悲催的找不到问题原因,并且耗时超过30分钟,你就必须把你老板从被窝里面拉出来,告诉他情况,看他有没有啥办法,层层上报直到CEO(基本没发生过)。
通过这两年地狱式coding,基本上你看一眼代码和程序所在位置,就能大致估出来这个东东是在干嘛了,第三年你拿到TS后,可以跟你老板要一下FS看看了。一般FS是把用户原始需求转化的第一层,你可以看看用户为啥要有这个要求,要达成什么目的,一般这些就是所谓的业务知识。然后你可以对TS发表一些看法,比如在两条大路通罗马的情况下为啥走这条不走那条之类,多和leader讨论讨论。
第四年我转到另一个核心系统,卡系统开始重新学习,因为有以前的经验,第一年基本把我上述3年的东西全部掌握,开始通读一些卡系统最核心的代码,通常最核心代码是常年没人动的,因为这些是属于最基本功能,不会减也不会改变,而且长的令人发指,调试极具难度。
第五年,当你读完最核心的那些代码,你的眼光可以放到interface上,也就是核心系统和其他外围系统的交换文件上,基本上你也能知道为什么某个文件需要有某个field,某个field为什么是必须而有些field是可选。Interface了解完,顺杆子网外围系统走,看看界面,看看出错反应等等,继续积累技术知识,当然这个需要机遇。
第六年,基本上应该能做上项目经理的位子了,当然是偏向技术的项目经理,不管预算。多接触用户,明白他们想要什么就成了你的当务之急,由于你有深厚的技术积累,你很容易知道某个业务需求该通过何种方式来满足。同时你要大量关注政策,因为绝大部分业务需求是来自政策变化。多和产品经理聊聊,问问看他们销售的难度在哪,从中发掘系统的改善点。多和风控聊聊,看下他们顾虑是什么,监管部门的要求是什么,防止在给出解决方案的同时,增加了风险。多和操作员用户聊聊,看下平时他们大量时间花在哪里了,是否是机械式的工作,能否用程序帮他们减少人工干预。

基本上就这些。。。。我自己还在第七年中。。。。。




Android游戏与应用开发

知识点

目标

应用开发部分

Android 基础入门

熟练Android平台搭建、熟练使用Android创建命令工具、编写第一个Android应用程序

Android 用户界面

熟练Android创建UI组件的应用、能够使用创建UI组件设计实际项目UI、熟练高级UI的使用,例如,MapView、WebView、Gallery、GridView等

Android 基本组件(Activity、Intent、Service、BroadCastReceiver、ContentProvider)

深刻理解Android应用程序的设计思想、熟练Android平台的四大组件Activity、Service、BroadcastReceiver、ContentProvider的使用

能够使用通知、Alarm等实现备忘录等真实项目

Android 数据存储

熟练Android平台的数据存储、熟练使用Sqlite数据库实现CRUD操作

熟练Android文件系统的操作

多媒体

熟练使用Android 平台的多媒体的使用,播放音频、视频、操作图片

互联网应用

熟练Android平台的网络编程接口、熟练Sock、URL、ApacheClient的各种使用方法

GPS定位应用

熟练Android平台的定位API、能够使用这些API实现定位、跟踪、查找等功能

 

Android多线程

熟练Android平台的多线程处理方法、熟练使用Android平台的消息处理机制

Android 应用项目

学习版本控制工具、熟练团队开发流程

游戏开发部分

图形图像

熟练Android平台的图形图像处理API、能够使用这些API绘制图形、动画等

View、SurfaceView

熟练View、SurfaceView、自定义视图

Android 平台下的传感器

能够使用Android 平台API实现感应操作

游戏中的物理和数学

Android 平台的物理特性实现

OpenGL ES初级

熟练OpenGL ES的常见API的使用

OpenGL进阶

能够使用OpenGL ES API实现一些特效

游戏引擎初步

熟练游戏引擎基础框架

游戏引擎音效模块

熟练游戏引擎音效部分实现

游戏引擎实体模块

熟练游戏引擎粒子系统实现

游戏引擎OpenGL 模块

熟练游戏引擎OpenGL ES 3D部分实现

Android 游戏项目

使用游戏引擎编写游戏



0 0
原创粉丝点击