Skip to main content

Adapt, Learn, Move On: Career Wisdom from a Software Engineer’s Journey

Introduction

For this assignment, I interviewed Brook, a seasoned software engineer with a dynamic and impressive career path in the tech industry. Brook is currently working in the field of data engineering, with previous roles at innovative companies including Kinoma JS, Amazon (Alexa Auto team), and Niantic. I was introduced to Brook through my brother-in-law, who is a close friend of his. After hearing about Brook’s wide-ranging experiences and thoughtful insights into both software and hardware development, I knew he would be the ideal person to learn from. His career reflects the kind of interdisciplinary, adaptive path that I aspire to, making him an excellent mentor figure for this learning experience.

Summary of the Interview

Brook’s career began with a foundation in mechanical engineering, supplemented with computer science courses and hands-on project experience. During his time at Tufts University, he participated in robotics and hackathons, one of which led to his first industry opportunity. He joined Kinoma JS, a startup developing a JavaScript runtime for IoT devices. There, he blended his skills in web applications and embedded robotics, gaining valuable technical and professional experience, from reverse engineering to public presentations.

Following a corporate restructure at Kinoma’s parent company, Brook and part of his team were “acqui-hired” by Amazon. At Amazon, he contributed to the prototype and eventual development of Alexa for cars, expanding his skill set into C++ development, Android, and SDK integration for automotive systems. He also deepened his understanding of cross-functional collaboration, especially during international work trips to auto companies like Volkswagen in Germany.

After several years, Brook transitioned to Niantic, the creators of Pokémon GO, where he worked on the Data Engineering team. There, his role involved writing telemetry code that interacted between Unity and native mobile layers across Android and iOS platforms. While he appreciated Niantic’s mission and culture, Brook acknowledged that his role eventually became too specialized, limiting learning opportunities.

When asked about the biggest challenges in his recent role, Brook highlighted the difficulty of being proactive in a comfortable job setting and the importance of cultivating workplace relationships—something that became harder due to remote or distributed team structures.

On industry trends, Brook emphasized the transformative impact of AI and large language models (LLMs). He stressed the importance of adaptability, continuous learning, and embracing change. His personal philosophy centers on understanding your strengths and weaknesses, being willing to learn, and knowing when to move on if growth stagnates.

Brook’s typical day involves reviewing emails and messages, participating in daily standups, collaborating with other teams, doing code reviews, and solving technical challenges. To stay current, he experiments with new tools, listens to peers in the industry, and occasionally reads relevant books. He recommended Cracking the Coding Interview for mastering technical interviews and encouraged consistent practice on platforms like LeetCode and HackerRank.

When asked what advice he would give his younger self, Brook said: “If you start to feel stuck somewhere, don’t be afraid to move on.” He also noted that learning how to build and maintain long-term professional relationships earlier in his career would have made a significant difference.

Reflection

This interview with Brook offered a vivid, first-hand look into the life of a software engineer who has navigated startups, corporate tech giants, and everything in between. What struck me most was his adaptive mindset—how he used every role as a learning opportunity and wasn’t afraid to pivot when necessary. His ability to balance technical depth with broader professional growth, including communication and cross-team collaboration, showed me that success in the tech world requires more than just coding proficiency.

His journey also reminded me that growth often happens outside of our comfort zones. Brook’s transition from building IoT devices to working on automotive SDKs and then into mobile telemetry reflects a willingness to embrace change and evolve. I realized that in a field as fast-moving as technology, staying still can be more risky than making a leap into the unknown.

Additionally, his comment on relationship-building resonated deeply with me. It’s easy to focus on technical skills and neglect the interpersonal side of work, especially in hybrid or remote environments. Brook’s experience reinforced that meaningful connections are just as critical to long-term success as technical competence.

Future Steps

Brook’s insights have inspired me to approach my academic and professional journey with greater intentionality. First, I plan to participate more actively in collaborative projects, such as hackathons or open-source initiatives, to practice not only technical problem-solving but also communication and teamwork. I also intend to continue strengthening my foundation in both hardware and software, especially as the boundaries between the two continue to blur in areas like IoT and robotics.

Secondly, I’ll take Brook’s advice on job interviews and begin regularly practicing coding problems on LeetCode and similar platforms. Preparing for technical screens is crucial—even if they don’t directly reflect job performance, they open the door to the opportunities where real growth happens.

Finally, I’ll be more conscious about cultivating professional relationships, both in school and eventually in the workplace. Whether through attending meetups, networking events, or simply reaching out to peers, I now understand that who you work with and how you communicate can be just as important as what you work on.

Brook’s story reminded me that there’s no single “correct” path in tech—but rather a series of thoughtful decisions, open-mindedness, and continued curiosity. I’m excited to carry these lessons forward as I shape my own path.


Comments

Popular posts from this blog

CST383: Learning Probability Distributions and Data Visualization in Python

This week, I learned more about probability distributions, density plots, histograms, and how to visualize data using Python libraries such as Pandas, Matplotlib, Seaborn, and SciPy. I practiced creating density plots, box plots, cumulative density plots, and histograms using real datasets. I also learned how changing things like bin width, bandwidth, transparency, and sample size can affect the appearance and interpretation of graphs. Another important topic was understanding skewness and how transformations such as log10 can help make heavily skewed data easier to analyze. One thing I found interesting was how probability density functions (PDFs) and histograms can represent the same data differently. Before this week, I thought graphs mostly showed the same information in different styles, but now I understand that each type of plot has a different purpose and can make patterns easier or harder to notice. I also learned that larger sample sizes tend to reflect the true distribution...

Choosing Between MongoDB and MySQL

This week I learned more about how MongoDB and MySQL are both powerful tools for managing data, but they serve different purposes. MySQL is a relational database that organizes data into tables with rows and columns. It uses SQL (Structured Query Language) to define and manage data, which makes it very structured and reliable. MongoDB, on the other hand, is a NoSQL database that stores data as documents in a flexible JSON-like format . It does not require a fixed schema, so it is easier to change or add new data types as needed. Both databases are similar because they can handle large amounts of data, support indexing for faster searches, and allow users to perform queries to get specific information. They are also widely used in modern applications and can be connected to programming languages like Java, Python, or C++. However, the key difference is how they store and organize data. MySQL is best when data has clear relationships, such as in school systems, banking, or employee ...

CST383 Week 1: Python for Data Science

This week, I learned the basics of Python for data science and how tools like NumPy are used. I already have programming experience from my computer science classes, but Python feels different from languages like Java or C++. It is easier to write and more flexible because it does not require strict data types. This makes coding faster, but I also need to be careful to avoid mistakes. We also learned about the Python data science ecosystem, such as NumPy, Pandas, and tools like Google Colab and Jupyter Notebook. I liked using Google Colab because it is simple and runs in the browser, so I don’t need to install anything. However, I am curious when it is better to use local tools like Spyder or Jupyter instead of Colab. The most important concept for me this week was NumPy. I learned that NumPy arrays are much faster than Python lists because they store data in a continuous block of memory and use the same data type. This connects to what I learned in my algorithms class, where performan...