近期看到一个知乎里非常热闹的讨论。当中讨论到科研能力与project能力,我有非常多感想。

想说说大学CS方向的一些东西。

    我不是计算机专业的,如今大二本科工科在读。

    我接触编程起先是由于必修课有一门C语言要学。课结束之后还是一直写些零零散散的代码,逐渐触及非常多软件领域的知识,诸如linux使用,android开发……折腾了许久,逐渐发现这个行当里有非常多让刚開始学习的人,尤其是在校生,非常迷惑的地方。

    作为业余编程爱好者,没人要求我学习那一大堆计算机或者软件专业的枯燥理论,我自然有很多其它时间和精力去做我感兴趣的事情。

我感兴趣的事情正是花一段时间去读API以及范例,然后去动手实现一个小应用。实话讲,这样的小东西对算法的要求非常低。很多其它的是关注函数的调用和相关功能的实现。

    动手实践,的确是不错的。但这里有个问题。你看API敲代码,读范例然后模仿。老实话说这是一种低级智力活动。

简而言之,仅仅是一种熟能生巧。是典型的技工(码农)。

    假设一个人不太笨,肯下功夫,那全然是能够做一个非常好的技工的。这意味着,成为技工的成本非常低。假设仅仅想做一个熟练的技工(码农),何必上大学里那么多枯燥的理论课?那些理论课的目的是什么?我想是为了教你具备成为一个project师而非码农的素养。

    project师须要的不仅仅是API,很多其它的是对系统的架构,对性能的评估。因而须要更加扎实的计算机相关理论。

我想CS专业的培养目标就是输出一流project师甚至计算机科学家吧!

    对于非专业的爱好者而言。他们很多其它关注产品实现,而头疼于晦涩的理论,就像我如今一样。假设想要把编程的爱好做成自己的职业,爱好者往往不占领优势。由于他们多数没有科班学习的经历。全凭兴趣,缺乏系统的认识和理论,小打小闹足够了。但做真格的大型项目就处于明显劣势了。

    我觉得,像我这样处在大学阶段的非专业同学能够扩展视野。通过这样建立对这个行业的认识。然后选择感兴趣的方向钻研下去,并一定要辅以对理论知识的学习,那样能够加深对理论之于实践的理解。终于让自己的爱好变得专业起来。

    大学?做码农?做project师?我想应该有个答案了。

大学?做码农?做project师?的更多相关文章

  1. 一名Java架构师分享自己的从业心得,从码农到架构师我用了八年

    工作了挺久,发现有个挺有意思的现象,从程序员.高级程序员,到现在挂着架构师.专家之类的头衔,伴随着技术和能力的提高,想不明白的事情反而越来越多了. 这些疑问有些来自于跟小伙伴的交流,有些是我的自问自答 ...

  2. [2013 eoe移动开发者大会]靳岩:从码农到极客的升级之路

    (国内知名Android开发论坛 eoe开发者社区推荐:http://www.eoeandroid.com/) 前天,2013 eoe 移动开发者大会在国家会议中心召开,eoe 开发者社区创始人靳岩在 ...

  3. 管理与技术未必不可兼得,一个20年IT老兵的码农生涯

    作者|康德胜 我是一个喜欢写代码但几乎不太有机会写代码的CTO,也是一个看得懂财务报表.通过所有CFA(金融特许分析师)考试并获得FRM(金融风险经理)认证的拿到金融MBA的CTO,如果我有幸被称作码 ...

  4. web前端project师知识汇总

    分类: Web开发应用  一.何为Web前端project师?           前端project师,也叫Web前端开发project师.他是随着web发展.细分出来的行业.Web前端开发proj ...

  5. 码农"混子"的思想转变

    首先介绍一下自己,在高中的时候学校对于我们这种普通班级采取的都是放养状态,所以高中的学习真是不咋地,可能除了自己擅长的数学以外其他也就考个三四十分,后来磕磕绊绊的在打游戏之余也会学习,第一次参加高考跟 ...

  6. 做为一个.net码农,打开公司的一个项目,大叔我哭了

    先说下背景,楼主在上海,之前一直是做BS互联网开发的,今年进入这家公司,是做软件产品的小外企. 然后,啥也不说了,直接上图吧: 因为一个屏幕没有办法显示出来,所以我截了3张图,然后拼成一张,这还是我花 ...

  7. 想做web前端project师应该学习些什么?

    偶然间看到这篇文章.感觉博主写的挺不错的,假设你想做web前端project师的话,建议您阅读下面这篇文章,事实上web前端project师所做的工作事实上就是站点设计,有些小公司的美工事实上就是做w ...

  8. 教你怎样做个有“钱”途的測试project师

    百度百科说測试project师这一职业的待遇,薪酬上升空间很大.但測试project师也有自己的烦恼,比方在程序出错后,将问题反馈给程序猿,然后程序猿给的答复是:"oh,howisthatp ...

  9. 如何做更好的Android驱动project师

        随着智能手机的飞跃发展,特别是Android智能机的爆炸性发展,Android驱动project师是越来越受欢迎的一个职位,并且是一个非常值得人期待的职位,由于可能你參与研发的一款手机就能改变 ...

随机推荐

  1. [angularjs] angularjs系列笔记(四)控制器

    Scope作用域 Scope作用域是应用在HTML视图和Js控制器之间的纽带 Scope是一个对象,有可用的属性和方法 根作用域 所有的应用都有一个$rootScope,它可以作用在ng-app指令包 ...

  2. 【Tomcat】Tomcat的类加载机制

    在Tomcat中主要有以下几种类加载器:(图片来自网络) tomcat启动时,会创建几种类加载器: 1 Bootstrap 引导类加载器 加载JVM启动所需的类,以及标准扩展类,位于jre/lib/e ...

  3. Netty实战二之自己的Netty应用程序

    接下来我们将展示如何构建一个基于Netty的客户端和服务器,程序很简单:客户端将消息发送给服务器,而服务器再将消息回送给客户端,这将是一个对你而言很重要的第一个netty的实践经验. 1.设置开发环境 ...

  4. Centos6.5安装MySQL5.6备忘记录

    Centos6.5安装MySQL5.6 1. 查看系统状态 [root@itzhouq32 tools]# cat /etc/issue CentOS release 6.5 (Final) Kern ...

  5. webpack4 系列教程(十二):处理第三方JavaScript库

    教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步<webpack4 系列教程(十二):处理第三方 JavaScript 库>原文地址.或者来我的小站看更多内容:godbm ...

  6. ApplicationListener详解

    ApplicationListener详解 ApplicationListener可以监听某个事件event 通过实现这个接口,传入一个泛型事件,在run方法中就可以监听这个事件,从而做出一定的逻辑 ...

  7. CentOS 安装 jdk

    1.首下载CentOS对应的jdk压缩包. 2.通过secureCRT工具远程连接目标服务器. 3.通过rz命令上传jdk压缩包到linux服务器. 4.解压缩上传的jdk压缩包 tar -zxvf ...

  8. Nginx 动静分离

    Tomcat 能处理静态资源和动态资源,但是处理静态资源效率并不高,处于优化性能,提高访问效率,可以让 Tomcat 处理动态资源,让 Nginx 处理静态资源 1,配置虚拟主机 该配置的意思是:js ...

  9. Deep Learning - 1 神经网络

    Artificial Neuron 人工神经元有: Perceptrons(感知机) Sigmoid Perceptron 感知机input是多个二进制,output是一个二进制. graph LR ...

  10. Ubuntu快捷键、Ubuntu终端常用命令

    Ubuntu快捷键 0.Ctrl + Alt + t 打开终端,在终端命令行操作 1. Ctrl + W: 关闭当前 Nautilus 窗口 2. Ctrl+T: 在 Nautilus 打开新的 Ta ...