Recently I’ve come to the realization that a lot of career success is not only dependent on technical skills, but also many soft skills that you’re actually never taught. These skills are the ones that you pick up by getting “real life experience” — whether that’s working on a tough group project for a class, building an app at a hackathon with friends, or working as an intern in a company.
I think you can also get these skills by listening and watching more experienced people and see how they get things done and how they conduct themselves, but I’m not sure if this is as effective as just figuring it out yourself. Below are some notes of skills that I’ve been trying to develop, and how I’ve been trying to do it lately. Disclaimer: I really don’t know anything about this stuff, so all of this is kind of a shot in the dark. Communicating effectively — I think that this is one of the hardest things to get right, but also the most important. Too many pitch decks, technical documentation, and tutorials are overly verbose. Keeping things concise but getting your point across clearly is really important. I’ve always been one to write a lot, mainly because long pieces of writing with impressive vocabulary words would always get you high grades on essays. More recently, I’ve been trying harder to be more to the point and use simple language when simple language will do.
Remembering that people are not robots. This is a common problem when people are extremely intense and hardworking. They tend to assume that those they are working with are robots — that they have no other priorities besides meeting the current deadline for the project and delivering as well as possible. This is usually not true. In real life, people have families, obligations, and hobbies that are equally or more important. Everyone has their own different emotions, internal struggles, challenges, and principles. You need to take this into account when running a large team project. I think this is why hiring people with EQ, having non-work conversations, and doing things like team building events are really important. They make you see the person behind the engineer you’re working with.
Keeping it together during stressful times. A few weeks ago, I was feeling pretty overwhelmed. I had a bunch of midterms and homework assignments due, and I’d been slacking off in my classes. I had overslept my 8am class and missed a quiz. I had forgotten to return the keys back for a room that I had checked out the previous week, and thus got an angry email from the CS department. I began to feel pretty stressed out, and just felt like I wanted to curl up into a ball and go back to sleep. I think it’s important in these sort of times to try to be calm and assess the situation, ask yourself “what’s the worst that could happen”, and respond accordingly. Generally stressing out or being pessimistic would just make the situation worse, so it’s important to be mindful and not let your emotions take control of you.
Taking critical feedback well. This one is also really hard. Everyone loves to get compliments on their work — validation is a great feeling. But true improvement comes when people point out what you messed up on, or what you could do better. And when people point out things that are bad, a lot of people — including me — tend to get defensive and convince themselves that they’re fine and the other person doesn’t know what they are talking about. But Elon Musk said “You should take the approach that you’re wrong. Your goal is to be less wrong”. I think it’s good to get comfortable with being wrong almost all of the time, and just accepting the fact that you’re gonna make a bunch of mistakes, but also learn from them. Another issue is that when people point out things that are bad, two things happen: you think that they are attacking you personally, or that your whole {blog post, app, product} is terrible, and you just wasted all that time to make something useless. Generally though, none of these things are true. So I do think it is useful to see the positives while receiving critical feedback.
Overall, acquiring these skills is really hard. I don’t actually think anyone ever really fully attains these skills, it’s something that people work towards throughout their entire careers, doing a little bit better everyday.