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

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

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

CST438: Hands-On System Testing and Cloud Technologies

This week, I worked on both system testing and understanding cloud and distributed system concepts. One of the main things I learned was how to build Selenium system tests that simulate real user behavior. I created tests in which an instructor enters final grades and in which instructor-created assignments appear in a student’s view. While doing this, I learned how important it is to have all parts of the system running, including the frontend, backend, and external services like the gradebook. I also improved my debugging skills by fixing issues with Selenium, such as incorrect XPath selectors, missing UI elements, and unnecessary alert handling. I also learned how to properly manage my code using Git and GitHub. I created branches, committed my changes, pushed them to GitHub, and opened pull requests for review. This helped me understand a more realistic development workflow and how collaboration works in a team environment. In addition to coding, I reviewed several key concepts i...