Staying Up to Date as a Software Engineer

As software engineers, there is an overwhelming amount of technologies that we either want to or keep up with. Staying current is not only a competitive advantage but also essential for keeping our resumes relevant. I learned this the hard way. 

To address this challenge, I decided to design a structured methodology to effectively stay updated. The approach consists of the following steps:

  1. Gather Information
  2. Filter the Information
  3. Practice What I’ve Learned
  4. Reflect on the Knowledge
  5. Repeat the Process

On top of these five steps, I developed a strategy over the years and have shared it with coworkers and students. The feedback has always been positive. Here’s a detailed look at my approach:

Gathering Information

I like to gather information from diverse sources such as videos, articles, books, news, and newsletters. However, I prefer to consume information asynchronously, on my own schedule. For this, I use an RSS reader, specifically Miniflux. RSS stands for “Really Simple Syndication” and is a way to subscribe to periodically published content, which is perfect for my needs. I decided to manage the information gathering with RSS instead of email so I have everything in one place and avoid notifications. This provides me with a dedicated space for information gathering that is fed periodically and automatically with my topics of interest.

Filtering Information

Not all information is equally valuable. To avoid information overload, I filter the content I gather. This involves skimming through articles, reviewing videos, and checking book reviews before committing time to them. I focus on the sources and topics that are most relevant to my current projects and career goals.

Once a day, for 5-10 minutes, I review unread links and skim those that catch my attention. I use the Eisenhower Matrix to decide on each link. I either:

  • Add it to “starred” on Miniflux or to my Pocket.
  • Delete it.
  • Add it to my today’s TO DO list(a simple markdown file per day).

I usually quickly check the content and decide to add it to my reading list

by bookmarking it with a tag. I use Firefox bookmarks since it is my default browser on my devices. If I decide to read an article later, I will add it to Pocket.

 A P2K service automatically sends the content I save in Pocket to my Kindle every Friday, along with the 10 most recent links I’ve saved. This feature is fantastic because it allows me to focus on specific topics depending on the device I’m using.

  •  I may use my phone to quickly review my Pocket list.
  • My laptop if I’m doing some code or POCs.
  • My Kindle if I want to submerge in some reading.

Practicing What I’ve Learned

It’s not enough to just read or watch content; practical application is key. I make it a point to integrate new knowledge into my projects as soon as possible. This might mean implementing a new tool, trying out a new programming language feature, or following a new methodology. I introduced Golang and Typescript to different companies by learning and teaching what I have learned.

Every day, I dedicate 30 minutes to actively learning about specific technologies. This time helps me stay updated with the latest trends in the industry. I might spend this time:

  • Reading an article.
  • Working on a proof of concept (POC), or
  • Reading a chapter of a technical book.

 The choice of activity depends on my energy levels and current interest in a topic. I trust the content because it has already been gathered and filtered through a process. Putting this knowledge into practice is crucial. By working on POCs or coding exercises allows me to turn theoretical knowledge into practical skills. This hands-on experience reinforces my learning and helps me understand how to apply new concepts in real-world situations.

Consistently dedicating time to learning and practicing new skills builds on previous sessions, gradually increases my proficiency and depth of understanding. It is compound knowledge.

Reflecting on the Knowledge

Reflection is an often-overlooked step in the learning process. After applying new knowledge, I take the time to think about what worked, what didn’t, and why. This helps solidify the learning and allows me to make changes for future applications. I use my journal for this reflection process.

Repeating the Process

The final step is to repeat the process. Staying updated is an ongoing effort. Technology evolves rapidly, and there is always something new to learn. By consistently applying this method, I ensure I remain current in my field.

Conclusion

Keeping up to date as a software engineer requires a deliberate and structured approach. By gathering information from diverse sources, filtering it, practicing it, reflecting on it, and repeating the process, I stay ahead in my field. This method has been effective for me and has received positive feedback from those I’ve shared it with. I highly recommend trying these tools and methods to see how they work for you.

Bibliography

Written by:

Lester Angulo
Sr. FullStack Engineer
Country: Costa Rica

Meet Mauricio: An Engineer Committed to Shaping the Future

Mismo thrives on the strength of its exceptional team. We provide top-tier remote software development teams that seamlessly integrate with companies worldwide, driving exceptional results. Many organizations have partnered with Mismo to augment their development capabilities and achieve their technology goals.

At the heart of these successful teams are the talented individuals who make Mismo what it is. We’re committed to celebrating our remarkable employees and their invaluable contributions to our company culture. Our employee spotlights showcase the genuine relationships we’ve forged with team members and clients, highlighting their dedication and the positive impact they have on our collaborative environment.

Meet: Mauricio Peraza

Engineering Lead

Country: Costa Rica

  • Tell us a little about yourself: Hello! I am a devoted husband and proud father of two young daughters. With over 10 years of experience as a software engineer, I bring dedication and passion to my work. In my free time, I enjoy playing soccer, cycling, and engaging in a variety of outdoor activities.
  • What initially attracted you to engineering and how have you found inspiration in this career? My interest in engineering began as a teenager, sparked by my love for computer games like Age of Empires—an incredible game! I was also skilled with computers at the time, so when it came to choosing a university major, I knew I wanted to pursue something related to technology. This led me to Software Engineering. I stay inspired by following influential frontend developers on social media and attending conferences. These experts share valuable insights into new trends and cutting-edge technologies, keeping me engaged and excited about the field.
  • What innovation or technical advancement have you been a part of that you consider to have made a milestone in your engineering field? I’ve worked on projects involving large monolithic applications built on legacy code, where modernizing these systems while maintaining value for customers posed a significant challenge. I’m proud to have contributed to initiatives that successfully transformed these monoliths into microservices. I also led the implementation of micro frontends using React and modern frameworks like Next.js for these legacy applications. This innovation brought value in two key areas: delivering faster, more responsive applications for customers and creating a more efficient development experience for the engineering team.
  • What made you choose Mismo? A close friend introduced me to Mismo, and for years, I hoped to join because I knew they worked with top developers. I was certain it would be an incredible learning opportunity—and it truly has been since I joined. Mismo is a company filled with exceptionally skilled developers who bring not only technical expertise but also a remarkable human touch.
  • How would you describe the work environment at Mismo? The work environment at Mismo feels like a family. Since I joined, I’ve discovered a second family here, and it’s a wonderful experience to collaborate with people I consider friends. As I mentioned earlier, they are also highly skilled engineers. From the management and human resources departments to the entire engineering team, after eight years with the company, I am confident that I made the right choice in joining Mismo.
  • What learning and development opportunities have you had at Mismo and how have you utilized these opportunities to grow as a professional? At Mismo, I have had numerous learning and development opportunities that have greatly contributed to my growth. From leading innovative software projects to taking on a managerial role, I have significantly advanced as a professional.
  • What aspects of working at Mismo’s engineering team make you proud and motivate you in your daily tasks? Team collaboration has been crucial to our success. No matter how challenging a task may be, I know that at Mismo, I can always find the support I need to achieve it.
  • How do you believe the company and engineering can positively impact the world, people’s lives, and make a difference in their respective industries? I believe that software has the power to make people’s lives easier. By developing useful, impactful, and user-friendly applications, we enable individuals to save time, launch new businesses, create jobs, and spend more quality time with their loved ones.
  • What Mismo policies or practices have helped you improve your work-life balance? The flexible schedule at Mismo has greatly enhanced my work-life balance, allowing me to spend quality time with my family while also prioritizing my own well-being.
  • What inspiring advice would you give to someone considering a career in engineering or looking to join a company like Mismo? In the software development field, there are numerous paths you can pursue: DevOps, full-stack, back-end, front-end, UI/UX, data analysis, and more. It’s important to choose the area you enjoy most and commit to becoming the best in that field. Continuous learning and passion are essential for achieving success in your career.
  • What tools or technologies do you use most frequently in your daily work as an engineer at Mismo? I utilize tools and technologies such as Slack, Jira, Confluence, Visual Studio Code, Docker, React, PHP, Java Spring Boot, and GitHub Copilot.