How studying software engineering can benefit your career and your product
Learn about software engineering and architecture to improve your skills and your product
Every day, the tech landscape shifts. We are always seeing the latest tools emerge, and new ways of solving problems, and, as time progresses, solutions built just a few years ago are gradually becoming obsolete.
Given this context, it is essential for people working in this market to keep up to date and learn about new technologies as they emerge. Being up-to-date allows you to understand whether new tools make sense in your context and how they can help reduce costs, increase revenues, or even create a new solution.
I've noticed that individuals in non-technical roles tend to avoid delving into engineering and architecture topics. This knowledge can be of great benefit to their positions and contexts, and we're going to see how.
In this article, we'll look at ways of studying these more technical topics and the reasons for doing so.
Why should you become more technical?
A while back, I wrote about how much business people need to know about engineering, and in general, it depends on who you're talking to.
People who work with core engineering products will need this deeper level of knowledge to be able to do their jobs. Imagine a product person who builds solutions on AWS; they must understand as much about engineering as the engineers themselves. These are more complex, infrastructure-related products that require more engineering context.
On the other hand, people who deal with less core engineering products may not need as much engineering context. However, this doesn't mean that people who work with these types of products should ignore engineering completely. There are many advantages to becoming more technical, regardless of the type of product you work with.
You can communicate better with engineers, understanding the challenges, limitations, and opportunities they face.
You can have a broader, more integrated view of the product, knowing how the different parts connect and influence each other.
You can have more autonomy and creativity, being able to test, prototype, and validate your ideas more quickly and efficiently.
Becoming more technical is a way of developing yourself professionally and adding more value to your product. You don't need to be an engineering expert, but you do need to be more curious and open to learning and applying concepts.
Collaborate with development teams
One effective way to improve engineering skills is to work closely with development teams. I don't necessarily mean validating code, designing architectures, or anything like that, but being present in discussions and activities where you can contribute.
Being present, for example, during tests can help us understand the context of errors and use cases that we may not have mapped. These moments make us think about all the phases in which a certain action can take place
You need to see not only how the screen works, but also how it interacts with the database, generates alternative cases, and impacts ongoing flows. Participating in these moments will teach you a lot - go for it!
In addition, learning the rules in the code that impact the product makes you a person with a more technical context. For example, we can't enable this new payment model the way we are because we have an X limitation in the code that prevents the operation from being carried out.
Lifelong learning
Continuous learning plays a key role in developing technical skills. Always be on the lookout for relevant courses, workshops, and events to improve your technical knowledge.
Online platforms offer a variety of resources to expand your skills, from basic courses to advanced specializations.
Alongside your studies in your field, include engineering study. You don't have to stop your current learning to dedicate yourself to engineering. Take a basic course, read articles, and follow newsletters.
Go find the best way to fit it into your daily life and significantly contribute to your learning.
Where to start
Learning about engineering can be challenging, considering the wide range of courses available on the internet, from content created by YouTubers to degrees from respected educational institutions.
How you choose to learn will depend on your level of dedication and availability. I haven't mentioned money here, because you can find almost any information for free on the Internet. When you can't find what you're looking for, use an AI tool.
Some people prefer articles, others courses or podcasts. Whatever format you choose, I recommend starting with the basics:
Understand how the Internet works: Essential knowledge about client-server, HTTPS protocol, and the nitty-gritty of how things work. Did you know that the 'cloud' is a collection of computers connected by cables?
Programming logic: Acquire basic notions of logic, including concepts such as conditionals, loops, and data structures.
Databases: Learn the basics of databases, including SQL queries and data modeling.
The possibilities for engineering are endless, and these initial steps will provide a strong foundation for exploring more advanced areas.
Havard CS50
One tip I have to share is a course from Harvard University (yes, the famous one) on technology.
Harvard CS50 is an introductory course in computer science, covering concepts such as algorithms, data structures, programming, software engineering, and web development. It uses various programming languages, such as C, Python, SQL, and JavaScript.
It's a course that starts by teaching you everything from the basics of how a computer works to how to write scripts in Python.
It can be accessed for free on several platforms (I learned about it on YouTube, but it's also available on edX), offering the same content, materials, and, in some cases, a certificate. CS50 is a great opportunity for anyone who wants to learn about computer science and programming in a dynamic, interactive, and fun way.
It's worth it. I've done it and I recommend it!
Just ask!
The last point I'd like to make is this: ask questions!
If you ever find yourself in need of more information to make a decision or to understand something, please don't hesitate to ask. Seeking clarification can help you expand your knowledge, share experiences, and ultimately grow both professionally and personally.
Asking questions is essential to the learning process, so don't be afraid to inquire about anything that piques your interest or causes confusion.
I hope this tip has helped you in some way.