

Ask HN: Which companies are awesome at mentoring? - mikemajzoub

Hi, HN! I’m hoping some of you can help me.<p>I’ll be graduating with a Masters in CS in May. My goal is to become an excellent software developer as quickly as possible, and I believe that being a part of a company that encourages mentorship within its culture will help me achieve this. However, as I’m researching potential employers, I’m rarely able to get an understanding of which places would be ideal.<p>Do you (1) know of any specific companies that place an emphasis on the development of new grads, and&#x2F;or (2) do you have any advice for me as I continue to conduct my research with a focus on those companies that promote mentorship.<p>Thanks!
Mike
======
smt88
What kind of software do you want to develop?

If you want to learn how to build end-to-end products right away, you should
(in general) look for smaller companies.

My friends at larger firms (Activision, Yahoo, Google, Microsoft) never write
anything larger than a module or widget in their official capacities. Any
bigger things they do are on their own.

That said, you should write the kind of software you want to write in your
spare time, regardless of where you work. If you run into a snag, you'll be
able to ask for help online as well as among your colleagues.

They're not going to frown on you coding in your spare time, and they won't be
upset if you ask them questions.

~~~
mikemajzoub
Thanks for your reply, smt88. On my own I've enjoyed the end-to-end nature of
developing iOS and Android apps, but I also think it'd be really fun to be on
a bigger team working on a larger scale challenge. So, I guess I am excited to
go either route. Perhaps I'll see if I can begin contributing to an open
source project this year as a way to experience the larger scale development.

In my reading I've come across some people suggesting that smaller companies
are great because you'll get to wear many hats and can learn quickly this way,
but I also understand that an all-hands-on-deck startup might not be a place
where the senior developers would have the time to help me develop my craft.
On the other hand, a bigger company might want me developing expertise on a
smaller number of frameworks, but might also have deliberate structures in
place to help driven new grads increase their skills to rise up the company's
ranks. So, this is a main confusion I am trying to puzzle through at this
point.

Thanks for your comments. I will take them with me as I continue my research!

~~~
smt88
I've led the development teams (ranging in size from 2 to 10) of 3 startups,
and I'm still leading the third.

A smart CTO or senior dev won't hire a junior dev unless there's time to
mentor. In a small company, you have to spend time getting a new hire up-to-
speed anyway.

If you're moving fast, your code is going to have some weird/kludge-y parts to
it, and it's going to take time to explain that to someone.

In addition, most developers who've been at it for a while are very confident
(you might even say dogmatic) about The Way Things Should Be Done. They'll
want you to do things the same way.

That sounds bad, but honestly it's a great way to learn the pros and cons of
different ways of doing things.

All that said, every company is different. Try something out, and if it
doesn't work for you, you'll do something different in a year. Even jobs that
are a bad fit are great experience.

~~~
mikemajzoub
Thank you. Your perspective helps a great deal - this is all quite new to me.
I appreciate you sharing your thoughts.

In peace, Mike

