Learn the Machine First
The best decision I made in recent years was to become an alpine ski instructor. Before that I thought I was an advanced skier - I could ski down deep blue and some back diamond runs just fine; the few times I accidentally got on double black diamonds, well, I managed not to die. I was complacent⦠until I became a ski instructor. It was an eye opening experience. I realized how horrible I was in all the ski fundamentals. Every weekend after the student sessions (I was teaching the never ever beginners as a start), we instructors spent 2-3 hours to learn ski and teaching fundamentals from our head coach. Finally in 2022 I passed my PSIA Level 1 Alpine Ski Instructor certificate exam. Nowadays I am working on my level 2 certification, still the fundamentals. There are infinite learnings in front of me to become a better skier and better instructor. The reason I talked about my ski learning journey is Iāve seen many new computer science college graduates, with fancy degrees under their belts: machine learning, big data, information security, you named it, who struggled on the basic assignments at real jobs. They probably spent their fair time on Leetcode, I suppose. But they lacked the fundamentals to be successful software engineers. They may know some machine learning, but they have no clue how to operate a āmachineā: what is a process, how to compile a program, how to run it, how to navigate a file system etc. But more importantly - they lack the skill of learning a new thing without being taught. In real jobs we expect engineers to learn new things by themselves: find the resources, ask the questions and escalate when they need help. Our colleges didnāt prepare students for the self driven and self motivated learning. Another import skill missing is problem solving. It might be related to Covid that caused most of the students to attend classes remotely. I found a lot of recent graduates were easily stuck, then they either tried random things, hoping one of the clicks might do the magic; or they would just wait there, hoping someone else would solve the problems for them. When I asked them how they were stuck, they had a hard time articulating the problems that were blocking them. I guess if they could articulate the problems clearly, they probably wouldnāt be stuck from the first place. Bear in mind, we would never give truely hard, unsolvable problems to new hires. The assignments they got all had limited scope and well known solutions by nature. So my suggestion to computer science students: go back to computer foundimentals: set up a Linux machine from scratch, learn the Linux command 101, do some bash scripting, do some tony programming projects, understand source control systems like Git, understand what compiler is, what is a runtime process⦠Donāt worry about Machine Learning yet, learn the machine first.
Last updated
Was this helpful?