Overview
The article discusses the author's transformative experience during an internship at Uber, highlighting the supportive environment, hands-on projects, and the opportunity to learn Golang. It emphasizes the contrast between preconceived notions of corporate software development and the reality of engaging, collaborative work.
What You'll Learn
1
How to navigate and utilize a monorepo for Go projects
2
Why collaborative teamwork enhances learning and project development
3
How to implement a Slackbot using the Slack API and Golang
Prerequisites & Requirements
- Basic understanding of programming concepts and Golang
Key Questions Answered
What was the author's perception of software development before the internship?
The author initially believed that software development at a large company involved monotonous work in a dull environment. However, the internship at Uber revealed a vibrant and supportive atmosphere that encouraged exploration and creativity.
What project did the author work on during the internship?
The author worked on a Slackbot named Whobot, which interfaces with Whober to search for employee profiles by email and Slack mention. The project involved researching the Slack API and implementing interactive message formatting.
How did the internship change the author's view on teamwork?
The internship experience at Uber highlighted the importance of teamwork, as the author received constant support from colleagues, engaged in meaningful discussions, and felt empowered to contribute ideas, which broadened their understanding of professional collaboration.
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Backend
Golang
Used to develop the Whobot Slackbot and for various projects within the Go monorepo.
API
Slack API
Utilized to implement functionalities for the Whobot Slackbot.
Key Actionable Insights
1Engage actively with your team to enhance your learning experience.The author found that asking questions and participating in discussions led to a deeper understanding of the projects and fostered a sense of belonging within the team.
2Take advantage of mentorship opportunities to explore new technologies.The author was able to learn Golang effectively through guidance from their mentor, which allowed them to apply theoretical knowledge in practical scenarios.
3Embrace the freedom to explore and experiment in your projects.The supportive environment at Uber encouraged the author to take risks and learn from failures, which is crucial for personal and professional growth.
Common Pitfalls
1
Underestimating the value of collaboration in software development.
Many new developers may feel hesitant to engage with their peers, thinking they should work independently. This can lead to missed learning opportunities and a lack of support in problem-solving.