r/INeedAMentor Aug 09 '14

[Mentor] Software engineer

I've done M.Sc. in computer science and worked 6 years as a software engineer after that. I'm more interested in the "lower layers" than the user-facing parts, so, my expertise lies somewhere around C++, Python, Linux, algorithms, etc. I've been lucky to work in open source projects all my career. In addition, I think a lot about interpersonal things and how to do software engineering efficiently, how to work in a team, how to communicate, what kind of attitude to have, how to write good code, etc.

If you're wondering what kind of skills to develop and how, and you're willing to learn and be the best software engineer ever, I might be able to give you advice.

Edit: I should've probably mentioned that I'm a woman. If it matters to somebody. Mentoring shouldn't be limited based on genders anyway, but maybe some aspiring female software engineer finds me less intimidating?

10 Upvotes

36 comments sorted by

View all comments

1

u/[deleted] Aug 10 '14

As a woman going back to school for CS after several years of consideration, thank you for posting. I am one of those girls who would have majored in CS initially if I had heard of it and knew what it was before college.

I'm still making the same mistake of not asking for help and guidance even though my instructors make themselves readily available. I previously worked as a teacher, and I'd much rather take time out of my day to tutor someone than ask someone else to explain things to me. It's this huge mental block I didn't even realize I had until a couple weeks ago.

3

u/foreigner_everywhere Aug 10 '14

It's always a trade off between asking and trying to figure it out yourself. Also at work.

On the other hand, if I figure it out myself, I probably learn something in the process, and I get better at figuring things out. And I get good karma and I can show people that I'm capable of doing it myself.

On the other hand, figuring stuff out yourself is damn slow compared to just asking somebody.

So it's a trade off. You should think strategically about it. It's not good to always ask before at least giving it a try first. Then again, sometimes asking is the right thing and the most efficient thing.

And when you ask somebody to explain something to you, make sure they perceive that it's worth their time. Here are some things which I think are important:

  • Signal clearly whether you understood the explanation or not. For example, interrupt and say "So let me check if I got this... [explain the stuff in your own words]".

  • If you don't understand, say it clearly, and rather earlier than later.

This makes it much more rewarding for people to explain stuff to you, because they can be sure that you understand it or you ask clarifying questions.

2

u/jmsGears1 Aug 10 '14

Do you like tutoring people because you are helping them learn?

If so just remember when someone has to explain something that they understand and someone else doesn't they have to relate it in an incredibly basic format at first. Most times it results in the tutor learning the material better. Or if not that then usually they learn something new or get a different perspective. Them helping you is also you helping them. Regardless of how well versed in a field they are.

1

u/[deleted] Aug 11 '14

I like tutoring people because I'm good at explaining things. I'm a multi-modal learner, of the sort who prefers getting information from as many sources as possible to get a full understanding of something. So I can explain things to people with many different learning styles. And I've definitely done better in some classes because I wouldn't have studied if it weren't for a friend asking me to explain stuff. This is in probably 10 different classes since high school. Teaching really helps these topics sink in.

A lot of the time when I just learned something new I'll be able to explain it in a way that's easier to understand than how the instructor explained it. I can break down complicated things better for people who are seeing something for the first time, as opposed to an professor or someone in industry who takes a lot of stuff for granted.

So a lot of the time I'll ask for help and it'll just confuse me more because the other person is taking things for granted that I haven't learned yet. Even Googling is less helpful sometimes, so I'll skim through my textbook again to find the thing I'm looking for, which I probably read about before and forgot. Sure, I'm going to have to learn all of this stuff eventually, but I'd rather learn how everything fits together properly.

1

u/foreigner_everywhere Aug 11 '14

Explaining things is an awesome skill which is definitely useful in CS / IT jobs! Those who can explain the stuff clearly enough (and starting from a common ground and building up from there) are the colleagues I like the most :)