写下你的第一行代码
展开说明 →
别看视频学编程,直接动手。打开终端,敲 `python3`,进交互式环境,让它打印你的名字。然后写一个 `.py` 文件,算你活了多少天。 做完用 git 提交。命令:`git init` → `git add .` → `git commit -m "first program"`。从今天起,你写的每一段代码都应该有版本记录。 参考:Python 官方教程前 5 章 https://docs.python.org/zh-cn/3/tutorial/
打地基 · 零基础起步
别看视频学编程,直接动手。打开终端,敲 `python3`,进交互式环境,让它打印你的名字。然后写一个 `.py` 文件,算你活了多少天。 做完用 git 提交。命令:`git init` → `git add .` → `git commit -m "first program"`。从今天起,你写的每一段代码都应该有版本记录。 参考:Python 官方教程前 5 章 https://docs.python.org/zh-cn/3/tutorial/
GitHub 是你的技术简历。从今天起,你写的每一段代码都应该往 GitHub 上 push。四年后你的 GitHub 主页就是你最好的作品集。 别用花哨用户名,用真名拼音或者一个你能用十年的 ID。这个 ID 以后会出现在简历、邮件、PR 里。
硬件工程师的第一关。这一步不需要写代码,只需要你理解:电流、电压、电阻是怎么回事,LED 怎么才会亮,为什么不能直接接电池(会烧)。 买元件包去淘宝搜"面包板入门套件"。30 块钱的东西,别买贵的。 欧姆定律:U = I × R。LED 一般要 2V 电压、20mA 电流,电池 3V,所以电阻 = (3-2) / 0.02 = 50Ω,用 220Ω 也行(灯会暗一点但安全)。 做完这一步你就懂了"电路"是什么。后面所有硬件知识都建立在这上面。
英语是你这四年最值的投资。先测一下你真实水平:打开 Python 英文文档读 10 分钟,不查字典,估计看懂多少。 如果看懂 50% 以下,先从背单词 + 看李宏毅中文课开始,但代码注释和报错信息坚持看英文。如果看懂 50%-80%,开始每天读 1 篇英文技术博客。如果 80% 以上,直接看 MIT/Berkeley 英文课。 每天 20 分钟,坚持四年,你的英语会从"看不懂"变成"看得比中文还快"。这件事比任何一门技术课都值。
开始之前先校准心态。学校普通不等于你普通。动手永远优先于看课。别和同班比,和全世界比。 挑一条最戳你的心法贴到电脑边。四年里你会反复想放弃,那条贴着的话会拉你回来。
大一第一件事:把工具装顺。Windows 用户一定要装 WSL2,别在原生 Windows 上折腾开发环境,会浪费你大量时间。装完 WSL2 后,所有命令行操作都在 Ubuntu 里做。 VSCode 是你的主编辑器,Git 是版本控制(以后每个项目都要用),Python 是你入门编程的语言。 踩坑提示:装 WSL2 时如果卡在虚拟化,进 BIOS 开 VT-x。装 Python 别装最新版,装 3.10 或 3.11 稳定版。
别只看课不动手。学完基础语法后立刻做这两个小项目。做不出来就回去查,查完再写,循环到做出来为止。 待办清单程序教你"数据怎么存"和"程序怎么持久化"。猜数字教你"程序怎么和人交互"。这两个东西以后每个项目都用得到。 参考:Python 官方教程 5-10 章。卡住就 Google "python how to ...",别直接问 AI,先自己查。
英语是习惯问题,不是智力问题。每天 20 分钟,连续 30 天,就成习惯了。手机改英文是逼自己每天看英文,免费的环境沉浸。 别贪多。20 个词 × 30 天 = 600 词,刚好覆盖技术文档高频词。
从面包板纯电路升级到"可编程电路"。Arduino 是最友好的单片机入门,C++ 语法但被封装得很简单。 这一步让你理解:芯片是什么、固件是什么、烧录是什么、串口是什么。后面所有嵌入式都建立在这上面。 买板子去淘宝搜"Arduino UNO R3",国产兼容板 15 块就行,别买原装(贵 5 倍没区别)。
百度搜不到技术问题。学会用 Google,学会用搜索操作符。这是自学能力的核心。 以后你 90% 的问题都能靠搜索解决。剩下 10% 才需要问人。问人之前先 Google 30 分钟,这是工程师的基本礼仪。
命令行是工程师的家。这 20 个命令以后你每天用 100 遍。现在花 3 小时练熟,省你以后 300 小时。 Windows 用户一定在 WSL2 里练,别在 PowerShell 里练(命令不一样,会混淆)。
数据结构是算法的底子。先从最基础的四个开始:数组、链表、栈、队列。别用库,自己手写一遍,你才会真懂。 理解的关键:它们在内存里长什么样、增删改查各是 O(几)。能画图讲清楚就懂了。 参考:CS61A 第 2 章,或《算法导论》第 10 章(英文)。
电路基础三件套:串并联、分压、限流。这三个搞懂,你看 80% 的入门电路都不慌。 万用表是硬件工程师的"眼睛"。30 块的数字万用表就够用,能测通断、电压、电流、电阻。
大学数学默认你会高中函数。如果忘了,现在补回来,不然后面线代、概率会全程懵。 不用刷难题,把概念弄清楚、基础题做对就行。对数是重点,因为算法复杂度 O(log n) 你以后天天见。
工程师最大的敌人不是不会,是"想做完美结果一直不动手"。先做出最丑的能跑的版本,再迭代。 这一关没有代码,只有习惯。从今天起,每个项目都先做 MVP(最小可用版本),再优化。
没有笔记的工程师是裸奔。你学的东西不记下来,三个月后就忘光。 推荐 Obsidian(本地 Markdown,免费,可同步 GitHub)。别花太多时间选工具,选一个用到底。
Big O 是工程师的"通用语言"。面试必问,写代码时也要心里有数。这关不难,但重要。 学完立刻分析你之前写的 Python 代码,看看每段是 O(几)。养成习惯:写完代码先想复杂度。
Python 让你入门,C 让你懂底层。嵌入式、操作系统、单片机底层全是 C。这关绕不过去。 C 的难点在指针。指针就是"地址"。画内存图,一格一格画,画 10 遍你就懂了。 参考:《C 程序设计语言》(K&R),薄薄一本,是 C 语言作者写的。看英文版,不到 200 页。
操作系统是软件工程师的内功。先建立概念,不用深入。知道进程、线程、内存、文件系统是什么,面试时能讲清楚就行。 推荐书:OSTEP(操作系统导论),免费英文版 http://ostep.org,写得非常生动。
程序员 90% 的时间在读报错。报错是英文的,你绕不开。强迫自己先读原文,慢慢就习惯了。 这一关不是任务,是习惯。从今天起,所有报错先读英文。
从"控制 LED"升级到"感知世界"。传感器是智能车的眼睛,这一步让你理解"信号怎么从物理世界进到芯片"。 DHT11 是数字传感器(直接给数字),光敏是模拟传感器(给电压)。两种都做一遍,你就懂了数字 vs 模拟。
指针是 C 的灵魂,也是面试必考。这一关是 BOSS,多花时间。 诀窍:画内存图。每行代码画一格内存,标地址、标值。画 20 遍你就通了。 学完做 LeetCode 上 5 道用指针的题验证。
链表是数据结构的入门 BOSS。用 C 写一遍,再用 Python 写一遍,对比体会。 LeetCode 链表题从 Easy 开始,做 5 道。反转链表是经典面试题,必须会。
从读报错升级到读文章。每周 1 篇,4 周后你读英文技术文的速度会快一倍。 推荐 ByteByteGo(系统设计)、Joel on Software(软件工程文化)、Martin Fowler(架构)。
面包板是临时的,PCB 是永久的。这一步先建概念,不用精通。能画一个最简单的板子下单做出来,你就懂"硬件产品怎么做出来的"。 打板很便宜,嘉立创 5 块钱 5 片。第一次打出来的板子你会很骄傲。
知道什么是"好",才能做出好东西。看顶级项目的代码长什么样,建立品味。 不用看懂,看结构、看命名、看注释。你会知道"原来好代码长这样"。
你专业的"专业面"。先建行业认知,知道这个产业里都有谁、谁干什么、谁招人。 这一关让你面试时能讲清楚"车"是怎么回事,而不是只会写代码。 参考:看小鹏、蔚来、文远知行、广汽研究院的官网招聘页,看他们招什么岗。
排序是算法入门必做。四种基础排序手写一遍,你就懂"算法是什么"。 快排是重点,面试高频。学会分治思想,后面归并、堆排都好理解。
半年过去了,停下来想想。复盘是工程师最值钱的习惯之一。 写下来你才会发现自己其实做了不少,也会发现哪些地方在糊弄。复盘发到 GitHub,开始养你的技术博客。
开源不是大神才能做。从改错别字开始,先走通 fork → 改 → PR 的流程。第一次走完,你就懂开源怎么玩了。 PR 被拒很正常,别灰心。看 review 意见,改完再提。
第一个完整项目是分水岭。从"会写代码"到"能做出一个东西"。这一关是 BOSS,认真做。 项目要小而完整:能跑、有 README、有演示。别贪大,小而完整 > 大而烂尾。 这个项目以后会出现在你的简历第一行。认真做。
寒假是调作息的最好时机。开学前把生物钟调好,开学后你的效率会比熬夜党高 2 倍。 睡眠是记忆巩固的时间。熬夜学的东西第二天忘大半,等于白学。
线代是机器学习、自动驾驶算法、控制论的底子。MIT 18.06 是全世界最好的线代课,Gilbert Strang 讲得极清楚。 每天 30 分钟,寒假看完前 10 讲。不用急,听懂比听完重要。
寒假是你拉开和同学差距的窗口。别人在玩,你做一个能拿出去讲的项目。 别贪大,比上次难一档就行。重点是"完整"和"能讲"。
技术经典塑造你的工程师价值观。这三本任选一本,寒假读完。 不是技术手册,是讲"工程师怎么思考"的书。读完你会对"什么是好工程师"有判断。
下学期开始上 C++。嵌入式(ROS、智驾栈)、算法岗面试都默认 C++。有 C 底子学 C++ 不难,重点是面向对象和 STL。 推荐看侯捷的 C++ 视频或《C++ Primer》前 7 章。
从读升级到听。听懂英文 talk 是参加国际会议、看英文课的基础。 不开字幕硬听,听不懂再开英文字幕。千万别开中文字幕,会偷懒。
硬件线主线的第一个 BOSS。STM32 是工业级单片机,智能车、无人机、车载电子都用它。从 Arduino 升级到 STM32 是硬件工程师的必经路。 STM32 比 Arduino 难,但学会了你能做真东西。推荐野火或正点原子的入门教程。
开学继续推线代。线代是算法的根,别断。每天 30 分钟,比集中突击有效。 用 numpy 验证让你既练线代又练 Python,一举两得。
开学前先规划。学校课程有的水有的硬,自己心里要有数。技术社团是你认识同好的地方,比同班同学重要。 抢资源要早。实验室名额、导师指导、设备借用,先到先得。
STL 是 C++ 的杀手锏。面试时用 STL 写代码比手写快一倍。这关让你从"会 C++"升级到"用 C++ 干活"。 LeetCode 上 90% 的题用 STL 都能简洁解决。
STM32 的串口是硬件工程师的"hello world"。学会串口,你的单片机就能和电脑、和别的芯片说话。 把数据用 Python 接收,让你软硬结合。这是智能车的雏形:传感器 → 单片机 → 上位机。
概率论是机器学习、信号处理的根。先建概念,不用深入。 推荐 Harvard Stat 110(B 站有搬运),讲得非常清楚。
人脉不是社交,是你卡住时能问谁。开学就混圈子,别等到大四才认识人。 问真问题比闲聊有用。问完记得感谢,关系就这么积累起来。
从改错别字升级到改代码。找一个 good-first-issue,这种 issue 是项目方专门留给新人的。 PR 不一定合并,但流程要走完。这是你简历上"开源贡献"那一行的开始。
电赛是硬件方向含金量最高的比赛。每年 9 月国赛,提前一年开始练。 找老师很重要。学校有培训名额、有经费、有指导老师,主动去抢。别等老师找你。
栈和队列是基础但高频。括号匹配、表达式求值、BFS、单调栈,面试常考。 单调栈是进阶,能解决"下一个更大元素"类问题,必学。
网络是 CS 基础三件套之一。面试必问"输入 URL 到显示页面"这道经典题。 Wireshark 抓包让你从抽象变具体。看到真实包结构,网络就不再神秘。
中断是嵌入式工程师的分水岭。不懂中断你只能写"轮询"代码,懂了中断你能写实时系统。 这关是 BOSS。中断概念难,但学会了你才真懂"嵌入式"。
工程师最大的短板是讲不清楚。技术好但讲不明白,面试就废。练"用大白话讲技术",从现在开始。 录下来自己听很有效。你会发现自己用了太多术语、跳了太多步。
大一就写简历?对。早写早发现差距。看着简历上的空,你就知道下学期该补什么。 一页纸。别超。模板用超级简历或 LaTeX 的 rsalatex。别用花哨设计。
ADC/DAC 是单片机和真实世界对话的桥。传感器给模拟信号,ADC 把它变数字;DAC 反过来。 做完这步你就懂"信号采集"是怎么回事。智能车的摄像头、雷达、超声波全是这套思路。
从读到写。英文 README 是开源项目面向世界的脸。学会写,你的项目就能被全世界看到。 别怕写错。先写,再改。写多了自然就顺。
搜索是算法的核心。BFS 找最短,DFS 找所有/连通。这两个掌握,70% 的图问题能解。 刷题时先想用什么搜索,再写代码。别上来就写。
奖学金是大学最稳的"兼职"。几千块 + 简历一行,性价比极高。 早摸清规则,按规则补分。别等到大四才发现差 0.1 绩点。
ROS 是自动驾驶和机器人的操作系统。智能车、机械臂、移动机器人全用它。早接触早占便宜。 装 ROS 会踩很多坑,正常。装通了你就懂"为什么机器人软件都用 ROS"。
DP 是算法的入门 BOSS。难,但学会了你的算法水平会上一个台阶。 诀窍:先想"状态是什么",再想"怎么从前面推到后面"。画表格,一格一格填,填 5 道你就懂了。
大一结束。停下来认真复盘。这一年你从零基础走到了能做软硬结合项目,已经比 80% 同龄人强了。 大二要选主线了。软件、硬件、还是双线?复盘完再决定。这个决定影响你后面三年。
大一收官项目。把这一年学的串起来:C/C++、STM32、串口、Python、传感器、数据库。这一个项目就能证明你"软硬都懂"。 这是你简历上第一个能拿出去讲的硬项目。认真做。
技术好但不懂法,一个跟头毁前途。提前知道红线在哪。 重点:开源协议别乱用(GPL 传染性)、爬虫别爬个人数据、兼职合同一定要书面。