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...

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...

CST462S - From Learning to Impact: My Service Learning Journey

What went well during my service learning experience was my ability to contribute meaningfully to the ASCENDtials web team. I was able to complete several tasks such as updating website pages, working on LifterLMS courses, and improving user experience through better layouts and navigation. I also communicated effectively with my team, asked questions when needed, and stayed consistent with meeting deadlines. Over time, I became more confident using tools like WordPress, WPForms, and course-building platforms. If I could improve something, it would be my time management and planning. There were moments when tasks felt overwhelming, especially when balancing schoolwork and service hours. I would also improve my confidence in decision-making, particularly when working independently on design or technical issues. Taking more initiative earlier and asking for feedback sooner would have made my work even stronger. The most impactful part of this experience was seeing how my work directly co...