起因

“天天在那curd,也没啥技术含量”

“你就是一个curd boy”

“你就是一个curder啊”

“你不写代码,你只是代码的搬运工”

上面几句话,程序员是不是经常听到或者看到。这几句话说明了什么?

  1. 高度概括能力:用几个单词组合,就概括了多数程序员日常的工作情况。
  2. 自嘲:自嘲有时是一种乐观的品质,用一种调侃的方式来看待自身情况。
  3. 乐观:上面说了,自嘲是乐观表现之一,但这种乐观中带着些许无奈。

所以说,程序员还是很可爱的一群人儿。

除了“自嘲”外,我们是不是应该多想一想,是不是应该多分析一下原因,是不是要找出一些方法,来改善“天天curd”这种状况。

分析原因

  1. 没有意识到

    自己刚开始做的时候,可能没有意识到这种情况的存在,久而久之,你才慢慢意识到了这种情况的存在。但是,时间已经慢慢流逝了。你要尽早意识到这种情况。

  2. 天天加班

    每天任务都很多,老板还爱催时间,导致天天加班到很晚,回到家就很累,只想上床睡觉,根本没有心思想这些,哪有时间去改进。

    这就造成一个死循环,没有时间琢磨,改进程序,每天继续重复写代码,回家睡觉。明天,又重复同样的事情。

  3. 业务代码

    我就是底层天天写业务代码的,不curd我还能干啥。这里不要把写业务代码和curd相混淆了,写业务代码并没有什么不妥,它是创造价值的地方。多数公司都是靠程序员写出的业务代码形成的功能来服务客户赚钱。

    我所说的是不要天天curd,自己要动脑袋想一想,能否有更好的方法改进代码写法,提高产出的效率。这是你创造价值的一种方法。

  4. 没有方法

    有的人自己知晓这种情况的存在,苦于没有找到好的解决方法,无法打破这种魔咒。

下面我说出一些方法,欢迎大家留言讨论。集思广益,共同探讨,找到更多,更好的解决之道。

解决方法

前1、2两种情况

第一种情况:当然是你要尽快意识到这种情况,不要浪费太多的时间。“你还年轻,还有时间”这是一句安慰的话,不要轻信,时间是用一天就少一天。熟练了curd之后,就要自己琢磨向更高层次进发了。

第二种情况:就要评估下,是自己工作效率问题,导致加班到很晚,还是分配的任务确实过多,如果是任务确实过多,超过了自己负荷,那么就要向领导提出来减少任务,如果不行,那么考虑跳槽到好一点的公司。

后3、4两种情况

后面2种情况的改进方法,也可以作用于前面2种情况,改进前面2种情况。

复用

“复用”的思想。

大家在平实的开发中,应该经常会碰到这种思想。比如java语言,“一次编译,到处运行”,这就是一种复用的思想,编译一次之后,可以在多个平台运行代码。

那我们开发时候能不能用到这个思想,“一次开发,多处运行”。而不要做那种ctrl+c,ctrl+v的选手,“一次开发,到处copy”,这样到处copy,重复代码多,那么代码维护起来肯定困难,如果想修改,就要修改多处重复的代码。有什么改进方法?

能不能更好的抽象复用?经常的这样想一想,促进自己改进,成长。

重点:抽象复用,不断改进,促进成长。

向上

向上,就是向上思考。找到为什么要写curd?它产生的价值在哪里,有没有可以改进的地方?你做的这块越来越好后,上面会给你更大的责任,让你负责更多任务,如果你做的继续超出预期,那么你很有可能,以后会负责更多,拥有更大的抉择权,包括技术的选择。这时你也许会脱离curd初级阶段,进入程序设计,研发管理的进阶阶段。

有的放矢

有的放矢就是要找到自己的那个“的”,也就是目标。那怎么找到自己的目标?

很多人告诉你,要结合自己优势、兴趣等,然后在纸上列出一个清单,在根据自己列出的清单去寻找自己的目标。

还有的告诉你,列出一大推要学习内容,从java基础到java进阶,从单体到分布式,从cap到base等等。

这种方式不是不好,是学习的内容太多,而学习是一件反人性的事情,太多就容易累,也很难确定自己的阶段性操作目标。

我这里给一个简单可操作的方法:找自己心仪的公司。

怎么说?

就是自己心里想一想,盘算盘算,自己心仪的1到2家公司是哪2家,不要太多,太多精力会分散。找到了之后,去官方网站或者招聘网站,看它的招聘要求,根据上面的岗位要求,找出自己需要学习的内容,列出一个清单,制定学习计划,然后执行计划。这时才是像上面所说,找出基础到进阶,单体到分布式等等学习的内容。

这样就可以了吗?不行!

你按计划学习了2到3个月之后,去其他公司面试下,检验一下学习成果,然后根据面试结果,在回来调整学习计划。继续学习,学习半年后,这时可以给心仪公司投简历,或者找人内推,再次检验学习的成果。

如果面试不上心仪公司怎么办?不要怕,一次不行,接着调整学习计划,继续学习。很多情况下,不是一次就能成功,那就多试几次。要有屡败屡战的精神。

有的人说,简历投递有时间限制?那你可以投其他部门,还可以说明情况找人帮忙内推。总会有办法的。

再一个面试前,可以看看其他同学的面经,学习学习,不打无准备的仗。

还有,如果真的面不上,可以退而求其次,去找一个二级公司,把这家公司当作一个跳板,然后再去努力学习,来年再战。

以上就是一点思考,欢迎大家讨论,推荐-让更多人讨论。

【完】

我天天curd,怎么才能成长?的更多相关文章

  1. Android开发相关的Blog推荐——跟随大神的脚步才能成长为大神

    转载:https://blog.csdn.net/zhaokaiqiang1992/article/details/43731967 CSDN 鸿洋:http://blog.csdn.net/lmj6 ...

  2. 数据挖掘潜规则zz

    声明:本文指的是做数据挖掘这行,不是数据仓库 我干这行有几年了,见了很多人,干了很多公司,爆一爆这个行业的状况吧……让后来人有所了解,也让猎头挖人挖的有点方向,起码和candidates聊天的时候不至 ...

  3. 尝试create tech team

    自从上一家公司之后,我很少有机会去带一些新人(公司一般都招一些技术独立性的工程师),特别是经验不是特别多的新小伙伴.在如今管理扁平化的公司,我正逐渐搭建自己的小team,并试图让团队成员快速融入并成长 ...

  4. agile/scrum 如果一切都从解放前开始

    一个非常珍贵的机会,聚集了公司很多牛人,进行了一场发人深省的讨论.有一个话题我想拿出来和他家分享一下我的看法. 越来越不舒服的站会 站会是每天都在固定的时间.地点,大概持续15分钟左右(我们的小组都比 ...

  5. 初涉Linux ----------> Ubuntu15.04的安装与美化

     “你玩 Linux 吗?” “什么 Linux ?” “你连 Linux 都不知道?还说是学计算机的呢...”  “干嘛要用 Linux 啊?windows多好,Linux?没兴趣” 一.  前言 ...

  6. OC中intValue要注意的地方

    在程序中,发现一个问题,写了个例子,如下:         NSDictionary * dict = [[NSDictionary alloc] init];        NSString * s ...

  7. [计算机组成原理][实验十.R-I-J型指令CPU设计实验总结]

    总算解决一大心头之患了,比想象中容易,通宵两夜,刷完了十个实验,这个实验就是最后的了.感慨颇多.特地写篇总结. 想做一件事,就立马去做把.你会发现没那么困难,往往最大的困难,是心里的困难. 培养了HD ...

  8. 程序员求职之道(《程序员面试笔试宝典》)之看着别人手拿大把的offer,不淡定了怎么办?

    不管是在哪里,不管发生什么事,不要随便放下自己. --<当男人恋爱时> 很多求职者都会面临一个问题:别人手拿大把大把的offer了,而自己却是两手空空,别人签约之后已经过着"猪狗 ...

  9. spring aop获取目标对象的方法对象(包括方法上的注解)

    这两天在学习权限控制模块.以前看过传智播客黎活明老师的巴巴运动网视频教程,里面就讲到权限控制的解决方案,当时也只是看看视频,没有动手实践,虽说看过几遍,可是对于系统中的权限控制还是很迷茫,所以借着这次 ...

随机推荐

  1. 快速上手spring

    一.初始程序 1.在父类pom导入所需要的jar包 2.编写一个实体类 3.创建一个beans.xml,创建一个bean即创建一个user对象,可在bean内配置property即设置属性值 4.用测 ...

  2. synchronized和lock的作用与对比

    一.synchronized的作用 synchronized是java中的一个关键字,用于线程同步.1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象 ...

  3. Shell学习(一)认识Shell

    一.啥是Shell Shell : 一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell脚本 :  一种为 shell 编写的 ...

  4. myisamchk是用来做什么的?MyISAM Static和MyISAM Dynamic有什么区别?

    myisamchk是用来做什么的? 它用来压缩MyISAM[歌1] 表,这减少了磁盘或内存使用. MyISAM Static和MyISAM Dynamic有什么区别? 在MyISAM Static上的 ...

  5. Python练习题 010:分解质因数

    [Python练习题 010]将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. -------------------------------------------------- ...

  6. 《Java从入门到失业》第五章:继承与多态(5.1-5.7):继承

    5.继承与多态 5.1为什么要继承 最近我儿子迷上了一款吃鸡游戏<香肠派对>,无奈给他买了许多玩具枪,我数了下,有一把狙击枪AWM,一把步枪AK47,一把重机枪加特林(Gatling).假 ...

  7. 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法

    071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...

  8. 032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例——闰年问题

    032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例--闰年问题 本文知识点:运算符和if-else条件语句的综合案例 ...

  9. Java知识系统回顾整理01基础05控制流程02 switch

    一.switch switch 语句相当于 if else的另一种表达方式 switch可以使用byte,short,int,char,String,enum 注: 每个表达式结束,都应该有一个bre ...

  10. Python实现的数据结构与算法之链表详解

    一.概述 链表(linked list)是一组数据项的集合,其中每个数据项都是一个节点的一部分,每个节点还包含指向下一个节点的链接.根据结构的不同,链表可以分为单向链表.单向循环链表.双向链表.双向循 ...