#134 How to get a FAANG Dev Job in your 40s with Coding Interview University creator John Washam
Jul 26, 2024
auto_awesome
John Washam, the mastermind behind Coding Interview University, shares his fascinating journey from delivering pizzas to landing a software engineer role at Amazon. He discusses how he self-taught computer science in just eight months and reflects on his diverse career path, including service in the military. John highlights the importance of fundamentals in programming and the power of open-source resources for aspiring developers. His insights are invaluable for anyone looking to navigate the tech industry, especially later in life.
John Washam's journey from delivering pizzas to becoming a senior developer at Amazon showcases the power of perseverance and self-education.
The creation of 'Coding Interview University' reflects a commitment to democratizing access to coding resources and interview preparation strategies.
Corporate culture significantly impacts employee experiences, as seen in Washam's contrasting experiences at Amazon and Zappos.
Strategic job applications, including tailoring resumes and applying to multiple teams, can enhance chances of success in major tech companies.
A strong foundation in software engineering remains essential for relevance, despite the rise of AI and automated solutions in the industry.
Personal definitions of success vary widely, emphasizing the importance of individual growth and progress over societal expectations in tech careers.
Deep dives
The Importance of Skill Development
The podcast emphasizes the belief that talent is not fixed and can be developed over time. It challenges the notion that one’s abilities in high school are the peak of their potential, encouraging listeners to pursue skill growth through continuous learning. The conversation highlights how self-education and dedication can significantly enhance one’s capabilities in technology and software development. This mindset is vital for anyone looking to break into technical fields where ongoing learning is essential for success.
Coding Interview University
The main focus of the episode is the creation of 'Coding Interview University,' a comprehensive resource aimed at helping aspiring software developers navigate the technical interview process. Initially named 'Google Interview University,' the project evolved to provide a broad approach to computer science fundamentals, coding practices, and interview preparation strategies. This resource presents a curated list of topics, tools, and educational materials that learners can utilize to strengthen their skills and improve their chances of landing a job in tech. By sharing this educational framework, the speaker aims to democratize access to the knowledge needed for successful technical interviews.
Working at Major Tech Companies
The podcast discusses the speaker's experiences working at Amazon and Zappos, both of which emphasize high standards and great workplace cultures. It contrasts the rigorous environment at Amazon with the more relaxed and culturally rich atmosphere at Zappos, providing insights into how corporate culture impacts employee experiences. The speaker's reflections also highlight the learning opportunities available in large organizations, where mentorship and collaboration are key to growth. This experience showcases the benefits of having a robust support system while navigating one's career in a competitive industry.
Navigating Job Applications
In the episode, practical advice is given on applying for positions at major tech companies like Amazon and Google. The speaker stresses the importance of tailoring applications to specific roles and not being afraid to apply to multiple teams to increase chances of success. They clarify that applications do not go into a single pool but rather into teams with dedicated recruiters, allowing candidates to maximize their visibility. By advocating for a strategic approach to job applications, the discussion aims to empower listeners to take control of their job search effectively.
The Value of Software Engineering Skills
The podcast underscores the relevance of solid software engineering skills, regardless of technological advancements like Artificial Intelligence. It argues that while AI may automate certain tasks, the nuanced decision-making required in software development will always necessitate human oversight. The conversation implies that a strong foundation in coding, system design, and algorithms will keep software engineers relevant even as industries evolve. This perspective reassures aspiring developers that their investment in learning the craft holds long-term value.
Learning Computer Science Fundamentals
To prepare for technical interviews, the podcast emphasizes the necessity of understanding core computer science concepts rather than just memorizing coding problems. The speaker suggests a structured method for self-learning that involves reviewing topics, coding implementations, and applying knowledge through problem-solving. By practicing coding problems derived from resources like LeetCode, listeners are encouraged to familiarize themselves with common software engineering challenges. This approach promotes a deeper understanding of the principles behind coding and enhances readiness for actual job interviews.
The Role of AI in Software Development
During the episode, AI's impact on the future of software engineering is discussed, with the speaker affirming that while AI can assist in problem-solving, it will not replace human programmers. They stress that software development involves intricate planning, design decisions, and communication between teams, which AI alone cannot manage effectively. The conversation outlines the lasting need for skilled programmers who can guide projects and collaborate on complex systems. This perspective serves as a reassurance for aspiring developers that their expertise remains vital in a tech landscape increasingly influenced by AI.
Success Beyond Initial Expectations
The podcast contemplates the definition of success, indicating that achieving one's goals does not always align with societal expectations or conventional timelines. The speaker encourages individuals to focus on personal growth and incremental progress rather than comparing themselves to others. This narrative promotes the idea that success is subjective and varies based on individual paths and experiences in the tech industry. By fostering this mindset, listeners are prompted to define their own success metrics based on personal aspirations.
Adapting to New Employment Structures
The episode reflects on the adjustment from entrepreneurial ventures to structured employment within larger organizations. Upon re-entering the workforce, the speaker found value in mentorship and the security provided by established companies. This transition allowed them to enjoy the support of colleagues while leveraging previous experiences to boost their contributions. Ultimately, this shift highlights the significance of adaptability and finding fulfillment in different career stages.
The Journey of Self-Learning
The podcast captures the essence of self-motivation and discipline required in pursuing a tech career. The speaker’s journey of building 'Coding Interview University' illustrates how sharing knowledge can foster a supportive learning community. As they faced challenges in their learning process, they realized the importance of refining strategies to make knowledge more accessible. This encourages others to embark on their self-learning journeys, reflecting on their experiences and helping others navigate similar paths.
Balancing Work and Personal Life
In discussing their career trajectory, the speaker illustrates the need for balance between professional aspirations and personal life. They express a desire to invest time in relationships and personal interests, emphasizing the importance of not getting lost in career pursuits. The narrative serves as a reminder that while career growth is important, maintaining well-rounded lives and relationships is equally crucial. By prioritizing balance, individuals can find fulfillment in both their personal and professional endeavors.
On this week's episode of the podcast, freeCodeCamp founder Quincy Larson interviews John Washam, a software engineer at Amazon. John's also creator of one of the most popular open source projects of all time, Coding Interview University.
This is John's first-ever podcast interview, and the first time he's told his story. Interviewing him was an absolute honor.
We talk about:
- How John delivered pizzas to save enough money to buy his first computer in the 90s. "I was tired of being a broke kid."
- John's first career in the US military, where he worked as a translator in South Korea
- How John crammed Computer Science for 8 months and taught himself enough theory and coding skills to get a job in big tech, then published Coding Interview University on GitHub
- What it's like to work as a senior developer at a big tech company, and what you can expect the journey to be like
Can you guess what song I'm playing on my bass during the intro? It's from a 1986 rock song.
Also, I want to thank the 9,779 kind people who support our charity each month, and who make this podcast possible. You can join them and support our mission at: https://www.freecodecamp.org/donate