Engineers of Endava, interview prep notes
Javier Valderrama
Principal Development Consultant, Group Frontend Community Lead (Global Community Lead)
Hi, my name is Javier Valderrama, a.k.a. Jax, and I work as Senior Development Consultant for Endava Latam . Some weeks ago I had this wonderful opportunity of being chosen for representing our engineering stuff in a quick interview you can see here and I wanted to share with you the original notes I took to be prepared for the interview hoping you find them useful:
What’s your favorite frontend technology and why?
Well, Frontend is not a technology itself, it’s a vast realm of technologies combined in many different ways depending on the target “client” or “device” such as regular computers, laptops, smartwatches or systems like SpaceX CrewDragon’s control system’s UI touchscreen! Among all “frontend” technologies, ?JavaScript is definitely my favorite one. It's undeniably the cornerstone of frontend development (and currently a great Backend alternative in the market with NodeJS as the main player), and possessing a profound understanding of this core technology grants developers the versatility to seamlessly transition between different frameworks and variations with minimal effort. Being the foundation for frontend development makes it an indispensable skill for any programmer who wants to explore this domain. From React, Angular, and Vue, to even TypeScript, JavaScript is the underlying language powering these tools. Consequently, refining one's expertise in JavaScript opens up a whole landscape of possibilities across the frontend ecosystem.
Grokking JavaScript extends beyond the language itself, its syntax and functionalities. It embodies a comprehensive set of engineering practices that can be readily extrapolated to any programming language. By delving into JavaScript's details, developers cultivate a robust problem-solving mindset, gain insights into modular design patterns, and acquire proficiency in optimizing performance. These transferable skills transcend the boundaries of specific frameworks or languages, empowering developers to tackle complex challenges across various technological systems.
Furthermore, the ever-evolving nature of JavaScript (which sometimes makes it hard to keep the pace) requires continuous learning and adaptation. Staying up-to-date with the latest advancements in the language equips developers with the ability to leverage emerging frameworks and libraries effectively. This adaptability further enhances a developer's professional growth and expands their horizons within the world of frontend development. TLDR; there's no way you'll get bored with JavaScript ??
What skills have been most valuable to you throughout your career and why?
Throughout my career, several skills have proven to be immensely valuable. One of the most crucial skills is an insatiable hunger for knowledge. Learning new things enables me to constantly push boundaries, explore new horizons (and new versions of myself), approach problems from diverse perspectives and uncover the root causes of issues, finding alternative solutions.
Flexibility and adaptability are also essential attributes that have served me well. Technology has been exponentially changing our lives, throughout my 20+ years of career things became obsolete at an incredible pace and new ones emerged that were previously considered Sci-Fi topics; being able to embrace change and adapt to new methodologies, frameworks, and tools is a must. However, while being adaptable, it is crucial to maintain a strong foundation of standards and best practices. This balance ensures that the solutions I develop are robust, maintainable, and align with industry norms and, (this is a big and), it allows me to be dispensable. What does it mean to be dispensable? It means anyone can continue your work, maintain it, improve it, replace it and so on. If I can step away from a project with minimum or no harm at all, then that’s a great success for me.
Creativity also plays a significant role in my problem-solving approach. The ability to think outside the box and combine existing tools, concepts, and techniques in novel ways allows me to craft a variety of solutions.
Lastly, a deep understanding of people has been invaluable in my career. Effective communication, empathy, and the ability to collaborate with diverse cultures, generations and team shapes are essential skills for achieving your goals in any professional setting. By truly comprehending the needs and motivations of individuals, I can also help others to grow and thrive.
How do you define Technical Excellence? What’s the best way to achieve it?
I believe it ultimately boils down to a fundamental question: "Can I continuously improve?" However, it's important not to misunderstand the essence of this question. It doesn't imply refraining from celebrating accomplishments; instead, it emphasizes celebrating each one of them as stepping stones on an incremental journey of improvement.
Asking "Can I do better?" impacts multiple facets of life. Can I be a better father? Can I grow as an individual? Can I enhance my contributions as a team member? Can I refine my skills as an engineer? Can I evolve as a leader? Can I dive deeper into understanding complex code? Can I make it more reusable, readable, and maintainable? Can I make a greater impact within my company? The list goes on.
The truth is, determining the limits of your potential is an impossible task. Striving to be the best version of yourself is an ongoing, boundless journey, ?a constant pursuit of growth and self-improvement, recognizing that there will always be room for progress. Embrace this mindset and you’ll acknowledge that excellence is not a fixed destination but a continuous exploration (to boldly go where I’ve never been before? ?? ?Trekkie alert).
领英推荐
What have you learned from your most challenging projects?
The first project I was assigned to was incredibly challenging. I was hired to select and lead a team to design a web-based technology feature for one of the major BI companies in the market. The original idea came from 2 of their engineers in a hackathon and they defined the basic idea, but it was up to use to define “feature” per-se, ?the architecture, the tech stack, the underlying framework, the testing and quality strategy, the lifecycle, the ways of working …. It was a lot, and it required a huge effort from the whole team learning new things and challenging ourselves to leave the comfort zone and work as a multidisciplinary team. Since then, it has become the yardstick against which all subsequent projects are compared. ?Interesting details, at some point, when the project was finished, all team members became team leaders for other projects.
What is the best way to advance in a technical career?
Giving advice is a dangerous thing! Instead, I’d prefer to share three pillars that worked for me and maybe someone can find them useful.
Aiming for precision of language: It’s a feedback loop, as our understanding of a language, system, or technique becomes more refined, so does our thinking process. Acknowledging our inherent imprecision and actively working on mitigating it by trying to be every day a little more precise is an incredibly rewarding process. Being practical as a process: Breaking down the “ultimate” target, which may be elusive, into manageable and incrementally perfectible milestones is far more feasible than striving to be consistently "in the zone" at all times. Furthermore, finding an equilibrium between pursuing "theoretical perfection" and achieving “practical effectiveness” is crucial to prevent burnout. Balancing the ideals of theoretical excellence with the realities of practical implementation promotes sustainable progress and long-term success.
Hard\Soft balance: In a technical career, while the acquisition of technical expertise and knowledge demands significant effort, it's vital to be aware of the constant interactions we have with others in our personal and professional lives. Effective communication, active listening, conflict resolution, team building, and comprehending the dynamics of organizational structures all contribute to a successful career trajectory. Understanding people and fostering healthy relationships form the pillars that underpin not only professional accomplishments but also a fulfilling life. Nurturing a healthy balance between technical prowess and interpersonal skills as the key for sustainable to growth, collaboration, and personal development.
What’s the most effective advice you give your coachees or anyone else who is considering a technical career path like yours?
I must admit, I'm not a fan of of giving advice ??. That being said, if I were to offer a suggestion regarding a coachee’s career, it would greatly depend on the specific context: the country, culture, and company you find yourself in. These factors play a significant role in shaping the trajectory of one's professional journey. Having spent over two decades in the industry, I can confidently say that finding a company like Endava where values and the working culture are more than just empty promises is a rarity. In such a context, a priceless piece of advice would be to embrace a spirit of generosity. Sharing knowledge and continuously learning go hand in hand, and by assisting others, the impact within the organization becomes exponential. Take a moment to look around, gain some distance from immediate tasks, and broaden your perspective. By embracing a mindset of generosity and collaboration, you not only contribute to the growth of those around you but also elevate the collective success of the organization as a whole.
?
What’s your vision for the LATAM Frontend Community?
LATAM is an expansive region including diverse countries and cultures. While Spanish serves as the primary language across these nations where Endava is currently settled, each Delivery Location (DL) possesses its own unique local culture, creating a rich landscape of diversity even within DLs within the same country. In that context, our communities have flourished, emerging as active and highly popular hubs of interaction and knowledge-sharing.
Within this dynamic landscape, our aim is to promote and celebrate the distinct personality of each individual local community, fostering a sense of belonging and empowerment. Moreover, we strive to foster collaboration not only within each local community but also as a cohesive network of interconnected communities and organize bi-weekly meetups that bring together community leads from across the region ?as a platform to exchange ideas, offer support, and collectively tackle common and unique challenges faced by each community providing an opportunity to collectively envision the future of our communities, charting a path towards growth and innovation.
By embracing this community-of-communities approach, we harness the collective experiences of diverse individuals, leveraging the power of collaboration to propel our Frontend Communities forward. Through shared insights, mutual assistance, and collective visioning, we cultivate an safe environment that nurtures individual growth, fosters a strong sense of community, and collectively shapes the spirit of our Frontend Communities in LATAM.
How do you think Frontend Development will change in the coming years?
We have leveraged most of the industry standard approaches and have a handful of tools and processes that help us deliver high quality products in record time, … are we there yet? Being a frontend engineer is a thrilling and demanding role, constantly filled with challenges and excitement. Over the past decade, we have witnessed the rise of groundbreaking technologies that have reshaped the landscape. React (2013 ), Vue.js (2014 ), and the significant revamp of ECMA-262, the JavaScript language standard, in 2015 have revolutionized the way we develop web applications. Furthermore, tools like React Native, Ionic, Flutter, Angular 2 (rewritten in TypeScript) and Next.js have opened up new avenues for cross-platform development.
The field of artificial intelligence is rapidly advancing, with AI-powered assistants now capable of suggesting and even generating code autonomously. However, we find ourselves in a period where regulations to govern such advancements are yet to be established and included in our contracts. Excitingly, virtual and augmented reality are emerging as the next frontiers, promising innovative tools that will shape the future of frontend development.
As we look ahead, it becomes clear that the next ten years will be filled with even more remarkable surprises. We are living in extraordinary times, witnessing a technological revolution that shows no signs of slowing down. The only certainty is that the future holds incredible possibilities. To keep up with this rapid pace of change, it is essential for frontend engineers to maintain a steadfast commitment to continuous learning, staying curious, and embracing the epic journey that lies ahead.