What I Learned In One Year As A Software Engineer

My New Employer

On February 14th, 2022, I started a new position as Software Engineer at Re:Build Manufacturing. I had just finished a coding boot camp and was eager to get started in a new industry.

Re:Build Manufacturing is an interesting company because it was founded in 2020 with the purpose of reshoring American manufacturing. Jeff Wilke, our chairman and former top executive at Amazon, teamed up with our CEO, Miles Arnone, to develop a plan.

In a nutshell, they were not satisfied with the current state of private equity in the United States. Their strategy is to buy and hold manufacturing companies for the long run. Three years later, they have purchased over a dozen small to medium-sized manufacturers with high-value engineering capabilities.

Here is an interview with Jeff Wilke from 2021.

Why Amazon's Former Consumer Boss is Obsessed With Bringing Back US Manufacturing

While the manufacturing industry may seem boring compared to big tech, software plays a huge role in optimizing production output and operations. It is satisfying to solve real-world problems!

As a software engineer, the first year of work is often full of learning and growth. While there are countless books, online courses, and boot camps available, the practical experience of being a software engineer can be very different from what you learn in school. This is what I learned during my first year as a software engineer.

What I’ve Learned

1. Collaboration is Key

Collaboration is essential in any industry, but in software engineering, it is vital. Software development is a team sport, and the more people you can collaborate with, the better. In the beginning, I found myself wanting to solve all the problems on my own, but I soon learned that collaboration is essential to solve complex problems. Working with colleagues with different backgrounds and expertise gave me a broader perspective and allowed me to learn from others.

2. Communication is Critical

Good communication is essential in every industry, and in software engineering, it is no different. It's essential to communicate clearly and effectively with your team members and stakeholders. When working on a project, you need to communicate your ideas and concerns regularly. Good communication skills also help you to negotiate priorities and deadlines with your manager and to make sure that everyone is on the same page.

3. Always Test Your Code

Testing your code is crucial in software engineering. You should always strive to write code that is clean and robust, but even then, you can't be sure that there are no bugs. Testing your code thoroughly before releasing it to the production environment can save you from countless headaches. You should aim to write tests that are as comprehensive as possible and cover all possible scenarios.

4. Don't Be Afraid to Ask for Help

As a software engineer, you are expected to be able to solve complex problems on your own, but that doesn't mean you shouldn't ask for help. You can't know everything, and it's essential to ask for help when you need it. Asking for help is not a sign of weakness; it's a sign of strength. You should never hesitate to ask your colleagues or your manager for help or advice when you need it.

5. Always Keep Learning

The software engineering field is constantly evolving, and as a software engineer, you need to keep learning to stay relevant. You should always be on the lookout for new technologies, languages, and frameworks. You should also read technical blogs, attend conferences, and join online communities to learn from other engineers. Keeping up with the latest trends in the industry can help you become a better engineer and increase your job security.

6. Code Reviews are Invaluable

Code reviews are an essential part of the software development process. They provide a way to ensure that the code is of high quality, adheres to best practices, and is easy to maintain. Code reviews also provide a way for team members to learn from each other, share knowledge, and improve their skills. When reviewing code, it's important to be constructive, specific, and respectful.

7. Stay Organized

Software engineering projects can be complex and involve multiple stakeholders. Staying organized is crucial to keep track of everything that needs to be done. Using project management tools, such as Jira or Trello, can help you stay on top of your tasks and ensure that nothing falls through the cracks. It's also essential to document everything, from code changes to decisions made during meetings, to ensure that everyone is on the same page.

8. Don't Underestimate the Power of Soft Skills

Soft skills are essential in software engineering. Being a good communicator, a good listener, and having empathy can make a big difference in your career. Soft skills can help you build strong relationships with your colleagues and stakeholders, which can lead to better collaboration, higher job satisfaction, and career advancement.

My view of downtown Los Angeles from my desk

What Technologies I Use

The Core Software Group at Re:Build Manufacturing uses many different technologies to meet our customers’ demands. So far I’ve had to get familiar with:

  • SQL, Stored Procedures, and Databases

  • NextJS with React

  • Express.js with Angular

  • C# and Windows XAML

  • C++ and QT Framework

  • Python scripting

  • Testing Frameworks Jest and Mocha

  • AWS Infrastructure Tools

  • And much more

In my boot camp I learned SQL, Java, and vue.js. While I haven’t used those specific technologies at work, they set the foundation of my knowledge in computer science. I think it’s best to not get stuck in one language. But rather, using the best language/framework for the job.

You Can Do It Too

There are so many opportunities for career switchers and tech is a great industry to work in. If you have any questions about switching careers and becoming a software engineer please contact me.

I am grateful that I was given the chance to learn and grow during my first year as a software engineer. I hope to pass that knowledge along to the next junior engineers after me.

Kindly,

Garrett

Garrett John Law

I’m a Los Angeles-based software engineer and musician.

https://garrettjohnlaw.com
Previous
Previous

NEW BRASS QUARTET ARRANGEMENT! John Ireland’s “Greater love hath no man”

Next
Next

All Souls Requiem and Dia de los Muertos at Holy Trinity