背景与经验: Java 2year in SI
累积框架: struts2, spring mvc, spring, hibernate, mybatis
内文仅对初涉入 SI 职场有帮助。
#工作前务必了解M(Model) V(View) C(Controller)
需了解各自在WEB的职责与角色。
有些 CRUD 占 80% 的 backend guy 不太了解 service layer 用途,
这你要从 facade pattern 来看,把 C 视作 client 端,
把一个个 M 视作 table 的对应窗口,
将对数个 table (Model) 的异动,
封装成为 service 的 API,
对 Client 端来说,
他不知道背后那一连串的异动,他只要知道呼叫此一接口可完成即可。
刚开始可以用 MVC 来锻炼,
[Client] 与 被 Client 使用的[实作] 这个思维。
#为什么 design pattern 对初进职场的人很难
这时对自己写的程式,还没建立
[Client] 与 被 Client 使用的[实作] 这个观念;
对 [实作] 想像要开放一点,[实作] 可以是 method,
也可是权衡 object 职责关系后,以委派 (Delegate) 的方式来实作;
设计原则围绕在解耦,起因是:
会变化的需求总是在变化,这件事不会改变。
上面有点讲太多,初进 SI 只要清楚了解 MVC 分别是在做什么就可以了。
#怎么问问题
免费顾问的大大都有什么职场经验,可以分享一下。
每个 SI 职场一定有个免费顾问的生态链,强到弱。
初期遇到一些 framework 的问题,
像是客制化的 common component 可能 error 处理不明显,
例如 structs2 自订型别转换的流程出错,
你千万不要很紧张不敢问,导致问题抛都不抛卡到下班,这铁定GG;
平常你就该要分清哪些 Bug 或许需工作经验累积,
这类的bug可能平常就有人问过免费顾问,或是前辈自己有解过,
他不用下 break point 看个一眼错误情境,就可以解救你。
这类问题算有质量,重点是解的时间也快,
诚恳一点的问,不管生态炼强弱都会很愿意协助你。
求救的时候,先看清免费顾问的生态炼,
还不懂怎么将错误排除在资料面还是逻辑面时,
不要急着去找强者问;
如果求救了,
学习观察别人 debug 的思维,
与错误排除的步骤,和用了什么debug tool。
不幸对方帮你google,你也可以学着问下 keyword 的方向。
越快缩短找资料的速度,也是一种适应能力。
#如何迅速培养起问题的质量
跳进生态炼,当别人的免费顾问。
愿30k尽快升上35k,
愿35k的路上多减轻点疼痛