Overview
Joe Zhou shares his journey from finance to becoming an iOS engineer at Uber Eats, reflecting on the skills and mindset necessary for a successful transition into programming. He provides insights into the learning process, the importance of continuous education, and practical advice for aspiring developers.
What You'll Learn
1
How to execute a simple line of code in a command line interface
2
Why learning to code is the first step towards becoming a developer
3
How to approach learning programming with a mindset of continuous improvement
Key Questions Answered
What motivated Joe Zhou to transition from finance to programming?
Joe Zhou felt stagnation in his finance career and craved the steep learning curve that engineering offers. He believed that engineering allows for a significant impact, as small changes can save users time and enhance their experience.
What are the key skills Joe Zhou developed before joining Uber as an engineer?
Before joining Uber, Joe had completed an introductory computer science course, gained proficiency in Python and Java, and learned iOS development through Stanford's CS193P course. His finance background also provided him with extensive experience in Excel.
How does Joe Zhou describe the difference between coding and being a developer?
Joe emphasizes that while coding involves writing programs, being a developer encompasses a broader range of responsibilities, including collaboration, documentation, testing, and integrating with other systems. It requires a mindset of continuous learning and adaptation.
What advice does Joe Zhou give to those starting their coding journey?
Joe advises aspiring coders to find a tool or class that resonates with them, set achievable goals, and integrate coding into their current work. He emphasizes that learning to code is a journey that begins with small steps.
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Programming Language
Python
Used for solving technical interview problems and developing applications.
Programming Language
Java
Learned to assist others with coursework and gain foundational knowledge.
Programming Language
Swift
Utilized for iOS development, particularly in building apps.
Platform
Ios
The target platform for the applications Joe Zhou developed.
Key Actionable Insights
1Integrate coding into your current job to enhance your skills and productivity.By applying coding to real-world problems at work, you can solidify your understanding and demonstrate the value of programming to your team.
2Adopt a mindset of continuous learning to stay relevant in the fast-evolving tech landscape.As technologies change rapidly, being adaptable and willing to learn new skills will position you for success in your programming career.
3Start with simple coding exercises to build confidence and foundational skills.Executing basic commands in a command line can demystify programming and encourage further exploration into more complex topics.
Common Pitfalls
1
Many new programmers underestimate the importance of collaboration and documentation.
This oversight can lead to difficulties in integrating code with existing systems and hinder team communication.
2
Aspiring developers often focus solely on coding skills without understanding the broader responsibilities of a developer.
This narrow focus can result in challenges when transitioning to a professional environment where teamwork and project management are crucial.
Related Concepts
Continuous Learning In Programming
The Role Of Collaboration In Software Development
The Importance Of Documentation In Engineering