This can't be uncommon.
When I was a developer, I either felt like what I was doing could be done by a smart highschooler (probably better than I was doing it) because it was straight forward, or like I was figuring things out as I went along (because it was hard).
Now I do less development and more business analysis / architecture, I feel like I'm talking to a lot of far smarter people, and probably look smarter than I am because I'm echoing better informed peoples opinions back and forth.
All I could advise someone starting out in tech is to remember that no one really knows what they are doing.
If you've been successful in your career, in spite of what you perceive as personal limitations, I bet you have the humility to be a good listener and an empathetic motivator.
Honestly, if you look at most professional mentors and coaches, especially in sports, they aren't "the best" in their field. They are people who know enough to understand the problems and life experiences people in that field face and are networked in the field and able to help connect folks with each other.
Take a look at the GROW model for a good approach to working with mentees in fields you don't consider yourself to be an expert in.
A Mentor doesn't practise the art of 'menting'! The name comes from the character of Mentor in Homer's Odyssey.
A mentor has protégées.
(Yeah, I know Wikipedia mentions 'mentee' - it's still a horrible word in my book.)
Prescribe how you want, but one could make the case the mentee is the spirit-receiver of the mentor.
At the same time, language evolves and changes. Expecting it not to is likely only to lead to frustration. (I'm not immune. "Steep learning curve" to mean something difficult to learn gets me a bit riled.) The change you observe here is back formation, I believe.
Now, if you'll please excuse me. I think there are some kids on my lawn.
This has exactly the same effect on me. I've always thought about skill acquisition in terms of RC time constant: the time it takes me to reach 63.2% of something is finite and infinitely smaller than the time it takes to reach 100% (which never comes, hence the infinitely smaller), sometimes a sigmoid pops into my head.
So when I heard the expression "steepest learning curve" for the first time, I thought "sweet! tau is really small! Heaviside function like skill acquisition."
My brain melted when the context that followed the expression suggested that the thing was "really hard". "But.. but.. you have a Dirac like rate".
I use it sometimes but I give offerings to the Gods asking for forgiveness.
if you're happy in your new role, good for you! but to any developers experiencing imposter syndrome: there will always be people who seem smarter than you, and there will (hopefully!) always be jobs that are a struggle. it doesn't mean you're a fraud. use them both as resources to become one of those people who seem smarter than you. then find new people who seem smarter than you and repeat.
That is actually valuable advice. Especially for people who assume everyone else is genius, because they don't know everything yet. It is about figuring stuff out, not about coming in already knowing everything.
Teaching and helping is an essential part of learning, just as knowing how to follow is essential to becoming a leader. You'll find helping someone else will hone your own skills.
As someone else pointed out, this is more commonly referred to as Imposter Syndrome.
Don't think that is the same as Imposter Syndrome: https://en.wikipedia.org/wiki/Impostor_syndrome
That's why we are getting paid. We are all similar brain. Developers simply have familiar pathways that allows them to find solutions faster.
A better way to phrase it is "no one really has all the answers" or "everyone is making their way".
If you want to pitch in , just drop me an email.
To get started I just found the contact details on the website, emailed them and they told me to come.
2. India's gender inequality in the workplace picks pace from higher education. In the college we mentor in, there are ~400 boys and ~50 girls. Out of which, 30 boys and 5 girls actively code today. Since there is substantial gender based teasing/harassment, most colleges in India lock women up post 8pm. Collaboration doesn't kick off because of such low density of students. Especially for girls.
3. We run this with 200 students over whatsapp. We have groups for fostering reading, internships & jobs, AMAs, competitive programming and so on. If you would like to help us scale this community, get in touch and we can talk in detail.
I'd love to have a mentor.
1. What you currently do
2. What you would like to be doing/learning
3. Where you want to go
From there, we can discuss how we can both work on your development.
After reading very mixed reviews about bootcamps, I've decided to go back to college and get a CS degree. I'm taking one class at a time for now so I can keep my full-time job/pay my mortgage, and boy is that slow-going (especially since my single class right now is circuit design, which is required for the degree but has little to do with software programming).
Anyway, a mentor to help me learn real-world coding skills alongside the degree work would be amazing.
It's a bit tough to clearly define, but I think I don't know any developer that is really striving towards mastery on any level, with most colleagues and acquaintances doing the bare minimum to get by.
The best way to level your skills up fast as a junior developer is to work somewhere where most of your coworkers are skilled and passionate. It sounds like you're not in one of those places (which is normal -- unfortunately most developers aren't). If changing workplaces isn't an option, then your second-best alternative is to get involved with an active, well-run open source project with high code quality. Generally corporate-sponsored projects work best, because they'll have one or more people explicitly in charge of helping community members learn the ropes and be productive, but other large, cohesive projects could work too.
: One of the best things I've done for my career was to get heavily involved with the React Native community a few years ago. I'm not currently using RN directly, but through contributing to it I learned a great deal about software engineering and project management, and it was a nice resume item that helped me land my next job.
Open-source projects seem like a great idea, especially for someone like myself who doesn't have many creative ideas, although I finally found one a few weeks ago (fullfilling my own needs as no website seem to do what I'm thinking of atm).
It's rather niche though, and I could probably do it on my own but I don't know what I could learn that would be useful. I would probably keep using the things I already know if no-one more experienced can suggest appropriate tools (kinda related to the top post about over-engineering).
My CS culture is not that great for the moment (working on it) so what should I learn ? Everything moves so fast. It's also related to your argument : how to find open source projects that might interest me and where I could be useful, as I don't even know them in the first place.
I also slowly discover what I would like to work on (mostly enjoying working with data/databases and also algorithms although I'm probably a bit weak there for the moment, but I really enjoyed doing google's hash code this year). Reading other people's experiences helps of course, but it's still difficult to find the right questions I should ask myself, so the answers are even less precise.
They're out there. You might consider some of the tech companies that are large enough to have intern programs. Even if you don't want to be an intern, it signals a willingness to take on entry-level people.
Also, I say "tech companies" just because when the tech is the product, that tends to produce a more ambitious tech culture than places where it's just a cost of doing business.
Shameless plug: You might consider HomeAway if you're in the right geo area. We take interns, and have hired a few new grads/low-experience devs into my teams recently who are working out swimmingly. But I'm sure there are many other companies that would work.
I was actually hired to bring more passion and skill - so I didn't expect milk and honey at the new company. I did expect, however, a few like-minded persons, but have yet to discover them.
Also, my current life-situation doesn't allow me to work on open-source projects, although I would very much enjoy doing that.
1. What you currently do
2. What you would like to be doing/learning
3. Where you want to go
From there, we can discuss how we can both work on your development.
I had a class of middle school girls who had never seen a line of code before. By the end of the course, they had learned enough of the basics of HTML, CSS, and Python to build a personal homepage and a simple game.
The jury is still out if this will succeed or not but I hope that it does and if so it will likely be expanded beyond its pilot stage.
On the encouraging front, I've seen the following progress:
* The student got paying work doing some wordpress stuff on the side so a side gig!
* The student got an Ubuntu based development environment up and running all on his own
After two years of courses in math, physics, English, biology and Danish he finally got accepted into university and has his first day today studying robotics.
Signed up to help out at http://www.hackyourfuture.net/ as well, seems like an amazing project.
I signed up to teach some programming to children in England, but then got a job in Copenhagen before starting. It will be years before my Danish is good enough to understand children in a classroom.
You can sign up here:
There's also Coding Pirates, which is aimed at teaching kids technology, programming, etc.: https://codingpirates.dk/
And Hack Your Future - http://www.hackyourfuture.net/
It's very rudimentary and grass roots at this point. (I mean.. we're a Slack Team and a Google Forum.) But the idea is that everyone has things they want to learn and thing that they can share. PennyUniversity serves as the community for people that want to make In-Real-Life connections to learn new things. It's self organized, mostly it's individuals asking to learn something and then setting up a coffee chat or a lunch conversation. Occasionally the conversations grow to larger groups (say 10 people). Often the conversations are one-off, but sometimes they form into longer-term mentorship or topical-groups or reading groups. We encourage face-to-face meetings, but occasionally the meetings are online and recorded - like this: https://www.youtube.com/watch?v=Czy7bgDd7Hc
Check it out. I'd love to hear feedback.
It's a blast. There are about 15 centers like this across the country that operate under the banner of the Liberated Learners network. It's mostly volunteer but there are some paid opportunities, especially for group classes.
I suggest going to your alma mater or graduate school and asking them if they have a mentorship program. They almost always do and it's an easy way to get started.
There's a lot of different opportunities for mentorship as you can see from the comments. Find a specific demographic that you're passionate about helping. Maybe it's someone less fortunate, maybe it's a carbon copy of you. After you have that set it will be significantly easier to identify opportunities and organizations through which you can mentor.
I'm a director of eng. as well, so there'll be times when I reconnect with former managers and reports and provide/get mentorship that way as well. The key is to actually keep in contact and in touch beyond any singular job; if you were able to mentor them while you shared an office, that relationship is still valuable afterwards. Of course, this means that you have to develop the skill & reputation to be a good mentor to others around your job.
I didn't start mentoring anyone until 15 plus years into my career, or so I had thought. After I was first asked to mentor I read up on what it is and realized I'd mentored many people in software since the moment I'd left college. Not all mentoring looks the same but the thing it always has in common is listening, asking questions, listening more then hopefully getting the mentee to listen to themselves. The best book I ever read on mentoring was "Inner Game of Tennis" despite it being intended to teach coaching. I highly recommend it.
I think you can mentor people outside your discipline if you know what questions to ask. It's not always about having a superior technical insight, if it is then it's probably coaching. FWIW I see mentoring as advising someone through personal growth area and coaching as directly training someone on skills improvement or change, the former initiated by the mentee, the later the mentor.
Everyone here is smart and has something to offer. Seek out mentors yourself and in turn mentor others when the chance arises, you'll grow tremendously.
Great question, thanks for asking.
Personally, I do mentoring for children through programs like Big Brother and Youth Villages. These programs are constantly in need of male mentors/role models. Even more so for ones that work in white collar areas that these kids may not have ever had exposure to otherwise. As a former mentee in one of these when I was little, I can't stress how impactful these types of programs are. I encourage anyone here that can spare a few hours a month to volunteer at least once for one of these.
The Slack group is the most efficient way. If people find that they are able to get help by coming there, they tend to keep coming there.
Do you want to start something in this space?
For more volunteer-y opportunities:
I recall reading a very short book years ago, I think it was "The One-Minute Manager", and the biggest takeaway I got from that is that you have to adopt different styles according to people's motivation and skill (a 2x2 grid similar to ).
It appears "mentoring" (coaching) is appropriate for people who have skill but lack motivation or confidence. This definitely correlates with my experiences.
At least for me, it's too soul crushing to work with people who completely lack motivation.
It's a whole weekend of volunteer work, functions just like an adult startup weekend. Kids learn to pitch, come up with ideas, and pivot more times than an adult does (ha!).
I've done a few in different states. Only one wasn't run well (techstars appoints faciliators & organizers, it's up to them on how well the event runs). The others I learned just as much interacting with the kids than they learned from me.
Give it a shot! They don't have many events on that page now, but they have events in quite a few states throughout the year.
I lived in SF for a while and then moved back to Ohio and started a local JS meetup. I did a lot of presentations there, although I'm not sure if it would count as mentoring. I had a son about a year after starting it, so I handed off the reigns to a local agency with a bit more free time then what I suddenly had.
I've also helped some of my friends' children get started on Khan Academy (programing and other things), and I'm looking forward to when my son will be ready (he just turned 3 ;)
I got started by re-connecting with a group I led at university and being introduced to folks teaching business and practical engineering skills at a local accelerator (which seems to be primarily populated by college students and people without much experience trying to start their own companies). It's been a learning process -- both in terms of learning what people really ought to know before they apply for their first job versus what's normally taught and trying to fill in some of the missing bits, and learning where I myself have skills gaps.
- software career guidance for beginners;
- Python, SQL and database design, and Linux/Unix user-level and shell scripting (the mentoring can be done for each of those subjects independently);
- maybe C too a bit later.
I have multiple years of real life experience in all of those.
I also do online mentoring as part of my work, at Codementor. Here is my Codementor profile:
I also mentored another relative. He was a fresher and just passed out of college - but with a "wrong" degree. He did commerce (that's what we call it in India, his dad is an accountant) - but wanted to be a programmer. I followed the same pattern with him. He also did a 1 year full time course in Software. He just recently landed a job as a Junior Dev. It's a start because the institute that he did the course with said that because of his background degree, he'll find it difficult to get a break with A-companies and should concentrate on B-class companies. I tried to convince him to now start solving problems on Hacker Rank and Project Euler and take about 3-6 months before applying for a job, but he was too anxious and went for a job that pays - I kid you not - INR 8000/- per month. They have said they will pay INR 16,000/- after 6 months if he does well.
One of the things I've found is it's hard to boost people's self esteem. The first guy i'm mentoring is too afraid to go for an interview because he doesn't want to fail. But anyway it's slow and steady progress up the ladder.
I am also a member of the Institute of Engineering and Technology, a UK professional engineering organisation. I hope to be involved with some mentoring through that.
I stuck around helped them learn more about programming, reverse engineering, and eventually exploit development.
Over the years the group has changed but I established myself as one willing to take questions and help people learn. It took sometime to establish myself especially among that age group but I just stuck it out because I saw people willing and tryimg to learn.
In fact, we're all ready to go for another season of coding and mentoring as of tomorrow. Looking forward to seeing familiar and new faces ...
It's been challenging and slow but we are progressing. Most videos/tutorials do not work well because deaf people do not have the same reading comprehension non-deaf people have.
But I went. It went really well, and I got a lot of people interested.
Further, one should not underestimate all micro-mentoring that occurs when helping young talents in ones field.
I believe knowledge should be free and I've done lots of volunteered mentoring like instructing RoR 101 more than 200 hours, created a free online RoR101 course.
I find mentoring, helping and instructing people about something you know is fun and exciting, also it makes you better at it.
I also do mentoring at https://www.codementor.io/beydogan
I do have my work cut out for me though since they are usually still students.
I offer mentoring as a consulting service. It's often a followup of some longer training. It's lots of fun when it happens. We usually talk once or twice a week and discuss "the problem of the moment". Contracts like this usually last 3-6 months, and I probably do one every couple of years.
There isn't a huge demand for this sort of 'one-on-one' training since most programmers with moderate experience can "Google until it works"
The engagements with people are not long-standing, but it is rewarding to see someone expand their knowledge, work out a technical challenge or find and fix a bug in their code.
There are also boot camp programs that do the same. In particular, I have mentored at Hackbright Academy, and I only have great things to say about the experience. I am pretty sure that I get more out of the experience of mentoring the students than they do :)
How did I get started? I was asked if I would agree to it. As a former CTO and engineering manager with 40 years experience on very large projects in commerce and industry, I offer a different perspective and level of experience.
Here is my list:
* I run a developer user group in town that meets once a month to talk about various topics.
* I help run a code camp here in town (not affiliated with Microsoft) that meets once a year and attracts 800 people, about 200 are school age.
* I attend panel discussions at some of the code schools.
* I help high school kids in science competitions with coding projects.
* Code reviews in exchange for beer.
It's definitely not 100% effective but works for what I want at the moment.
I know others who do a lot more admirable work with coder dojo and mentoring kids. They're always looking for more mentors but I have a hard time balancing my personal life schedule already.
They help formerly-incarcerated people with their entrepreneurial goals. Highly recommend volunteering there if they have presence in your area.
I am a world of warcraft raid leader. Started as a WoW raider 10+ years ago.
I've had a number of teaching-type jobs over the years. First, as a martial arts instructor in early college. Then as a math, physics, and programming tutor. I kept up math tutoring after college for a few years, mostly for friends and family still going through university. Also, I've been the technical lead on a number of my work projects, which requires a level of mentorship when juniors are on the team.
But I hadn't done anything in a few years and so a few months ago I tried to heed the call that "the world needs more mentors". I spent a solid month with about a dozen people whom said they wanted a mentor, in the topics specifically covered by my FOSS project. I spent tons of time on writing beginner's documentation, creating a whole series of github issues to gently walk people through getting into the project, started personal conversations with each person to discover their goals and how they wanted to contribute.
They ate up all the "for first timers" tickets where I provided explicit directions on single-line changes to make to the code. They never went on to any of the easy tasks, not ever asked me for any help past the first intro.
Since the advent of "code bootcamps", I've noticed a trend that when people say they need a mentor--especially just after having read some semifamous techie on Twitter say a mentor is essential--they really mean they want a tutor. They want a lesson plan. They want tutorials (notice the root word there?) with step by step instructions. They want someone to give them the answers after trying an exercise or two.
That's not mentorship. That's teaching and it's a difficult, full-time job that should be paid. Mentorship is learning your own path, with an oracle you can bounce ideas off when you get truly stuck. A mentor shouldn't even really have to prepare anything, just be able to point you in the right direction when you have a tough question. Other programmers who know me in person tend to learn I'm productive and will ask me questions from time to time. That is mentorship.
So people who say they need a mentor, or those who say they don't feel qualified to be a mentor, you probably don't know what you're talking about. Mentorship is just using someone else's experience to take shortcuts. If you have any level of experience, you can mentor anyone with less. Hell, it's often not even about that, even. Often it's just being a quiet ear who can ask probing questions.
If it sounds like mentorship isn't that valuable, that's because it isn't. You shouldn't strictly need it, because your entire career will rest on your ability to read and figure things out on your own, so you might as well start now. And you are probably already capable of mentoring, even if you feel like you only just started. Find a good chatroom on your topic and you probably have all the mentorship you need--and have probably already been mentoring other people, if you're active.
As someone who taught quite a few C and other programming courses at an adult education college, I absolutely agree with this statement. If anything, it's a slight understatement.
Are people therefore downvoting for the poster's lack of explanation, or because the poster doesn't mentor someone?
Just saying "No" presumes we care that this specific guy doesnt do some specific thing. It's quite arrogant.
I originally was imagining this thread to be a poll, and then the crowd was upvoting affirmative answers and downvoting answers that were the opposite
In each case they were volunteering for that semester with my small Online Services department of one (me), so my main goal was building up their skills so they could be marketable next time they started applying for positions and I wasn't trying to use them for just building things I needed to build (if anything, I spent quite a bit of one on one time with them and took them out to lunch most of the days they spent with me a few times each week).
My work at the time was a bit all over the place so I wasn't doing a ton of development myself but I had been adding in a lot of these skills too so it was good to review with them and share what I had learned which in also helped reinforce my own knowledge too.
Kind of in the middle of the semester and then toward the end I gave them a realistic mini-project or two that they could work through for the college that way they can have something to point to that they had done (one of the things I remember sharing with each of them is that in an interview it's really nice to be able to point out specific stories/scenarios/projects that you've worked on to share).
Locally those jobs are pretty rare, but luckily the first guy was able to apply for a job that had come up just a month or so after the Spring semester and get one of the good local jobs in web development. For the second guy it took a little longer, but he ended up being able to get a position in San Diego and he and his wife moved up there (his wife needed to transfer to another school for her work, but I think it at all panned out for them).
I rarely get to talk with anyone else locally about what I do, so in that way it's pretty lonely so when I do have someone locally that's interested in programming/development it's always nice to share and help them out.
It's hard to keep up on an ongoing basis since it is pretty energy intensive, but it's definitely nice/rewarding when you do have good people to mentor.
If you're interested in mentoring in Chicago, I'd recommend coming to a meetup and saying hello!