Chinaunix

标题: [每周一议]:更新-月薪1w的代码应该是什么样子的?要有哪些知识?程序员级别如何界定- [打印本页]

作者: cokeboL    时间: 2012-10-10 10:40
标题: [每周一议]:更新-月薪1w的代码应该是什么样子的?要有哪些知识?程序员级别如何界定-
本帖最后由 cokeboL 于 2012-10-12 16:59 编辑

看到被老大置顶,又重新来思考这个问题,或许标题叫“月薪1w的代码。。。”不准确,应该改成“月薪1w的程序员应该具备哪些素质”。

整理了下思路,月薪1w,不看在一家公司混的资历,单从技术角度讲,比如跳槽,别人给你的薪资,要根据工作经验、技术面试的评定,我想单从技术素质角度综合下:

1.代码健壮性:包括Ager等大神们提出的溢出问题,还有细节处理的全面性等;

2.系统知识的理解及代码中应用的能力,比如:进程、线程、同步、异步、阻塞、非阻塞等等;

3.代码结构方面的质量:这个更倾向于思想、设计层面的,比如都说面向对象,都说高内聚、低耦合,都说可维护、可扩展性好,但是实际写出来的代码结构符合
                      这些要求不?

4.产品导向-业务经验:除了通用的语言能力,在某一行业、领域的经验,当然也是多数公司给薪资时候要考虑的,做驱动、硬件的大神们当然可以吃遍天,但是
                     底层庞大的知识结构本身也可以抽象成一种产品导向。

暂时总结这些,欢迎补充,希望大家从几个方面讨论丰富下,尤其大神们多提宝贵经验,也算是为大伙的职业规划指引方向了,毕竟程序员的自我修养不仅只需要
技术。


作者: Ager    时间: 2012-10-10 10:47
本帖最后由 Ager 于 2012-10-10 10:48 编辑

(0)防范与杜绝溢出。

(1……)待补充 ……



目前,我就搜集到这么一点,诚心欢迎各位大虾补充 …… :)

作者: 0xC1988    时间: 2012-10-10 11:06


样本来了
作者: mci2004    时间: 2012-10-10 11:21
我建议牛牛们,把小乔的代码重新写下,贴出来给大家看看。
作者: pmerofc    时间: 2012-10-10 11:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: starwing83    时间: 2012-10-10 11:34
回复 3# 0xC1988


    我写了个月薪100的

http://bbs.chinaunix.net/forum.p ... ;page=9#pid22310118
作者: mirnshi    时间: 2012-10-10 11:37
starwing83 发表于 2012-10-10 11:34
回复 3# 0xC1988


太贵了,明显欺负老实人嘛
作者: bruceteen    时间: 2012-10-10 12:35
月薪五毛,没什么好写的
  1. #include <stdio.h>

  2. int main()
  3. {
  4.     FILE* fp = fopen( "test.txt", "w" );
  5.     if( !fp )
  6.     {
  7.         printf( "%s", "cannot open the file.\n" );
  8.         return -1;
  9.     }

  10.     printf( "%s", "please input some strings, and ctrl+d/z to exit.\n" );
  11.     for( char buf[100]; fgets(buf,sizeof(buf)/sizeof(buf[0]),stdin); )
  12.     {
  13.         if( fputs(buf,fp) == EOF )
  14.         {
  15.             printf( "%s", "write error.\n" );
  16.             fclose( fp );
  17.             return -3;
  18.         }
  19.     }
  20.     if( ferror(fp) )
  21.     {
  22.         printf( "%s", "read error.\n" );
  23.         fclose( fp );
  24.         return -2;
  25.     }

  26.     fclose( fp );
  27.     return 0;
  28. }
复制代码

作者: starwing83    时间: 2012-10-10 12:39
回复 9# bruceteen


    main不应该返回负数吧??
作者: bruceteen    时间: 2012-10-10 12:41
starwing83 发表于 2012-10-10 12:39
回复 9# bruceteen
main不应该返回负数吧??

啊,我不知道呀,有什么说法没有?
作者: ethantsien    时间: 2012-10-10 12:43
写的任何代码都能杜绝算术溢出和缓冲区溢出,能深刻得理解这两种溢出的话,基本月薪就1W+了,因为几乎所有的程序BUG,都是这两种溢出造成的
作者: bruceteen    时间: 2012-10-10 12:45
starwing83 发表于 2012-10-10 12:39
回复 9# bruceteen
main不应该返回负数吧??

google了一下,似乎有这个说法,linux把它当作无符号类型,期待更多信息
作者: bruceteen    时间: 2012-10-10 12:49
又 google 到一篇文章 http://www.bianceng.cn/c/c20.htm
我去看看C99标准怎么说
作者: sacry    时间: 2012-10-10 12:52
回复 14# bruceteen


    这不是C标准的吧,是系统的?
Linux貌似是8位无符号数,0~255
作者: sacry    时间: 2012-10-10 12:55
http://en.wikipedia.org/wiki/Exit_status

...
不止Linux,Unix都是8-bit unsigned
Windows是32-bit signed

作者: starwing83    时间: 2012-10-10 13:00
回复 14# bruceteen


    大家都是32-bit的,但是UNIX的返回值高位有其他用处,只有低位0~255能被返回。我就记得257是shell代表“命令未找到”的意思。
作者: sonicling    时间: 2012-10-10 13:21
管他那么多呢。
  1. #include <stdio.h>

  2. int main(int argc, const char *argv[])
  3. {
  4.         if (argc > 1)
  5.                 printf("\"program %s\" is executing\n", argv[1]);
  6.         else
  7.                 printf("program is executing\n");
  8.         return (argc-1)*10000;
  9. }
复制代码
[root@localhost test]# vim program.c
[root@localhost test]# gcc program.c -o program
[root@localhost test]# ./program ; echo $?
program is executing
0
[root@localhost test]# ./program 1 2 3 ; echo $?
"program 1" is executing
48
[root@localhost test]# ./program && ./program 1 && ./program 2
program is executing
"program 1" is executing
[root@localhost test]#


作者: cokeboL    时间: 2012-10-10 16:10
回复 12# ethantsien


    赞同,上个月定位了两个严重且很难复现的bug,都是溢出惹的祸。
作者: starwing83    时间: 2012-10-10 17:51
回复 19# cokeboL


    还有一个困难的问题和时序有关,即多线程,锁,重入等等相关问题……难道这就是传说中的两出一时么……
作者: cokeboL    时间: 2012-10-10 18:56
回复 20# starwing83


线程启动比进程快些,之后效率貌似差不多,如果用多进程,重入基本解决了;

我觉得时序和锁是逻辑设计问题,难度在于设计,不像重入那么依赖系统调度导致的不好控制。
作者: starwing83    时间: 2012-10-10 19:00
回复 21# cokeboL


对Linux来说,除了是否共用虚拟空间,进程和线程没有其他区别。也就是说创建速度应该差不多……

    锁不只是设计问题。前段时间@OwnWaterloo一直在向我推荐STM,另外我也看到有言论说thread是最近不宜进入的领域,以及看到评论说thread应该是低级特性,程序员应该使用在这个特性的基础上构建的完整的框架,比如ErLang的Task构架,Lua的lanes,或者Python的greenlet,Go的go routine等等。反正这并不是设计问题,是实实在在的实现相关的一些困难。

比如说,何时加锁,一个函数是否提供加锁和不加锁版本等等……
作者: cokeboL    时间: 2012-10-10 20:08
回复 22# starwing83


启动时间我写代码测了下,我的ubuntu 10.04,线程在不改变默认线程栈内存情况下最多创建到381个,我机器上fork大概是pthread_create的两倍左右。

时序、加锁那些我抽空再学习下。


作者: starwing83    时间: 2012-10-10 20:30
回复 23# cokeboL


    那个,问问,你代码怎么写的?fork以后直接exit了?

另外,vfork试过没?有没有快?我windows没法试……
作者: cokeboL    时间: 2012-10-10 21:00
本帖最后由 cokeboL 于 2012-10-10 21:07 编辑

回复 24# starwing83

这么搞的,创建好的都pause()了,线程多余的循环圈数只能增加平均时间,所以也没减去,师傅给看下;

vfork()这种除了那个什么简版uc内核上面好像必须用之外,其他的用起来怕bug,所以从来不用。
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <pthread.h>
  6. #include <time.h>

  7. void* handle(void *s)
  8. {
  9.         pause();
  10. }

  11. int main()
  12. {
  13.         int i, thread_num = 0, total_time;
  14.         pthread_t tid;
  15.         struct timeval t_begin = {0}, t_end = {0};
  16.        
  17.         gettimeofday(&t_begin, NULL);
  18.         for(i = 0; i < 1000; i++){
  19.                 if(0 == pthread_create(&tid, 0, handle, 0))       
  20.                 {
  21.                         thread_num++;
  22.                 }
  23.         }
  24.         gettimeofday(&t_end, NULL);
  25.         printf("thread_num: %d\n", thread_num);
  26.         total_time = (t_end.tv_sec - t_begin.tv_sec)*1000000 + (t_end.tv_usec - t_begin.tv_usec);
  27.         printf("average time: %f\n", ((double)total_time) / ((double)thread_num));

  28.         return 0;
  29. }
复制代码
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <stdlib.h>
  4. #include <string.h>

  5. int main()
  6. {
  7.         int i, fork_num = 0, total_time;
  8.         pid_t pid;
  9.         struct timeval t_begin = {0}, t_end = {0};
  10.        
  11.         gettimeofday(&t_begin, NULL);
  12.         for(i = 0; i < 1000; i++){
  13.                 if(0 == (pid = fork()))
  14.                 {
  15.                         pause();
  16.                 }
  17.                 else if(pid > 0)
  18.                 {
  19.                         fork_num++;
  20.                 }
  21.         }
  22.         gettimeofday(&t_end, NULL);
  23.         printf("fork_num: %d\n", fork_num);
  24.         total_time = (t_end.tv_sec - t_begin.tv_sec)*1000000 + (t_end.tv_usec - t_begin.tv_usec);
  25.         printf("average time: %f\n", ((double)total_time) / ((double)fork_num));

  26.         return 0;
  27. }
复制代码

作者: starwing83    时间: 2012-10-10 21:06
回复 25# cokeboL


    好吧,没看出什么问题……看来thread_create的确比fork快……
作者: ethantsien    时间: 2012-10-10 21:38
starwing83 发表于 2012-10-10 19:00
回复 21# cokeboL


进程和线程的快与慢跟CPU有直接关系,如果你的CPU是超线程的,那么线程级并发比进程级并发快

多进程只跟CPU核的数量有关

多线程就是多控制流一起运行,跟CPU的核和CPU是否是超线程的有关

作者: cokeboL    时间: 2012-10-10 21:43
回复 27# ethantsien


多控制流一起运行?比如4核,100个线程,100个同时运行?这不可能啊,求具体解释;

超线程是啥东东?
作者: cokeboL    时间: 2012-10-10 21:48
本帖最后由 cokeboL 于 2012-10-10 21:49 编辑

回复 27# ethantsien


刚百度的:
  1. 通过超线程技术,英特尔成为第一家公司实现在一个实体处理器中,提供两个逻辑线程。  后期内含超线程技术的P4处理器商标
  2. 之后的Pentium D纵使不支持超线程技术,但就集成了两个实体核心,所以仍会见到两个逻辑线程。超线程的未来发展,是提升处理器的逻辑线程,英特尔有计划将8核心的处理器,加以配合超线程技术,使之成为16个逻辑线程的产品。
复制代码
这意思是不是说8核心加超线程,也最多16逻辑线程,这样子,最多16个线程并行,而且进程和线程都是作为任务调度单位,还得跟内核相关,怎么可能100个线程并行?超过核心数目的多任务并行不过是任务调度的假象吧?
作者: starwing83    时间: 2012-10-10 21:48
本帖最后由 starwing83 于 2012-10-10 21:49 编辑

回复 28# cokeboL


    超线程是指一个CPU核心的流水线在部分空闲的时候,可以进行其他的操作,进而模拟出类似双线程的样子。

比方说有一条马路,是双行路,但是现在没有车顺行,那么可以暂时把它当做逆行的单行路,反之亦然,看上去的效果就是路的宽度在大部分情况下提高了一倍。

我不知道你是以什么依据得到这个结果的,但是就我所知的是,只要操作系统内核认为线程和进程没有区别,那么它们的执行方式就是一样的。操作系统如果用相同方式调度它们,那他们的效率就是一样的,和所谓的CPU制造工艺中的超线程技术没有任何关系。
作者: sunyb_722    时间: 2012-10-10 21:49
代码要工整,要有基本的注释, 逻辑要清析,子程序之间尽量低偶合。

逻辑不要写的层次太深,太复杂的问题,可以拆分成小部分,一个一个解决。
作者: cokeboL    时间: 2012-10-10 21:51
回复 30# starwing83


    对啊,进程、线程在任务的角度讲应该是一致的呢
作者: ethantsien    时间: 2012-10-10 21:53
cokeboL 发表于 2012-10-10 21:43
回复 27# ethantsien


超线程是CPU的一种技术,普通的CPU运行程序都是一步一步来的,如果在你的程序中有两段控制流互不干扰,那么你可以把它设计成多线程,这两个控制在支持超线程的CPU中是真实的一起运行的。

如果不支持超线程的CPU,你用多线程,那么有几个CPU核,就几个线程真实的同时运行,不然的话,多线程只是假象的同时运行,要设计到操作系统的上下文切换,反而影响效率。这和单核的CPU运行多进程是一个道理,只是假象的多个进程同时运行,需要操作系统的上下文切换。不考虑设计的复杂性,线程肯定比进程快


作者: cokeboL    时间: 2012-10-10 21:55
回复 31# sunyb_722


    这些貌似是工作中的要求,很少有拿这些来给人定工资的
作者: cokeboL    时间: 2012-10-10 21:58
回复 33# ethantsien


也就是说超线程只搞定了“双线程”,而没搞定大于2的多线程
作者: ethantsien    时间: 2012-10-10 22:01
cokeboL 发表于 2012-10-10 21:58
回复 33# ethantsien


嗯,比如4核支持超线程的CPU,只能是8个线程真实的同时运行,你开100个线程的话,其他的线程都是假象的同时运行,是通过操作系统的上下文切换来实现的

同样的道理,多进程只跟CPU的核有关,4核支持超线程的CPU,也最多支持4个进程真实的同时运行
作者: guo_4224    时间: 2012-10-11 08:10
starwing83 发表于 2012-10-10 12:39
回复 9# bruceteen

main是要求返回整型的
作者: YTerrenceLau    时间: 2012-10-11 08:58
超线程是intel设计处理器的时候给他多个上下文共享资源的处理器起的名字,这里的线程不是操作系统线程的意思。多个进程仍然可以在超线程上并行执行。
作者: chinesedragon    时间: 2012-10-11 09:06
反正我还没有拿过
作者: cokeboL    时间: 2012-10-11 09:41
回复 39# chinesedragon

老大,要不来个拍卖会,起拍1w来买你的工资如何
作者: hcu5555    时间: 2012-10-11 15:31
ENGLISH到什么级别呢?平常工作很少用到这玩样。。都是高中大学哪点底子。。。回复 4# 346196247


   
作者: 346196247    时间: 2012-10-11 15:51
回复 41# hcu5555


    可以看的懂c语言的书,你连c语言的书,你都看不懂莫说学c了,连java语言讲课程完全是用english
作者: hcu5555    时间: 2012-10-11 15:57
哦。明白。现在尽量不用翻译。在linux下。。锻炼的机会啊。哈哈。尤其是用man查询的时候。。。呵呵
作者: OwnWaterloo    时间: 2012-10-11 16:29
回复 22# starwing83

关于STM, 确实有thread/lock等玩意是并发里的asm的类比。。。
也不是绝对要用,或者绝对不用。。。看实际需要了。。。

如果确实无法承受它的代价,那只能用lock。
如果可以承受,自己实现出一套类似的机制也行。比如作为个人项目,或者团队里负责总体方针的(我讨厌框架这个词。。。)都行。
只是对做"产品(by 327)"来说, 实现STM很难是产品的目标。。。  显然是捡现成的来用更划算。。。
作者: whb9633    时间: 2012-10-12 12:38
看到各种公司月薪1W的程序员写的垃圾代码绝对会让你求生不得求死不能。。。。1W不是水平的代表,更多的是机遇和工龄。

作者: linux_c_py_php    时间: 2012-10-12 21:41
1万元在北上广是起步工资, 没拿到这个份上, 可能一方面是因为上学期间主攻的语言或者方向不对, 或者当时还不够优秀.

说说我的感受, 我是搞纯软件的, 汇编我不会, 计算机体系与原理我也不懂, 更不用说看内核了, 我保证我看不懂.

1, 语言过关, 能拿1万的同学基本都差不多, 也就是编程安全已经习惯性的注意了, 一些边角旮旯的BUG也见惯不惯了.
2, 熟练自己的开发平台, 搞linux server backend开发的, 关于linux应用层开发已经不需要去学API, 可以直接投入程序设计与编码.
3, 对自己从事的工作, 有架构与设计能力, 一个项目就那么3,4个开发人员, 你得挑得起重任, 有能力参与设计与构思系统架构, 思路不能太狭隘.
4, 热爱并且享受编程, 这玩意是通的, 肯定是掌握的越多越灵活, 多学不吃亏也累不死, 永远都有追求上进的心, 懒惰的人是会被淘汰的.
作者: pmerofc    时间: 2012-10-13 08:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 阿吉2009    时间: 2012-10-13 21:34
我才拿到楼方所说的一半。
作者: pmerofc    时间: 2012-10-14 00:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: Zimbu    时间: 2012-10-14 22:10
whb9633 发表于 2012-10-12 12:38
看到各种公司月薪1W的程序员写的垃圾代码绝对会让你求生不得求死不能。。。。1W不是水平的代表,更多的是机 ...
恩。。。。。。。。
作者: T-Bagwell    时间: 2012-10-15 12:43
本帖最后由 T-Bagwell 于 2012-10-15 12:45 编辑

我月薪800块钱的代码

  1. 那个谁,给我在纸上打印一个helloworld,麻烦你了,回头请你喝酒
复制代码

作者: 20032007    时间: 2012-10-15 14:03
作为用户,这个层次

我只感觉任何代码编译以后,使用上符合大众的思维和使用习惯,就像office操作那样,绝大部分人拿到软件,就知道该怎么用了。这是最重要的一点。

其他的,就是效率能在普通人的承受范围内,出错少一点,每一次出错,有个明确的错误提示。

有请专家把我这个普通用户的需求用您们的专业术语解释一遍,以后我好去唬软件人员。。。。
作者: personball    时间: 2012-10-15 15:42
其实到达一个高度后,薪水和具体代码没太大关系了,非要扯些关系,那就是系统关键部分的代码实现,检验的就是个人的程序设计实现能力了
这里讲1w,其实也不太准确,私营中等规模的公司的1w月薪和那些不愁钱的庞大公司的1w月薪,对人的要求完全不是一个层次的吧。。。
作者: EasHardTag    时间: 2012-10-15 22:32
没有搞清状况我
作者: hzhze051    时间: 2012-10-16 00:08
0xC1988 发表于 2012-10-10 11:06
样本来了


这个代码不值1W的。在函数内部搞大数组,说明对申请内存机制还不熟悉,如果是嵌入式小堆栈系统里面很容易就溢出了。
作者: hzhze051    时间: 2012-10-16 00:16
回复 52# 20032007


这个是产品经理的活,你在这里问就不对了,
作者: __SevenEleven    时间: 2012-10-16 15:20
linux_c_py_php 发表于 2012-10-12 21:41
1万元在北上广是起步工资, 没拿到这个份上, 可能一方面是因为上学期间主攻的语言或者方向不对, 或者当时还不 ...
definitely correct
作者: xiaopan3322    时间: 2012-10-16 21:22
本帖最后由 xiaopan3322 于 2012-10-16 21:22 编辑

这个话题……。
因为公司里总有一些人 吹牛的能力比写代码的能力强很多
我的意思是 那些比较能混的人 可能拿着更高的薪水 但是写的是糟糕的代码 也可能根本就不用谢代码
作者: T-Bagwell    时间: 2012-10-16 23:21
xiaopan3322 发表于 2012-10-16 21:22
这个话题……。
因为公司里总有一些人 吹牛的能力比写代码的能力强很多
我的意思是 那些比较能混的人 可能 ...



很有道理
+1
作者: ran3guns    时间: 2012-10-17 13:26
回复 1# cokeboL


    单纯的从技术上来讲, 写出的代码应该怎么也得能经过静态检测工具检测。
作者: liuiang    时间: 2012-10-17 16:47
一提到静态分析工具就----蛋疼。
作者: qinggeng    时间: 2012-10-18 10:35
静态分析工具目前来说还是太初级了。
至少xcode里面的那玩意就是。
我见过根据静态工具优化,把原本好好的程序搞得到处crash的。
作者: ran3guns    时间: 2012-10-18 13:04
回复 62# qinggeng


    splint用过吗
作者: ckf513728912    时间: 2012-10-18 15:51
关注                  
作者: qinggeng    时间: 2012-10-18 16:41
回复 63# ran3guns


    没有,因为Apple推的是丑陋的 obj-c
作者: 一介村夫    时间: 2012-10-18 21:58
3楼的样本有5行可以改进。
这么初级的代码就月薪1W,没天理了!
作者: cokeboL    时间: 2012-10-18 22:31
回复 66# 一介村夫


    村长大人说的是,良乔太不知耻了
作者: 一介村夫    时间: 2012-10-19 00:03
本帖最后由 一介村夫 于 2012-10-19 00:08 编辑
cokeboL 发表于 2012-10-18 22:31
回复 66# 一介村夫

好的代码,至少应该在不看算法和内容的前提下找不到瑕疵。
翻帖子时,居然看到
  1. printf("%s", "some text\n");
复制代码
这样的句子,真太有创意了!
作者: cokeboL    时间: 2012-10-19 01:02
回复 68# 一介村夫


这句printf是?我猜测"some text\n"始终占用浪费了内存,改成char some_text[] = "some text\n"再printf好些。

不懂村长大人说的意思,求解释!
作者: 一介村夫    时间: 2012-10-19 07:58
回复 69# cokeboL

  1. printf("%s", "some text\n");
  2. printf("some text\n");
  3. fputs("some text\n", stdout);
复制代码
效果完全一样,第3个效率最高。
即使是为将来国际化考虑,也应写为
  1. printf("%s\n", "some text");
复制代码

作者: nemo2011    时间: 2012-10-19 10:11
,不愧为精华帖。 获益匪浅啊。
作者: cokeboL    时间: 2012-10-19 10:28
回复 70# 一介村夫


    谢谢村长大人~
作者: 斯文牛氓    时间: 2012-10-19 10:45
月薪一万的重点不在于代码。。。。。·
作者: tarome    时间: 2012-10-20 10:33
一直很羡慕代码高手。。
作者: 0xC1988    时间: 2012-10-20 12:56
hzhze051 发表于 2012-10-16 00:08
这个代码不值1W的。在函数内部搞大数组,说明对申请内存机制还不熟悉,如果是嵌入式小堆栈系统里面很容 ...


说他值一万的是MS的MVP,著有一本C++入门书,一本谭老先生伴侣书的陈良乔同志,至于判定为何价值一万的依据,不是我这小菜能想明白的
作者: clife7801    时间: 2012-10-24 17:16
月薪1W的员工,至少本科以上,精能C,AIX,Unix,SQL,JAVA,软件测试方法,有不少于三个大型软件开发项目开发经验……最重要的,可以不吃饭不睡觉给老板做事。
作者: xiaochuanjiejie    时间: 2012-10-26 13:56
1W不多吧······这个年代
作者: btw616    时间: 2012-10-26 20:28
回复 3# 0xC1988


    没人吐槽那个 gets() 可能引起缓冲区溢出吗?。。。
作者: jerrymy    时间: 2012-10-26 21:26
回复 12# ethantsien

CS:APP里有好多篇幅讲这个的。


   
作者: 0xC1988    时间: 2012-10-26 22:54
btw616 发表于 2012-10-26 20:28
回复 3# 0xC1988


事实上被吐槽的不止gets
作者: leslielg    时间: 2012-10-29 09:31
今年很多公司应届硕士都1万5了,还讨论什么月薪1万的,以后的人怕都没见过1万以下的是什么样子。月薪1万的,至少得有一条,与时俱进。
作者: cokeboL    时间: 2012-10-29 11:48
回复 81# leslielg


    什么公司?占多少比例?
作者: haitun913    时间: 2012-10-30 14:03
囧,咋到处是这个话题
作者: superwiles    时间: 2012-11-01 07:37
这个帖子有年纪了, 其实月薪多少主要看所在平台结合自身能力,  平台好+能力强,自然高薪了。

作者: yulihua49    时间: 2012-11-02 15:03
本帖最后由 yulihua49 于 2012-11-02 15:11 编辑
cokeboL 发表于 2012-10-10 10:40
看到被老大置顶,又重新来思考这个问题,或许标题叫“月薪1w的代码。。。”不准确,应该改成“月薪1w的程序 ...

从代码并不能看出作者值多少钱。
一个老板愿意花1W雇一个coder,他希望:
你能帮他解决一些问题,要能带一个团队,并给予团队中的资浅coder技术支持。
你要熟悉指定环境的各种资源,把这些资源有效组合,以最快的时间拿下项目。

如果你能够规范的有效的组织一个软件工程,1W恐怕不够了。

按你的说法,9楼的程序作者值多少钱呢?
http://bbs.chinaunix.net/thread-3778382-1-1.html
作者: 原野牧歌    时间: 2012-11-02 23:16
好久没有认真的看一个帖子,今天看完了……
学习了看一些看问题的方式,说者无心,听者有意。
作者: PoplarDddCN    时间: 2012-11-04 07:34
回复 81# leslielg 谁信啊,口说无凭


   
作者: mtscw    时间: 2012-11-06 05:42
哈哈,这和月薪真的没有直接的关系!!
作者: leslielg    时间: 2012-11-06 09:33
回复 87# PoplarDddCN


    这事还有不信的?我编个这情况来蒙你?你们连行业的行情都不了解,还在瞎忙活什么?
作者: bun    时间: 2012-11-08 22:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: bun    时间: 2012-11-08 22:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: NalaGinrut    时间: 2012-11-08 22:38
你们把代码写到无懈可击的地步,唯一的奖赏就是这辈子失去高收入的机会。
产品有bug,才能赚维护费。。。乃们这些死心眼的家伙。。。
作者: cokeboL    时间: 2012-11-09 09:03
回复 92# NalaGinrut


    确实确实,以后要拖延完成速度,降低代码质量,这样显得忙碌、责任多。绩效考核难以量化,也不能怪老板们sb
作者: NalaGinrut    时间: 2012-11-09 10:02
回复 93# cokeboL

在某些单位,同行评审找出bug的数量是算到业绩里的,所以很多人都互相留bug,如果能直接就产生一个bug最好了,不必挖空心思构思一个 bug。。。

好再我早已经脱离这种地方了。。。

   
作者: cokeboL    时间: 2012-11-09 12:16
回复 94# NalaGinrut


    我媳妇是测试,她们公司的绩效指标之一就是找到的bug数,难道开发人员代码写的好,测试人员找的bug少就绩效不行了?。。。这世道,应了Ager那句了
作者: NalaGinrut    时间: 2012-11-09 12:21
回复 95# cokeboL

我们那会儿交给测试之前互相会挑一次,那次也要算。
测试总会挑出问题来的,我建议大家以后把自己写得凑合的代码发到C版来让大家轮番骂一通,锻炼下心智,免得总有人想不开要跳楼。
作者: cokeboL    时间: 2012-11-09 12:26
回复 96# NalaGinrut


    这个好,不如建议CU开个单元测试版,专供代码挑错的
作者: NalaGinrut    时间: 2012-11-09 13:24
回复 97# cokeboL

这个么。。。以CU上绝大多数人的脾气(也是码奴的普遍脾气),那里会成为一个结仇的地方。。。

   
作者: sonicling    时间: 2012-11-09 13:51
回复 98# NalaGinrut


    结仇的原因是因为审美标准不同,{:3_189:}
作者: NalaGinrut    时间: 2012-11-09 14:05
回复 99# sonicling


“你可以侮辱我本人,但不能侮辱我的代码”之类的想法在码奴中还是很普遍的。。。
作者: cokeboL    时间: 2012-11-09 15:19
回复 100# NalaGinrut


    不要紧,linus不是支持码农互相鄙视么。。。互相鄙视能学东西就好,又没多大经济损失,哈哈




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2