Skip to main content

码工不得不吐的槽


发信人: redolent (红药), 信区: JobHunting
标  题: 准备跳码工的坑了吗?码工不得不吐的槽
发信站: BBS 未名空间站 (Sat May 17 10:40:26 2014, 美东)

神秘的美国公司是怎样的,USAcareer本期约稿美国公司资深工程师,终于整明白了一
二三,搞明白点名堂,上来吐槽两条。
1.大公司技术部门职能分工非常细,码工就是个翻译。
大公司的码工跟小公司完全不一样,如果是一个人的公司,创业者又是前台,又是后台
,又是技术工人,又是人事,管财务,又管

销售。但是一旦公司大了,职能也就细分得快让整个人牢牢固定在一个螺丝钉上。金融
行业的IT部门一般分为以下几种人:
-项目经理(PM),有着神一样的全局观,仙一样接地气的说话。他就是像interpreter
,能把项目讲的很清楚,让人人都能懂。一

般从BA发展上去的。
-商业分析员(BA),把big picture细分到一条条需求requirement上,有时候兼职UX
,把抽象的需求变成用户体验的界面。
-Developer 把一条条需求翻译成程序语言,所以码工就是个文档跟程序语言之间的活
的翻译。
-Developer Lead或者senior developer 项目负责人,决定开发平台,开发语言,开发
框架等
-Architect 从技术层面定义框架,接口,安全,性能。一般从 Developer多年走上来。
-数据库管理人员 DBA, 专门管理数据库,管理数据,建立数据,备份数据。要命的就
是这数据了。
-Tester测试人员 比对requirement跟程序,一样就通过,不一样,developer重新写。
-Operator and support 程序上线之后,operator开始操作使用,所谓的运行维护。
-Linux Administrator 管理基础设施,帐号,网络,装机等等。

所以,从技术层面分析,Tester从商业层面:Operator所以转行进IT,也可以从Tester做起,也可以可以从DBA做起,比较稳定。因为变化的
是程序,不变的是数据。
Operator BA对语言要求比较高。

2.被锁在笼子里的码工提高不了效率
因为要处理各种数据库,接触各种环境,码工有各种帐号权限,而所有权限都需要层层
批准,用完之后就限时收回。
对各种环境进行操作,要写工序,然后批准,最后通过后,指导第二个码工完成工序。
所以,写一道程序,上线,一个人几分钟就

能搞定的事情,因为审批,涉及到方方面面的人,所以可能要几个月后才能上线。效率
降低了,安全提高了。
强大的码工被束缚了手脚,你说肿么办?被驯服的码工,喝喝茶,上上网,不求有功,
但求无过。
憋得受不了的码工,业余爱好之一跑到互联网上吐槽,或者跑到自己家电脑,车库里,
手机上发泄一通,于是出现了各类小公司。

发信人: rtscts (syslink), 信区: JobHunting
标  题: Re: 准备跳码工的坑了吗?码工不得不吐的槽
发信站: BBS 未名空间站 (Sun May 18 14:19:26 2014, 美东)

这尼玛都是底层码工或者Consulting出身的吧?还有神一样的PM?真没听说过。PM说白
了就是architect和senior dev的大家共用的秘书。

最关键的技术框架选择,就一句话带过了?你这干过活没有?选择技术框架是风险最大
的事,简单举个例子,你选什么做cache?你选什么做database? 你预估的流量,容灾之
类效果如何?如果现有的框架handle不了,或者问题太大,你怎么解决?如果没有现有
的框架能实现设计,你得自己设计框架吧?你得有这个本事对不对?

技术框架搭起来,得要整个项目的80%的时间,而且具体实现有点公司内部"trade
secret"的意思。

技术框架搭好了,往里填business logic就是底层码工和PM捣浆糊了。培训大概一两个
星期之后就可以上手,基本上应该有快速迭代一两个星期就release一次,因为这屁活
只要直立行走的homo sapien就能干。

这段时间技术框架就是修修补补。

过个一两年,技术框架过时了(各种原因,当年的实现方法有更好的替代,或者有更好
的技术能做当年做不到的事,或者干脆就是换老板了新的asshole要做新东西),再重
新轮回一次。

这几位干了几十年,都在填business logic了吧? 那不叫码工,那叫码农。
--

http://gengwg.blogspot.com/

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...