Inspired by Patrick McKenzie, I decided to write a “year in review” article.
If you've got two hours to kill the next few days write up "What I learned in 2017 doing X" and put it somewhere where people can read it. (Ideally publicly, but I understand that doesn't work for everyone / every job / etc.)
If you only have ~10 minutes, tweet it.
— Patrick McKenzie (@patio11) December 30, 2017
If you don’t know Patrick or don’t follow him on Twitter then stop whatever you’re doing right now (including reading this article) and go follow him. You will thank me later.
I will start the summary with the most obvious of topics – TechYourChance project.
TechYourChance:
Until very recently I didn’t treat TechYourChance as a serious project – it was kind of a scratchpad for my personal use, which could also be accidentally discovered by random people on the internet. In March, however, I decided to turn this blog into a serious resource for professional software engineers.
Long term readers might remember the post I wrote back then, The Future of TechYourChance Blog. In that post I introduced Alex and Julia, who help me a lot with maintenance, development and content of this blog, and also shared our vision for blog’s future.
I’m extremely pleased with our progress over these months.
Out of 7 goals I had stated in the aforementioned post, 6 completed successfully. Furthermore, even though we haven’t implemented the facelift of blog’s UI yet, we did migrate the blog to a faster infrastructure and introduced SSL support. Let’s call it 6.5 out of 7 then. I wish all my plans would go that smooth.
There were 16 new articles published in 2017 on this blog. Some of them went by largely unnoticed, while others caused a massive resonance (e.g. Kotlin vs Java the Whole Story). While 16 posts a year is not bad, it is nowhere close to the amount I could write if I had enough time and resources.
Our new YouTube channel allows me to share a more “dynamic” kind of knowledge, like the series of tutorial on Test Driven Development.
Unfortunately, recording videos takes much more effort than I anticipated. A 20 minutes video can easily require 2 full days of recording and editing activities. Currently, for me, this is too high of an investment into an altruistic hobby. More on this later.
Last, but not least, this year I started to speak at software conferences, which I really enjoy doing. So far I attended and gave talks at three Android development conferences.
Unfortunately, at the first conference the presentation conditions and the recording quality were bad, and at the last one the organizers did not record the sessions at all. That leaves me with just one good recorded talk in 2017.
There is at least one important piece of knowledge about conferencing I learned the hard way.
In order to talk at the very first conference, I covered the expenses like flight tickets, accommodation, etc. myself. That was a mistake. Please, do not ever do something as stupid as this.
It would probably not be worth it even if the experience would be great. In my case, however, the organizers turned out to be completely disrespectful of my efforts and investment.
I was presenting in the smallest of available rooms, on a screen the size of a big television. The room was full of people, which isn’t bad in general, but many of them didn’t have chairs and just stood in the back for the entire duration of the talk. The cameraman recorded the screen, which resulted in very bad video quality and me not being on video at all. I’m still wondering why they didn’t use one of the many solutions for capturing screen contents, instead of attempting to record it on camera. Heads and shoulders of people standing and walking in front of the camera didn’t help either.
That experience killed my motivation to speak and share my knowledge at conferences for several months. It wouldn’t be that bad if I wouldn’t pay for it form my own pocket.
Professional career:
In the first months of 2017, after just 9 months of employment, I quit my full time job.
I didn’t like the professional environment at that place, and didn’t believe that the product we were working on will see the market. Even the prospect of receiving the annual bonus couldn’t make me stay for another three months.
I had enough time to find another job and the market conditions were very favorable, but I decided that I want to work on one of my own ideas instead.
I’m not rich by any means and my personal burn rate is quite high. Therefore, I knew that my time will be limited and the chances of me alone completing the prototype of the product on time are very low. Nevertheless, I decided that it is worth trying anyway.
Why did I decide to try and do it alone? Because I knew that this endeavor is probably going to fail.
I don’t mind failing when exploring something that I genuinely interested in, but I didn’t want any of my friends to fail with me. The plan was to build the prototype and then find an interested investor, which would allow me to bring all my talented friends into the team. That turned out to be very optimistic.
Long story short – I failed miserably.
Lack of a clear plan of actions, combined with my (quite arrogant) believe in my own superior abilities let me down. Addiction to computer games did not help either. After several months I found myself with no money left and no prototype.
The money part was the expected outcome, but I was just amazed at how little had I done during this time. In retrospective, I think that I also got carried away with the technical aspects of the product instead of concentrating on building the simplest possible solution first.
In case you’re interested, the product that I worked on (and will continue to work in the future) is intended to allow software developers to get hired based on their actual skills. This problem is of a great interest to me personally, and there is a multi-billion market for products that might help tech companies to find, interview and hire software developers.
What did I learn from this failure?
First of all, don’t quit your day job in order to work on your idea without a clear plan of actions. Write the idea down, break it into components and dependencies and then break it further into individual tasks. This process will make you think about your idea in details, and you’ll inevitably find out that there are many questions that need to be answered before you can actually start implementing your idea in code.
It is really important to answer the questions that popped up while breaking the idea into tasks before you quit your day job. Otherwise, you’ll find yourself in a position of constantly switching between high level product decisions and low level implementation details. Not a good place to be when your time is severely limited.
Another thing that I learned is that I can’t work alone. When I work as part of a team or someone depends on me in any way, I’m a fucking ninja. However, when no one needs anything from me and there are no deadlines, I become the most unproductive creature on Earth. Therefore, if you know that you’re not very productive when left alone, or have some forms of ADHD – think carefully before jumping on a solo project.
You might be wondering what do I do now? I started to do freelance development and a little consultancy in order to pay the bills, and am preparing for the next attempt to turn my idea into a product.
For some reasons I’m quite sure that if I don’t break and keep trying, this product will eventually hit the market and might change the world.
Summary:
For me personally, 2017 was a great and a terrible year at the same time.
On the positive side I have:
- Good progress of TechYourChance project in general, and this blog specifically.
- First experiences as a conference speaker and very positive feedback.
- Lots of new knowledge about technology, project management, business and myself.
- Met a lot of new and interesting people.
Unfortunately, there are also many negatives:
- I failed to turn my idea into a product.
- Considerable financial loss.
- Bad or missing conference talks recordings.
In general, despite quite a lot of negativity, I feel that 2017 was a good year that prepared ground for a future success. Surely it was a very interesting and exciting year to live through, though I hope that I will not find myself under similar pressure again (naive me).
Plans for 2018:
This year we plan to keep developing TechYourChance project, but at a much faster pace.
Redesign of the blog’s user interface, which was a leftover from 2017, is one of the first tasks on our list.
The big challenge that we are going to tackle this year is monetization of TechYourChance. You heard me. Before you conclude that we are greedy scumbags, however, please read the following paragraph.
It is clear to me at this stage that TechYourChance is an important project. I already deliver valuable knowledge to tens of thousands of developers around the world, but I feel that there is a potential to reach hundreds of thousands and even millions of developers in the future. However, there is a limit to what I can do as a hobby. Therefore, if I really want TechYourChance to succeed – it must be monetized.
Allow me to give you a bit of perspective.
Each blog post that I write takes hours of hard work. Some of them also require preliminary research, which can take days. Videos are much more time consuming. For example, I spent three full weekends in order to record and edit the Dagger for Professionals Tutorial. The series of Test Driven Development Techniques tutorials already consumed at least a full week of my time, and will probably require a similar effort until completed.
We invest all of this effort in addition to freelance and consulting that I do in order to keep the lights on, and in addition to the day jobs that Alex and Julia have.
I can’t go like that for a long time. Either of these must happen:
- I will reduce the effort we put into TechYourChance considerably.
- I will burn out.
- I will reduce the effort invested in other activities.
Clearly I don’t want to burn out. Therefore, the choice is between reducing involvement with TechYourChance, or reducing the effort I put into other activities. I would definitely choose the later, but it will not be possible unless TechYourChance brings some compensating income. It is as simple as that.
Do not worry – we are probably not going to place ads on the site. Ads will be a distraction to our readers, and, anyway, we don’t have enough traffic in order to generate any considerable revenue. Currently, the primary idea for monetization is a premium content.
Except for that, I would like to deliver at least three conference talks in 2018, and have all of them recorded in a good quality.
Two of these talks are the ones that I already gave last year: Dependency Injection in Android and Activities and Fragments are not MVx Views. The third one will be either about unit testing, or about offline work.
My idea for a product in software developers recruitment space is still on the table, but I already understand that it is huge and might take years to realize. Therefore, by the end of 2018, I would just want to get to a live MVP in order to see whether my gut feeling about the potential of this product is correct.
Last but not least, there are some expectations related to my parents’ desire to get grandchildren from me, but this is not the kind of blog where readers would like to hear more of that, right? 🙂
Finally, I would like to thank you, our readers and subscribers, for reading, commenting and sharing my articles in 2017. I hope that I will be able to deliver to you lots of new and useful content in 2018 as well.
Feel free to leave your comments and questions below. If you do, please add a word “rabbit” somewhere inside the comment such that we know how many of you read the post till the end.
Happy New Year!
Hey, great summary!
Feel you on the quiting full-time job and failing to succeed on the own project.
Been there in 2016, have been through the same stuff: lack of the detail plan, lack of the clear deadlines, big focus on the technical details instead of user’s needs and well… video games. PS4 is the damn heroin of the geek world. 😀
Had a lot of insights on the own psychology of motivation and self-awareness, though. So it was really usefull experience, just not the way I expected to be.
But failing is learning, at the end we’re all just a complex neural net who can observe and correct itself.
Thanks for investing time to share your experiences!
It’s nice to know that you’re not alone.
Wish you luck with finding a successfull way to monetize your efforts.
P.S. Follow the white rabbit 😉
Hello Vasily,
Got to your blog from /r/androiddev. I just read this: “I think that I also got carried away with the technical aspects of the product instead of concentrating on building the simplest possible solution first.” – and I just want to say that I’ve also been there (a couple of times), and it still get in this situation from time to time.
Trait(or curse) of the software engineer? Who knows. Regardless, I can relate 🙂
Good luck with your project,
cjurjiu
Hi Jurjiu,
Just noticed that I forgot to reply to you. Sorry for that.
Yeah, loosing business and product horizon in favor of playing with tech is indeed very common among software engineers. In the past I used to wonder whether product and project managers are really necessary, but, after failing myself, I understood the importance of these roles.
I hope I’ll be smarter and more disciplined next time.
Thanks for your support 😉
Vasiliy