===================

2019.2.11

大部分内容准备放回到自己的小网站(https://cvmentors.com/)上写了,gitbook这里就不再维护更新啦~

===================

Project的中级写法

我们看到一个homework级别的Project有几个问题:tech stack傻瓜自动化,开发上没有技术深度,给人感觉几天就能做完。在此之上一个错误的改进方法是增加重复功能,这就陷入了之前提到的苦劳思维。正确的改进方法是,增加功能上的feature,提高技术深度。我们来看一下中级的Project的例子:

Rails based Online Resume Consulting Web Service (www.cvmastersonline.com) 2017/01 - 2017/08

  • Implemented the web service with Ruby, Rails, MongoDB/MongoID, ReactJS, Webpacker for online consulting service
  • Developed the Ajax based frontend with Yarn, Webpack, ReactJS, and Redux for middlewares and reducers
  • Implemented MVC backend with Rails 5.1 and backend job queue with Sidekiq and Redis
  • Implemented realtime user chatting room with ActionCable/WebSockets

这里Project的基本细节仍然是开发环境,前端,后端,和一个feature。对于初级project,中级Project有几个方面的提高:

  1. Framework升级。原来傻瓜级别的jQuery和Bootstrap已经不再提及了,换成了ReactJS,Webpack,Yarn,和Redux。相对于jQuery,ReactJS+Redux本身提供了基于前端的MVC架构,远比jQuery复杂的多。
  2. Framework深化。这里web service的主要Framework任然是Ruby on Rails,但是细节上提及了Ruby on Rails下具体功能,包括ActionCable和对backend job的支持(Sidekiq gem)。类似,为了显示对Redux的了解,文中还特别提到了middlewares和reducers。
  3. Feature的提高。这里仍然只提及了一个具体的feature,但是已经从user authentication替换成了realtime chatting room。作为一个相对少见的功能,这里实际上开发难度有所提高,并且涉及到背后的原理(WebSockets协议)。

和初级写法类似,这里背后的逻辑同样适用于其他Web service的project。同样的ReactJS和Redux可以换成AngularJS,Vue,或者其他基于NodeJS的framework。这里顺便提一下,如果你不提及ES6,NodeJS相关的这些framework,很难说服别人你真的会用JavaScript。Server端的MVC换成Python端的可以用Django或者Flask,backend job queue可以用RebbitMQ和Celery。ActionCable是Rails自带的,Python下可以用SocketIO替代。这里想说的是,common feature总有common solution,无论你是用ruby用python用java还是用别的语言,相似系统(比如所有的web service)常用的feature总有常用的open source library。如果你的简历里不写这些library,面试官就倾向于认为你对相关的framework只是浅尝辄止,毕竟现在顺着一个教程随便试一下某个framework也就花几个小时。Web service类型的project是如此,其他做大数据处理或者移动开发的,原理也是一样。

Project写到现在的程度,才算是刚刚符合“Project”的称呼。对于刚刚本科或者硕士毕业的同学,简历能写到这种程度的话在我看来已经很不错了。当然我也没办法下结论说Project写到这个程度就一定能进入面试或者拿到offer,毕竟找工作本身就是一个充满各种不确定性的过程。在我看来,拿到面试是检验简历的唯一标准。如果你发现简历拿到面试的比率比较高,那才说明你的简历过关了。若果你发现投出去大量简历都石沉大海,那还是想想办法升级和深化自己的Project吧。

===

这里不能留言,如果有任何疑问,欢迎在我的个人网站(cvmentors.com)上讨论:

https://cvmentors.com/r/resources/59e808305b7cef7f38fbb81c

results matching ""

    No results matching ""