Search
Close this search box.
Search
Close this search box.

从“转码小白”到名校博士:付权智的探索之旅

拿下阿里、美团、百度、蚂蚁金服等多家头部大厂的offer,以4.0满绩从昆山杜克大学电子与计算机工程硕士(ECE)项目毕业,获杜克大学硕士学位,并荣获“优秀毕业生”和“杰出领导力”等荣誉。这就是“学霸”付权智,昆杜ECE项目2024届毕业生。在毕业之际,他放弃了光鲜的大厂工作机会,毅然选择前往弗吉尼亚理工大学攻读博士学位。是什么原因让他选择投入学术的怀抱?又是什么信念支撑他不断攀登未知的高峰?今天,让我们走进付权智的世界,感受他如何用热爱书写人生的“无限可能”。

兴趣是我转码的“源动力”

我本科学的是统计学,在本科学习中,我发现相比于分析数据,我对于具体代码的实现有着更浓厚的兴趣,因此我申请研究生的时候选择了计算机相关项目。然而,大多数计算机专业对于缺乏相关背景的申请者不够友好。

这时,我了解到昆山杜克大学电子与计算机工程硕士(ECE)项目,它和美国杜克大学有着相同的课程设置,在高阶课程之外还提供面向非计算机专业学生的基础课程,并能获得杜克大学硕士学位。这成了我的最佳选择。

在正式入学前,我出于兴趣自学了许多计算机公开课。这些在线公开课帮我搭建了计算机知识的基础框架。比如,卡内基梅隆大学Computer Systems(计算机系统)和加州大学伯克利分校Data Structures(数据结构),为我后续在昆杜ECE的学习打下了基础。

学霸视角下的ECE课程

专业课让我收获最多时刻是在完成每门课作业的过程中。尤其是ECE 651:Software Engineering(软件工程)和ECE 551:Programming,Data Structures,and Algorithms in C++(C++编程、数据结构与算法)这两门课,让我切身体会到工程师的动手实践能力是如何培养出来的。ECE551虽然是入门课程,但和工业界接轨,所有的项目全程使用Linux环境进行开发,并通过Git进行版本管理和作业提交。ECE651的课程项目则是模拟了真实开发流程,将需求通过多个阶段逐步发布,不同版本的需求间还会有所更改。通过这种方式,我们不断地反思和优化代码架构,并系统性地培养了编写测试代码和撰写技术文档等软件工程实践习惯。

这种紧贴实践的课程设置来源于教授对学生需求的深入了解以及深厚的工业界背景。第二年在杜克学习时,我有幸邀请到了杜克大学ECE551和ECE651课程的设计者,也是整个ECE软件方向的课程设计者,Andrew Hilton教授一起用餐。他跟我分享到他从本科担任助教时就开始收集学生在学习编程时遇到的痛点和挑战,博士毕业后将近十年的经验总结成了ECE551课本。同时,Hilton教授在加入杜克前在IBM工作多年。这些经历相结合,才有了包括ECE551和ECE651在内的一系列深入浅出且结合实践的课程。这些课程对我的实习乃至现在的博士研究都有了深远的影响。

昆杜助教:突破传统角色

研一期间,我担任了昆杜本科课程的助教。与传统大学的助教工作通常局限于答疑和批改作业不同,由于昆杜采用小班教学,与教授沟通后助教可以有比较大的自由去开展教学创新。

我在昆杜的首次助教经历是在STAT101数据分析课上。由于不少学生来自社会科学专业,缺乏编程基础。针对于他们反映的课上教学的R语言难以掌握的问题,我开发了一个面向零基础的R语言编程教程,广受好评,教程内容被加入教案沿用至今。

在另一门Python入门课程中,我汲取了在公开课中优秀作业的优点,将测试等软件开发中难以理解的概念融入到作业中,并开发了自动评分系统。在教授的指导下,我还为同学们设计了一个新的final project(期末项目),同样获得了同学们的一致好评。

每每收到学生的反馈,说新的作业或文档切实帮助到他们理解知识,这种成就感是无可替代的。

阿里云“修炼”笔记

作为一名转专业学生,我起初面对寻找实习感到有些焦虑,担心由于简历上缺乏相关经验而难以获得优质机会。然而,得益于ECE项目老师的内推资源,我获得了很多面试机会。通过多次面试,我逐渐提升了面试技巧,也会在每次失败经历中复盘,对我的知识储备查漏补缺。期间,我收到了阿里云、美团、百度等多家公司的offer。出于对计算机系统底层架构的浓厚兴趣,我最终选择了去阿里云基础架构团队实习。

实习期间,我接触到了工业界前沿的分布式系统。在学校里,我们所做的作业仅仅是对真实世界的模拟,然而实习让我真正体会到编写的代码如何直接影响到真实世界的实际运行。作为互联网基础设置,阿里云平台上运行着游戏、支付软件、商城等成千上万的服务负载,平台的任何故障都会对大家的生活造成影响。阿里云内部完善的代码质量管控和上线流程,也让我对学校中学到的软件工程原理有了更深的认识。

我的实习经历,既是对我所学知识的验证,也是学习新知识的机会。

我实习的项目集中在计算机网络方面,需要为云产品代理服务器开发热重启的功能。这个过程中,一个技术难点需要我去阅读Linux网络栈系统的源代码以找到解决方案。我一度怀疑自己, Linux作为世界上最复杂的软件系统之一,真的是我这个“转码”背景的人可以解决的吗?然而,当我真正点开代码库,那些课上学到的工具和方法自然涌入脑海,我很快理解了网络栈的运行逻辑,并成功解决了问题。这让我才意识到,过去投入的那些努力,在ECE课程中积累的知识和方法,早已融入了我的思维。

我实习中遇到的同事也给了我很大的影响。我的mentor(导师)是资深基础架构工程师,组里的技术大拿,但仍然保持着对技术的热情和充分的耐心。无论加班到多晚,每当我有问题请教时,他都会停下手中的工作,与我一同解决问题。有些难点即使有了其它的解决方案,他依然会在工作之余研究,直到完全理解问题。巧合的是,他刚入行时也不是计算机专业出身。但他身上投射出的那种执着,给我树立了优秀工程师典范。

开启读博之路

阿里云的实习不仅让我了解了现代系统的全貌,也引发了我对系统稳定性和安全性的思考,我希望在一个比较自由的环境中探索问题。因此,尽管在实习结束后,我陆续获得了阿里云、美团和蚂蚁集团的工作机会,我仍然选择申请博士项目,继续深造。

得益于阿里云的实习经历和在ECE项目打下的扎实基础,我在申请中收到了美国计算机专业排名列前茅的南加州大学、马里兰大学、弗吉尼亚理工大学等多所高校的录取通知书。在权衡了研究兴趣和未来发展,最终我选择了跟随弗吉尼亚理工大学的Dan Williams教授攻读博士学位,专注于操作系统和云计算系统在可信计算硬件上的研究。

如今,回望过去两年,我从一个不知网络和操作系统为何物的“小白”,到现在折腾过编译器,摆弄过操作系统内核,能在设计的作业中变着法地传授知识,在邮件中自信地给丧气的学生回复“I am always here for help”。无论在工业界和学术界,我都收到了顶尖机构的offer 。回想起两年前刚入学时的迷茫和焦虑,不禁感到释然和欣慰。

给学弟学妹的建议

1.关于ECE学习
在时间允许的情况下,尝试把上课提到的优秀工程实践应用到每个作业中去,而不仅仅是满足于完成要求的功能。许多软件工程的原则是需要在实践中练习和内化的。仅仅完成作业要求的功能会错过很多。

2.关于实习
精心准备简历,确保能够清晰展示自己的能力和优势。面试失败后要及时复盘,找出不足之处并对相关知识点进行查漏补缺。同时,每次面试不仅是展示自己的机会,更是了解行业内不同业务和岗位、挖掘自身兴趣的绝佳途径。通过这一过程,不仅能提升求职技巧,还能帮助你更清晰地规划职业方向。

3.关于想要转码学生
我的建议是,在刷题或恶补特定知识点之前,先沉下心来系统梳理一遍基础知识,可以让后续的学习事半功倍。

想了解更多电子与计算机工程硕士项目

可以添加招生官二维码

本文转载自昆山杜克大学研究生与研修项目,略有修改。

如果您是一名记者,正在寻找有关大学的信息或专家采访故事,我们的团队可以提供帮助。

媒体关系

中国传播

李怡
联系电话: (+86) 0512-3665 7720

邮箱: yi.li@dukekunshan.edu.cn

Add our
WeChat