Editor’s note: In a big team where most people know each other only through Slack profiles, there’s plenty of space for funny incidents. For instance, someone once asked for a webinar on how to make Slack bots. George volunteered to speak. After the event, someone commented in chat, “Hey, you sound really young.” And that’s how I found out that George is actually a school student working part-time with a couple of projects featured on Product Hunt.
When I was seven, my dad bought our first Arduino and we built a toy for our cats. It was a laser pointer connected to two servo motors — it showed a red dot that our cats chased. My dad wrote the code, and I tried to understand how it worked. That was my first experience with C++.
I soon realized that C++ is a bit too complicated for a first-grader. But I really got into programming, so my dad suggested trying Scratch. When I outgrew it, he showed me a couple of moves in Python. Then it was a classic story: a web page, jQuery, JS frameworks and Node.js. And here I am.
It started with Arduino. It didn’t have any decent documentation in Russian, and the official site was all in English. I knew some basic language from school, but my English teacher couldn’t help with technical texts. My IT teacher wasn’t of much help either — he taught us how to use Paint.
So I opened Google Translate and tried to read the text at arduino.cc. As I knew some English, I translated only some words, not the whole page.
With Scratch, my English got to the next level. The community speaks English, and to become a part of it, you need to know the language really well. People may come across your project and write a review or ask to borrow a feature. It’s like a very basic open source. After becoming a part of the community, I lost my fear to comment and reply to people in English. I started to really use the language as a tool.
It came in handy when I started to play with Python and JS: if you know English, you can really go places with those.
I had more than 50, but I’m gonna speak about five.
My first GitHub commit was November 1st, 2015, a Python game
No plot — you just navigate a ship (a triangle) and pop bubbles (circles). The graphics are drawn on the go.
My first web page. Initially, it was a homepage for my browser — just a search bar and three buttons: Open in Google, Open in Wolfram Alpha, Open on YouTube. It didn’t even have CSS, but it was still good for the first try. I went on to play with different APIs.
Then I accidentally built a Telnet honeypot. I was bored in a computing class so I tried to connect Google to Telnet. I built a server using this protocol that could send requests to search results. Telnet is mostly used for configuring routers now, so my server attracted many scamming bots. But the server just logged their commands instead of following them. It was hilarious: a bot would find a server, think it’s a router, send commands trying to reset it — but only got search results from Google.
The first time I was featured on Product Hunt. In the summer of 2018, I was looking through some Apple documentation and noticed that they had a web API for music. And we had this problem at school: at any party, people would fight to put their music on. So I wanted to make a service for collaborative playlists: you put it together on your phone or computer, your friends scan the QR code, add their own songs and then vote for the song to play next.
I uploaded Que on Product Hunt. It took 10 minutes: I filled in an application, got a reply, “We’ll feature you but please change the description, it sucks.” I said, “Ok.”
Docket — Tinder for grocery shopping. Another project that did really well on Product Hunt. The concept was like this: imagine yourself standing in front of the empty fridge. You’re trying to think about what do you need to buy. Or you can open an app and swipe through groceries — and build your shopping list.
I had to scroll down to the fifth page of Google to find data for the app. The previous ones only had branded data sets. But in the depths of search results, I found a link to GitHub. Someone compiled a dataset of unbranded products (milk, bread). I turned it into an Excel file and sorted the list according to popularity so that milk would come before olives as people buy it more often.
But the best thing happened when Product Hunt posted a link to my app on their Twitter.
It started to get traffic from social media, and someone commented, “Hey, everything’s cool, but change the ‘yes’ swipe to the right, like in Tinder.” But I was 13, I had no idea how it was on Tinder! My parents were very amused.
I spoke better English than anyone in my school, but I still wanted to improve it. My parents signed me up for language courses. They were alright, but the commute felt like a waste of time. So I started to study online at Skyeng.
But I didn’t only study English, I was also sending feedback on the platform. At some point, product managers at Skyeng created a Telegram chat for active users like me. There I posted bug reports — nothing critical, but still curious. One time, I noticed that when I used the Vimbox platform on my iPad, the smooth scrolling didn’t work. So I texted something like, “I guess fixing this part of CSS can help.” I didn’t just complain about bugs, I suggested solutions, provided logs, and details. And at some point, I got a message from Vlada, the Head of Kids and Junior team. She invited me to an internship in her team.
Vlada invites me to become an intern.
I replied with, “Thanks, I’ll think about it.” I just didn’t know what to say. So I asked my dad. After the whole product Hunt story he wasn’t even surprised. He said it was a good offer: work from home, flexible schedule, great experience. I had an interview via video chat — and got the job. I didn’t even do the test assignment.
My dad had to do some paperwork: in Russia, 14-year-olds can work, but you’ll have to do a medical check-up and get approval from a local social security office. It takes some time.
I started working on a simple tasks team. The guys were busy with landing pages and had quite a lot of requests for Slack bots in their backlog. I guess they thought, “We have a developer who knows JS but doesn’t know PHP. You can write bots in JS, so maybe he’s the one for the job?” So I became one of two people working on bots for developers and other teams.
I think it was a good start. I couldn’t mess up something really important, and even if I did, the damage was not so bad. Like, once I used the wrong SQL keyword: it worked fine on the test base but actually required a lot of memory. Someone had to kill my request to the real database as it took a solid couple of minutes and the monitoring system started alerting about abnormally high load.
At first, I was mentored by Alex @deusdeorum Kataev, the team leader for one of the key teams at the time. When I got added to Slack, I got a message from him, “Hi, I want to make our development more automated.” He also suggested ideas for two bots.
My first bot guaranteed that an important message is read. We called it Yellbot.
With hundreds of chats in Slack, important messages often get lost. Tagging someone doesn't guarantee they will read the message. So we thought of a solution for critical messages — a bot that renews the notification every minute until the person clicks “I read it” button under the message. I wrote that bot in a week, and people still use it.
Then I wrote Jake, a bot for automated tech reviews. Before that, a team leader would manually collect tickets, sort them out, post on the team’s channel and ask people to vote. The whole thing took about an hour and was quite boring. Now Jake creates a list of tasks based on a request, posts a poll in the channel and shows the results. As more teams are introducing tech reviews, the bot saves days of work.
I created several dozens of bots after that, from the simplest (that would greet newcomers in a channel and ask to read the rules) to more complicated ones, for example, a knowledge base interface or a tool for automated analytics.
I loved it. On Product Hunt, people would talk about my project for a couple of days and then forget about it. Now I create something people will use for many months or even years.
I’m in grade 8 now. I study at school #57 in Moscow. Recently, it introduced an intensive program in computer science. Several hundred students applied, from other schools and even cities — it was an open call. I really wanted to get in. So I asked Alexander Laryanovsky, a managing partner at Skyeng, to write me a letter of recommendation.
We have tons of computing classes: two on Mondays, another two on Thursdays and six on Saturdays. It’s an advanced course, we learn about algorithms, code in C++, and study calculus (my “favorite” part).
We have seven or eight classes Monday through Friday and another nine on Saturday, so I don’t work every day. I’m now even allowed to work full-time until I’m 16. Usually, I come home from school, have lunch, procrastinate for a little while, work if I have time and feel like coding and then do my homework.
When my team gets a new task, people add me to the chat and ask to estimate the deadline. I judge according to my previous projects but warn people from the start that it can take me a week or two. If the customer needs a result as soon as possible, they can go to more experienced developers. Or if there’s no rush, I take the task.
Every two weeks, I sync with my project manager on my work. Sometimes co-workers review my code. And I also log my working time in Jira, uploading it from Toggl for more accuracy.
How I spend my earnings. I spend part of my money on subscriptions and software for personal projects:
- WolframAlpha — helps me with maths
- Bloomberg — my go-to resource for international news
- Pillow, the sleep tracker — I realized the importance of good sleep
- Hetzner — hosting for my personal server
- Zeit.co — hosting for projects with Node.js
- DigitalOcean — for storage
- iCloud 2Tb — for backups
- 1Password — can’t imagine my life without it
- and Netflix, Nintendo Switch Online, Apple Music and other services
My goal for 2020 is just to get through it (note: I wrote this part in December 2019, and now it’s becoming an actually real goal 😂). A big plus having a job as a developer at a big company developer is that now I can go to conferences. My dad works at Mail.ru (a Russian internet company), they host a lot of events. I used to ask him for a guest pass, but now I can just say that I work at Skyeng and get a pass. I mostly go to conferences on front-end and mobile development.
Last summer I had some free time and applied for an internship for front-end developers at Yandex (a Russian internet corporation). I almost got accepted. I did a test assignment online and was invited for an interview. Everyone was surprised when I showed up. According to the rules, you had to be 18 to apply, but Technology Distribution Director at Yandex made an exception for me. But I still have to be 18 to get an offer.
And now I’m sure I want to work in IT. After school, I’ll apply to one of the top universities in Russia or try to get into college abroad.