Things I Would Have Done Differently As A Software Engineer

Search for a command to run...

No comments yet. Be the first to comment.
I've worked remotely for about two years and developed ways to work from home effectively and achieve an outstanding work-life balance. As the boundaries between professional and personal life blur, it's essential to prioritize your well-being and en...
AI has transformed how I work as a technical writer. Large tech companies are developing and sharpening these tools, but some of them are better than others depending on what you want to accomplish. T

I've been writing professionally for 3+ years, and on this personal blog for 5+ years. Throughout this time, I've built a large network made of developers, other technical writers, solutions engineers

I’ve been writing online for almost five years, with a professional focus on technical writing for over two years. If you struggle to create technical content that is easy to digest, this article is for you. Where do I start? If you don’t know where ...

LinkedIn is the only social networking site purposely built to help job seekers. Over the years, LinkedIn has evolved by offering two types of experiences: Job searching Content creation This article will describe how to maximize your LinkedIn fo...

In the last 12+ months as a technical writer, I've worked on several projects highlighting three technical writing elements. This article will introduce you to: Information Architecture Docs-as-code Content strategy Information Architecture (IA)...

Embarking on a career as a software engineer is an exciting and challenging journey. It's a field that constantly evolves, demanding continuous learning and adaptation.
As I reflect on my path as a software engineer, I realize that with every step I took, there were valuable lessons to be learned. In this article, I will share with you lessons I wish I had known when I started.
From the importance of building a strong foundation in computer science principles to the value of continuous professional development, these insights will help aspiring software engineers navigate their career paths more effectively.
Let's start.

In the first 1-2 years of your software engineering career, your priority is to learn and absorb as much as you can.
Your first software engineering is the job where you'll pick up good (and bad) habits.
In your first job, you'll learn how to read a codebase, create your first pull request, do your first code review, work as part of a team, and more.
It's where you'll form your view around best practices for software development.
Your first job may make or break your career. If you can, pick your first job wisely. But don't be discouraged by one bad job.
Don't stay in jobs where you're not growing.
Read How To Choose A Software Engineering Job to learn about the factors to consider when choosing a software engineering job.

Every year, the tech industry creates a new framework, programming language, and database.
You don't have to learn all of them.
Focus on the basic skills that will help you in the long run, such as:
Data structures and algorithms: these will mostly help during the interview process.
Reading other people's code.
Writing clean code.
Read 10 Career Advice for New Software Engineers to learn about actionable tips to succeed in your software development career.

Problem-solving is the process of identifying a problem and generating potential solutions to solve a problem.
Problem-solving is the main skill of a software engineer. Companies hire software engineers to solve complex problems. You must recognize this.
Depending on the problem you're trying to solve, you may decide whether you can solve that through coding or not.
Not all problems need to be solved through coding.
You can develop and strengthen your problem-solving skills by:
Working on projects of larger scope.
Learn and practice different algorithms (for example, "divide-and-conquer").
Solving mathematical problems.
Being open to learning and unlearning.

As a software engineer, your salary will increase relatively quickly.
Learn how to save, budget, invest money and avoid lifestyle inflation. You'll thank yourself in a few years.

As you advance your career, networking will become more and more important. Your network will help you when you least expect it.
Attend networking events in your local area and do your best to keep those connections. They will pay off in the long run.
Read Top 5 Networking Tips For Software Engineers to learn more about how to network as a software engineer.

Failure is an inevitable part of any software engineering journey. It's important to embrace failure as an opportunity for growth and learning. Instead of letting failure discourage you, use it as a stepping stone toward success.
When you encounter failure, take the time to analyze what went wrong and identify the lessons learned. Reflect on the mistakes you made and use them as valuable insights for future projects.
Don't be afraid to ask for help or seek feedback from your senior peers – this can provide a fresh perspective and help you avoid similar mistakes in the future.
Failure is not a reflection of your abilities or worth as a software engineer. It's a natural part of the learning process and an opportunity for improvement.
Embrace failure, learn from your mistakes, and keep pushing forward.
By the end of this article, I hope you have learned what I would have done differently if I was going to start all over again as a software engineer.
If this article is helpful to you, consider subscribing to my FREE weekly newsletter. I share more content like this.
Until next time!