The 8 Truths That Took Me 4 Years to Learn as a Software Engineer (That You Can Learn Right Now)
And use to your advantage.
The software engineering industry is extremely volatile.
The moment you get hired by a tech company or start your own projects, you will see how the focus shifts from only the fun coding part to social interactions, collaboration, customers, coworkers, emails, and so on. This is common in all knowledge-related industries, and the sooner you accept that this is the reality and adapt to it, the sooner you will be able to use it to your advantage. Leveraging the coding and non-coding skills that come with this job will give you the ultimate competitive advantage.
Here are eight things that took me four years to learn as a software engineer that you can learn right now.
You will increase your impact.
You will increase your income.
You will increase your happiness.
Let’s dive in.
1. Checking your work email is a waste of time.
If you get to work and the first thing you do is check your email, you are wasting your time.
If you are working on an important task, but an email notification pops up and distracts you for a second, you are also wasting your time. Corporate email is not important at all—it mainly consists of company newsletters, surveys, and news involving the sales numbers of the company’s products. To be effective at work, you don’t need any of this information—and if there’s something important that you need to read, someone else will let you know (trust me on this one).
If you still want to check your work email, do it only once in the afternoons—be creative before being reactive.
2. Python is not just a scripting language.
Python is the most popular and widely used programming language in the world.
Still, most software engineers don’t know its many capabilities and how to extract the most from it in their daily jobs. The most outrageous example I’ve seen is when someone told me that he “didn’t know you could do object-oriented programming in Python; isn’t it just a scripting language?“ To my surprise, most of my team members had the same belief—this was a DevOps team used to “making scripts.”
Use Python, and use it to the best of its capacity—you’ll be seen as a prolific programmer.
3. Writing is a skill overlooked by most software engineers.
Every software engineer should be writing online.
You are hindering yourself if you are not writing online and sharing your ideas with the world. Writing online will allow you to create extra sources of income, make connections you would not make otherwise, and learn more about yourself. It is another tool that you can add to your toolbox to stand out in the crowd.
Most people on the internet are consumers—the way to put yourself in the top 5% percent is to start creating right now.
4. Knowing English is as important as knowing how to code.
My mother tongue is Spanish, yet I work as a software engineer in Sweden.
If you think my Swedish skills are high, you have got me wrong. The only reason I’m able to come to this country and work in almost any software-related company is that I know how to communicate in English. Many people I know are exceptional programmers and problem-solvers, yet they limit their opportunities by not including the most spoken language in their arsenal.
If you are reading this, chances are that your knowledge of English is sufficient to collaborate with any engineering team, but please share this advice with a friend who still hasn’t realized how important this is.
5. You need to have the authority before you can take responsibility.
Keep reading with a 7-day free trial
Subscribe to Algorithmically Speaking to keep reading this post and get 7 days of free access to the full post archives.