Gil Tayar Talks About Volunteering: Mentoring Web Developers
To start 2020 on a high note, and as we work to foster a culture that promotes giving and volunteering all year long, people like Gil Tayar help us deliver that message. Gil holds group mentoring sessions with junior web developers, where he shares insights and gives practical guidance, that help them make progress with their home projects.
We’re talking to Gil to learn more about the story behind this impactful initiative.
How did the idea for this forum come about? It all started some 5 months ago, when Applitools’ Head of Frontend, Doron Zavelevesky, had this idea to initiate a special meetup where we would bring together juniors (web developers who had recently graduated programming bootcamp or a university Computer Science degree) and senior web developers, and hold a Q&A panel for the benefit of the junior web developers.
That forum took place in August. The discussion focused mostly around finding your first job, building a resume, and such. After years in the industry, and having interviewed hundreds of candidates, I was more than happy to share some of my insights and offer career advice.
A common thread in the seniors answers was the fact that, as a junior, you need to float above the noise, as there are so many juniors looking for work these days. By the way, back in my days, that wasn’t a problem: once you’ve graduated, or learned a bit of programming by yourself, BOOM, you were hired! But these days, more and more people are looking at software development as a good career choice (it is!), and it’s become much more competitive.
So back to the panel - all senior developers thought the best way to float above the noise was to build an interesting code project or two. The developer gains two important benefits: they code a lot, and not just exercises, thus benefiting from the experience, and above all, they can add the project to their resume. If the project is interesting enough, it may pique the interest of the hiring company. Perfect! But then this junior developer pops a conundrum: she wouldn’t know how to define a good project and start it. She was looking for some guidance. At that moment I decided to pick up the gauntlet and told everyone that I am willing to help them define and build their projects.
So I did, and a small group of juniors formed that day. Since then we meet every two weeks, go over their projects and make progress. I provide insights and guide them through the next step in their work.
So, yeah, the idea was a spur of the moment thing, but I haven’t regretted it! It’s nice to help people, especially people from your own community.
What makes a career in programming a good choice? 10Bis, obviously ??. But also the fact that you’re usually working with really smart people, who tend to be friendly and helpful. (I know, I know. There are exceptions!)
In my team, I have the opportunity to collaborate and interact with extremely talented software engineers. It’s so easy to deal with these kinds of developers: just throw a difficult problem at them, see them lull it over for a couple of hours, come back to you with some ideas, brainstorm them, and SHAZAM! Solution! Interestingly enough, the higher caliber the developer is, the less code we discuss. It’s more about design considerations like modularity, performance, robustness, flexibility, and less about this class or that class.
But to reach that level of discussion, to take code out of the discussion, one must code without thought. It’s like a beginning pianist (me!) who struggles with the notes and the placement of the hands, versus a senior one, where the hands just float gracefully to where they are, because playing comes naturally. This is why the senior pianist can play so wonderfully: because their attention is not caught up with the mechanics of play, but rather with the gracefulness of the music. But this takes years! And it’s a wonderful process, and watching a developer grow from dealing with the mechanics of programming (should I use an “if” here?) to the mechanics of design (“should I use this class or that?”) up to seniority (“which of these three choices can make the code most flexible and robust?”) is, as I said above, an enriching and fulfilling experience.
Last but not least, the fact that development itself keeps changing, in a total and absolute way, once every 10 years! It’s also a problem, as you have to be on your feet constantly, learning and changing along with everybody, but for me that’s not a problem, it’s actually part of the fun!
Over the years: What was the one project you heard about that made it float above the noise? It’s not a specific thing. For me, it’s the attention to detail. This is a big part of what differentiates an OK developer from a great one. The attention to detail, and the thinking involved in that.
So when I look at a project, I start with the readme. Is it well written? Is it clear? Is it sectioned correctly, and is there a logical progression from section to section? Screenshots to pique my interest? Are there grammar or spelling mistakes? (I have a special negative fetish for those!).
Remember, somebody wants to try it out, so is it already deployed somewhere that I can access immediately? If not, does the readme have clear instructions on how to run the project?
I also look at the code: is it styled nicely? Does the developer use eslint or prettier? (they should!) Is it modularized correctly, or is all the code bunched up in one file? I don’t expect good modularization from junior developers, but some modularization is important.
And I haven’t even talked about the project itself! Attention to detail is exactly that: fretting at the little things, at the aesthetic things, is, in my experience, the mark of a good developer.
But the project itself, is, of course, really interesting. We are human, and, yes, a cool project is the best project. Is it around music? Art? Some kind of hardware gizmo? That is a huge attention grabber. But it doesn’t have to be. It can be a boring project that manages some school, or a factory, and still be interesting because of the quality of the work. But, yeah, cool works too!
What motivated you to put your time into these mentoring sessions? Hah! Interesting question! I guess as my kids are all grown up, I have more time on my hands these days, and it’s time to do nice. Two years back, I taught at a bootcamp, and the feeling of watching juniors grow from zero to full fledged developers, who all later on went and found great jobs, was wonderful. I’m still in contact with some of them, and it makes me happy to see them grow in the industry!
There’s an interesting paradox in our community: there is a huge lack of good developers, and yet there are hundreds of juniors incapable of finding jobs. Maybe the work I do, albeit small, will help resolve that paradox.
This initiative also correlates with our culture and how we do things at Applitools. We value being friendly, and giving back to the developers community is a big part of that. We also value being masters of our craft, and it pains me to see those junior developers struggling at that. I want to share my experience and help them become better developers, gain more knowledge and learn how to aim high.
This is part of my motivation, to inspire others to think about their career in the same way. Also, when you teach, you learn. A lot! As a former Basmach (the IDF’s computer school) instructor, I would say that most of my programming insights came not from writing code, but from instructing others!
How can we help you in promoting this activity? Reaching out to more junior web developers: there’s an initiative, led by the wonderful Maya Liberman (who is, interestingly enough, also a junior and a part of my group!). The group weds juniors and seniors in a weekly meetup, who advance them in their projects, teach them stuff, and basically help them become better developers so that they can find their first job. You can find more information here: https://bit.ly/2vkFeEA.
Interested in hearing more about opportunities to progress your career with Applitools? Check out our careers page or contact one of us to hear more!