3 years and 3 Important Lessons as a Software Engineer

Today, December 5th, marks my 3rd year as a software engineer. So, here are three lessons from three years. The sooner you learn these, the better!

Janith Silva
5 min readDec 5, 2023

Starting a career as a front-end engineer is like entering a dynamic, always-changing world where technology and user experience come together. Thinking back on my three years in this fascinating industry, I’ve been surrounded by an environment that has pushed my technical abilities to the limit while simultaneously teaching me priceless lessons that go beyond coding. I discuss three important lessons that have influenced my viewpoint and helped me develop as a front-end engineer in this post.

There are always exceptions, and nothing is clear-cut. The only thing that can tell you when to follow or disregard a guideline is experience.

Now let’s get started.

1. Sometimes what you think you know, you don’t. So ask questions.

Software engineering is a dynamic field that requires constant learning and growth. It is essential to recognize that mastery of a language, framework, or concept does not guarantee a complete understanding. As technologies evolve and new methodologies emerge, what we think we know may become outdated or incomplete. The power of humility lies in acknowledging the vastness of knowledge and the gaps in our understanding. Asking questions is a powerful tool that not only uncovers the unknown but also propels continuous learning.

Asking questions is a testament to intellectual curiosity and a willingness to expand one’s understanding. It is not about showcasing ignorance but about admitting that there is always more to explore and discover. In a field where collaboration and collective problem-solving are crucial, asking questions fosters an environment of open communication, encouraging knowledge-sharing and cross-pollination of ideas.

Asking questions is not a sign of weakness but a manifestation of strength and a commitment to continual improvement. The more questions we ask, the deeper our understanding becomes and the more equipped we are to navigate the ever-changing landscape of software engineering. In conclusion, the journey of a software engineer is a perpetual learning experience. By embracing humility and seeking answers, we can enjoy the adventure of discovery in the dynamic realm of software engineering.

2. Small things we ignore when developing matters.

Sometimes overlooked details in software development, especially web development, can have a significant impact on a project’s overall success and inclusivity. Online accessibility is one of these important factors.

Over the past three years, I’ve worked with various organizations, both local and foreign, on million-dollar projects. Despite the importance of web accessibility, many local companies seem to overlook it. However, projects, where web accessibility is treated with utmost seriousness, have shown the impact of seemingly minor details on the overall inclusivity of digital products. These projects emphasize the meticulous inclusion of web accessibility features, such as providing proper alt text (not image-1) for images and maintaining well-structured typography throughout the document. This commitment to creating digital experiences that cater to users of all abilities is evident.

As technology advances and our digital landscapes become more intricate, the significance of web accessibility becomes more pronounced. Those seemingly insignificant details translate into meaningful improvements for users relying on assistive technologies like screen readers. Advocating for web accessibility is not just about compliance, but about creating welcoming and functional digital spaces for everyone. It’s simple to overlook the smaller elements that ensure that people of all abilities may enjoy digital experiences in the fast-paced world of coding. People with disabilities may not be able to fully interact with a website or application due to simple mistakes such as not using keyboard navigation, providing alternative language for images, or failing to use proper semantic HTML elements.

When given priority, these seemingly little components can create a more inclusive digital world. Subtle but crucial techniques include using ARIA (Accessible Rich Internet Applications) roles, paying attention to contrast ratios, and thoroughly testing with screen readers.

3. Do Something About It

In the world of frontend development, knowing what to improve is just the beginning. The real game-changer is doing something about it. The “Take Action” principle is all about being proactive and making real changes based on what you’ve learned.

For example, when I realized how crucial web accessibility is, I didn’t just nod in agreement — I started doing accessibility checks regularly and convinced other teammembers to do the same. Using tools to find potential issues and making sure our websites are user-friendly for everyone, including those with different abilities. Learning never stops in this field, so I’ve made it a point to keep educating myself. Attending workshops, joining online courses, and being part of developer communities help me stay on top of the latest trends. It’s not just about knowing; it’s about doing something with that knowledge to keep growing.

Collaboration is a big deal, too. I actively encourage teamwork in my projects. We use agile methods, have regular team meetings, and keep communication channels wide open. It’s not just about talking about collaboration; it’s about making it happen every day.The “Take Action” mindset is a simple but powerful idea: turn what you’ve learned into action. It’s about actively shaping your path, not just going with the flow. In the fast-paced world of frontend development, taking intentional steps forward is the secret to staying sharp, resilient, and genuinely successful.

Summing it up, my three years as a software engineer have been all about discovering myself and always getting better. I learned to go with the flow of the ever-changing tech world, put users at the center of what I create, work well with others, and understand that learning never stops. This journey has not just made me better at coding but has given me the right mindset to handle whatever comes my way in the exciting world of software engineering.

If you found this article valuable, please consider giving it a clap to help spread it to other developers who may also find it interesting. Thank you for your time!

--

--