Overview
This article narrates the inspiring journey of an individual who transitioned from being a fabric weaver in Ethiopia to becoming a software engineer at Uber in San Francisco. It highlights the challenges faced, educational milestones achieved, and the eventual success in the tech industry.
What You'll Learn
1
How to leverage online resources for learning programming and machine learning concepts
2
Why collaboration is crucial in building machine learning systems
3
How to balance work and education effectively while pursuing a career in tech
Prerequisites & Requirements
- Basic understanding of programming and machine learning concepts(optional)
- Experience in tutoring or teaching can be beneficial(optional)
Key Questions Answered
What challenges did the author face while pursuing education?
The author faced significant challenges including financial constraints that required him to tutor students to support his family while continuing his education. He also experienced culture shock and homesickness when moving to Hong Kong for high school.
How did the author transition from academia to a career at Uber?
After completing a data science bootcamp while driving for Uber, the author secured a job as a data scientist at a small ad tech company. His educational background in mathematics and physics, along with practical experience, made him a competitive candidate for Uber.
What role does the author play at Uber?
The author works on the Marketplace Forecasting team at Uber, focusing on building machine learning systems that produce forecasts for supply, demand, and estimated time to next request (ETR) for drivers.
Why did the author choose to work at Uber?
The author was drawn to Uber due to its strong engineering team, the value he found in the product as a former driver, and the leadership change under CEO Dara Khosrowshahi, which gave him hope for the company's future.
Technologies & Tools
Backend
Machine Learning
Used to build forecasting systems for Uber's Marketplace.
Key Actionable Insights
1Consider leveraging online platforms like Coursera for learning programming and machine learning.These platforms offer flexible learning opportunities that can fit into a busy schedule, much like the author's experience in self-education while balancing work.
2Engage in collaborative projects to enhance your learning and application of machine learning.The author's experience shows that collaboration can lead to better outcomes in projects, as seen in the development of the ETR feature at Uber.
3Explore tutoring or teaching as a way to reinforce your own knowledge while supporting others.The author successfully tutored students to support his family, which also deepened his understanding of subjects like mathematics and science.
Common Pitfalls
1
Underestimating the importance of collaboration in technical projects.
Many individuals may attempt to work independently, but the author's experience highlights that collaborative efforts can lead to more effective solutions and innovations.
Related Concepts
Machine Learning
Data Science
Educational Pathways In Tech