Mentoring for Software Developers
Hello! My name is Toby Ho. I am a software veteran who specialize in mentoring and training software developers. If you are a developer in need of guidance, or if you'd like to provide more guidance to developers at your company, my mentoring services might be helpful to you.
- Angular, RxJS
- React, Redux
- Jest, TDD, Puppeteer
- npm, Webpack
- Node.js, Express, MongoDB
- C#, ASP .NET, Entity Framework
- Ruby on Rails, Python
- Java, Spring
- Postgresql, SQL Server, MySQL, Oracle
- I have taught as a lead instructor for a 16-week full-time immersive course at a leading coding bootcamp.
- I am experienced at writing course material for curriculums, workshops, and video courses.
- I have trained a group of ~15 software developers at a small startup software company via lectures, workshops, mob programming, discussions and 1-on-1 meetings on subjects including Angular, TypeScript, RxJS, software architecture, refactoring, code re-use, test driven development and more.
Testimonial: Q&A with Huiqi Zhou
The questions below were given by me, the answers were given by Huiqi Zhou.
Q: Why would a software developer want to use my mentoring services?
“Architecture is very important when we design a new piece of software and write code to implement it. Toby helps software developers make sure the architecture is solid and he contributes a lot of brilliant ideas and architectures that the developers don't know about at all or don't know is suitable for the specific software. He helps to make the code more maintainable and extendable. And he also levels up the developers as they learn ideas and methodologies along the mentoring process.”
Q: What are the situations that prompt you to come to me for help?
- “When I need to design or code something that's fundamentally different from what I have done before.
- When I have different ideas about implementing something, but I don't think any of them are perfect for the situation.
- When I need to refactor a piece of old code or make connections between new features and old code.
- When I have a tricky bug that I get stuck and run out of ideas of how to debug it.
- When I need to come up with an architecture that is maintainable for broader team and want to make sure the whole team is comfortable with.
- When I want to do a thorough and systematic review of a piece of code that I'm not familiar with.
- When I have performance issue and want to know what is the performance bottleneck of a piece of software.”
Q: How have I positively affected your career in the past?
- “I successfully implemented a lot of Toby's idea in actual work. It proved that these ideas are great and actually make the code more maintainable and extendable.
- I picked up architectural thinking after working with Toby, and it's helpful when I need to design new software and refactor old software.
- My debugging skill became much better because Toby taught me a lot of useful debugging approaches.
- I started to see different approaches of software architecture in a more critical and flexible way, and got better at comparing and making decisions when there're many choices to solve the problem.
- I learned from Toby how to work better with other team members and how to mentor people.”
Q: What are my strengths?
- “Toby understands the context and essence of my questions very quickly, even when he's not very familiar with the code.
- Toby doesn't only try to resolve the outstanding issues, but he also tries to come up with patterns and guidelines that the development team can follow in their day to day work.
- Toby has a lot of experience in a variety of software technologies and has very good debugging skills. And he is very up-to-date with the newest technologies.
- Toby often gives mentees multiple ideas and offers very objective evaluations of different potential solutions of problems, instead of only focus on one approach.
- Toby is very patient when he mentors developers at different levels, and adjust his approaches according to the level.”
Testimonial: Danny McGee
“Toby is a wellspring of knowledge and wisdom and a real pleasure to spend time with. His sessions have helped me work through complex problems on tight deadlines on many occasions. But even more valuably, he's influenced the way I think about software development and architecture in important ways, from different design patterns for component flexibility and their strengths and weaknesses, to balancing sophistication and readability in a codebase shared with developers of varying experience levels. He has an obvious passion and a serious talent for mentorship that makes him an invaluable resource for new, aspiring, and senior developers alike. I couldn't recommend him highly enough.” — Danny McGee
Testimonial: Ed Allison
“Learning from Toby is great because he has a solid understanding of the fundamentals of programming. His pragmatic approach to understanding and debugging code makes him a great mentor.” — Ed Allison
How to Use Me
Listed below are some common ways in which my mentees use me:
- Ask for advice for a specific programming problem
- Pair programming on a task
- Pair programming on debugging
- Pair programming on refactoring/architecture change
- Performance tuning - pinpoint and solve performance problems
- Semi-guided learning trail - you want to learn something, and need more guidance than you can find online
- Learn specific skill from me - for certain subjects, I am happy to teach on a 1-on-1 basis, aka violin lessons
- Ask for career advice
- Ask for feedback on your code
- Help with your personal hobby projects
My mentees usually schedule time with me in 1 hour time increments. My rate is $160 per hour. If you are a junior developer interested in my services and your company is unable to pay for it, you can reach out to me about a discounted rate.
If you are interested in hiring me, please contact me via email: airportyh [at] gmail [dot] com.