自我评估,职业规划及对计算机专业的理解(大三软件工程学生的第一篇博客)

自我定位职业规划及对计算机邻域的理解

2020-01-09

自我定位:

本人就读于浙工大(仅次于985,211大学)软件工程专业,大三在读,对于学校教学计划掌握程度在80%,能够利用库或API独立完成特定功能,拥有部分项目开发管理的基础理论知识,未参与过大型项目开发或工作实习经验。在社会工作中,担任校级副会长,暑期实践团队全国百强,具备一定管理能力及处理事务能力。

职业规划:(三条路,都基于回国工作的前提)
  1. 出国读研(对于下定决心研究算法邻域,深入的学习)
    美国:如果家里足够有钱30-50万*3年至少,对计算机有兴趣自信能专心研究算法能在某一领域达到较高水平,能在外较长时间不受干扰(父母身体情况,亲友关系,男女朋友等等),美国留学是不错的选择。
    欧洲等:与美国类似,相较而言,时间成本1-2年,经济成本都较低,但主要面临国内大多公司不认可1-2年出来的研究生学位的问题。这也本来是我的打算,计划能在国外期间在学术期刊上有所建树,能够发表论文为回国做打算,但也存在较高风险。
  2. 国内读研
    与出国留学做比较,国内考研问题主要为竞争压力大,选择目标院校后便属于孤注一掷,初试成绩较为透明,复试就有较多不可控因素。对于国外申请而言,总有一所大学会给你发offer更加有风险及压力。但国内考研的优势也有很多,对于很多企业而言国内985,211也许在世界排名上不比国外大学但更受青睐,研究生阶段获得的人脉,资源,开发团队环境的适应等等。现在出国变得逐渐简单,有一种花钱买学历的感觉,可能今后出国优势会更小。相比出国国内考研更需要去努力,这也是我现在的选择。
  3. 本科就业
    对于计算机邻域有一定的特殊性,由于技术更迭快,本科直接就业也不失为一个很好的选择。在校期间把握校招机会,计算机行业看重第一份工作,如果能进入大公司实习或就业,大概率会放弃考研。基本计划修改为在适应大公司节奏环境后,在游刃有余的情况下考取管理等专业的研究生,进一步提升。(至于为什么不选择计算机专业研究生,这个行业时间成本高,吃年轻饭,且本人并不打算单纯做一只程序猿,再者一味的专精技术除非能在行业中遥遥领先,不然很难在同事中脱颖而出,甚至可能吃力不讨好)
对于计算机专业的理解

程序员的思维及优势

  1. 复用性,模块化思维:由于代码追求简洁,高复用性,包括创造出函数,类,对象,都是对现实事务或一系列动作的分类,寻求共同点加以简化。就好比在现实生活中看到一些繁琐重复的工作,作为一个程序员就会去思考能不能将这种重复的工作写成程序(可以是很简陋但是实用的界面,解放人力同时也体现价值)。
  2. 分解问题,最优解思维:这是很典型的在写代码时处理问题的方法,在生活中碰到一个负责的任务,同样的我们可以思考能不能简化,分解成小问题小任务再将任务分配下去,这就是一种管理的思维;碰到一个决策,我们会自然而然地思考有几种解决方案,什么是最优解,最终的影响等等。
  3. 寻找解决方法的能力:很多人在生活中遇到问题往往是找人帮忙,自己摸索,行是可行可是效率可能会低下,让他人觉得你能力不够;而程序员往往会第一时间从网络中寻找答案,如果不能获得答案再执行常人的第一步,由于很多人在网上求助及我们强大的搜索引擎一般的问题都可以获得答案,而剩下的可能只有翻阅论文或少部分专业人士了解的问题,我们提出来就是情有可原的。并且程序员往往更了解如何用合适的关键词搜索到我们想要的结果。

我想说的是:作为一个程序员无论是否从事深入的算法研究,或在某一计算机邻域有深入研究,无论从事什么领域,这种思维都会带给我们一定优势。

程序员的层次
对于层次的划分作为一个大三学生,没有站在最顶端很难有准确的定位,只能在理解范围内尽量去区分每一类程序员:

  1. 代码初识者: 这一类人处于刚刚接触代码的阶段,如果处于基础语法的学习那就可以分为这一类人,脱离这一类人的标准为1. 对面向对象的思维,类的创建,函数的构造等有比较完全的理解 能很快的掌握一门新的语言,比如学了C或C++,能在几个星期内掌握Java。
  2. 代码熟用者: 这类人的标准为,写代码基本不出现编译错误,代码报错能通过百度等方法解决,能看懂网上别人的代码例如善用GitHub等,能够运用现有的库或接口完成小的功能。
  3. 代码创造者: 指对于算法及数据结构,操作系统及内存消耗有一定了解,能够自己实现或创造库或API的人,往往是对计算机某一邻域有深入研究的开发人员。
  4. 项目管理者: 与上一层次属于不同的发展方向,比起深入的研究算法,在某一邻域成为大牛,这类人往往更了解市场,相比较而言善于处理人与人的关系作为一个管理者。同样也对结构框架有深入了解,懂得如何分配任务,哪些部分作为外包等等。

如何提升
在前两个层次中,普遍处于在校学生,除了日常教学以外网课是不错的选择,最为有效的方法可能是写博客,如果从很早开始并且养成习惯,它会督促你不断地学习了解新的知识,以文字的方式记录下来也能让知识更为扎实。
后两者都需要先熟悉市场框架,团队开发的方法等等,故进入公司作为底层开发人员一至两年是必不可少的环节,所以第一份工作也变得尤为重要。而选择深入学习算法还是转为管理成为了两种选择,但无论哪一种在一定经验基础之上不断了解最新的前沿技术都是必不可少的,在毕业后了解最新的外刊信息或论文信息都是不断学习的必要途径。

结语:

在写本博客时,主要结合自身情况,基于大学三年学习的理解下,很大一部分可能是基于各种文章的合理猜测,欢迎各位前辈指正。之后的博客可能包括日常学习了解的内容,及大学中学到的知识的总结。

后续:

2020-5-27
目前计划:

  • 9月PAT考试,可以代替复试上机分数,类似ACM与Leetcode,更加小众,只有部分合作院校有要求。
  • 12月考研初始,目标院校浙大计算机学院软件工程专业,专业科目408(数据结构,计算机组成原理,计算机网络,操作系统),相比较与软件学院专业课878更难,分数线也更高,但软件学院在宁波,在备考阶段408的学习将很大的巩固基础。
    复试初始期间:可能继续3月PAT备考,虽然不能代替上机分数,但是为复试上机做准备。
  • 4-5月考研复试,上机应该是复试逆袭的一个重要标准。
  • 6月,刚好成年,满足PMP项目管理证书的考试要求,在此之前已经上完PMP课程,进行过一次模拟考,通过不难,努力考5A,在PMP的学习中巩固了本科期间对软件工程方方面面的知识,在工作中可能有更大的帮助,也建议从事IT项目的不管是项目经理或是普通码农都有很大好处。

目前进度:

  • 总体:没有外界因素打扰每天8小时+
  • 考研:
    高数:跟着b站乐经良老师一轮课程,个人感觉基础还行,正在看李永乐全书(全书建议书看完一遍再跟着看基础课,全书的例题课后题会非常难,不要影响心态)配合660及1800直接过完1-2轮。
    专业课408:刚开头,感觉量确实很多,对于跨考同学可能负担很重,非跨考5-6月开始确实是需要的。
    英语:单词1.5轮,每天就看看单词书,感觉不太需要精力投入,每天2小时
  • PAT: :专业课基本有把握框架后开始,预计7-8月
  • PMP:上完PMP课程,进行过一次模拟考,考研结束继续

你可能感兴趣的:(考研,408)