Показаны сообщения с ярлыком delivery. Показать все сообщения
Показаны сообщения с ярлыком delivery. Показать все сообщения

четверг, 18 декабря 2014 г.

Running a Podcast for a Year

Last January, together with Michael, we recorded the first episode of the Code Speak Loop podcast. Shortly after that I set up a goal to record 20 to 22 episodes over the year 2014 and it looks like we  are succeeded at it. At the moment, after almost 11 months since publishing the episode 1 we have released 19 shows and will release one more in less than a week. The experience was magnificent!

While this marks a great achievement for us, there are lots of spots where we didn't perform as good as we would like to. For example, we could have released more episodes - 22 or maybe even 24. This a bit more impressive milestone would be easy to reach if we managed to maintain more regular release schedule. Unfortunately, during the last 3 or 4 months we failed to record a number of episodes on time, thus loosing several weeks. This also resulted in larger gaps between episodes - at least once the gap exceeded 4 weeks, which hardly complies with our original plans.

While the lack of discipline that led to these gaps is shameful, it didn't prevent us from reaching the original goal in terms of the number of episodes - both because the goal was quite cautious and, surprisingly, we were not as bad as expected. On the other side, there are things that look much worse. One of the most important problems is the quality of the content that we produced. Sometimes our accents, the level of control over our voices as well as the quality of the language were bad enough to make me seriously consider throwing the recording away. However, I believe that we were right to ignore this problem for some time and push the first episodes in public despite it - over time we did much better. Not only did this allow us to achieve sort of satisfactory quality, it also helped us improve general communication skills significantly and do better at our jobs. I am more than sure that the trainings that I delivered this summer as a part of my job would have been much worse if I didn't spend that much time chatting with Michael, listening to the recordings and preparing them for publication.

However, all the above problems are basically technical ones and I understand how to control them. What bothers me most in regards to the Code Speak Loop is that now, after releasing 19 episodes we don't really understand whether we have any listeners and what do they think about the show if they exist. This sounds stupid, but that's how it is. Thanks to the awesome Signal Leaf podcast hosting service we do know that we have some subscribers, but it is not clear whether these are real people or some sort of a Skynet trying to understand its enemy better.

Furthermore, the fact that over a year we got virtually no comments - both in the blog and on our social media pages - makes me think that the number of our actual listeners is quite close to zero. I know that some of my friends did check out the podcast, some even listened to quite a few episodes and I am extremely thankful to them. Still, because we didn't receive a word from anyone outside our usual circles it feels like we were broadcasting to nowhere. To be honest, this isn't too much of a surprise because, as usual, we avoided going into public and promoting the podcast at all costs. Additionally, the topics that we discussed are maybe too diverse, so we failed to position ourselves for any definite audience. Bad news here is that this is not the first time I make a confession of this kind: earlier this year I wrote that I had completely failed at marketing my Windows Phone app and actually I did this with two of them (the third is coming soon). Even though Michael worked much harder in this area, the efforts were still not enough to attract at least some angry comments to our blog.

Peeking into the future, I can say that whatever we will chose to do about the podcast there are some things that I am willing to change. First of all, we are not going to set any goals for the number of episodes or any schedule for the next year. Sometimes under pressure of our own plans we didn't pay enough attention to the quality of the show and that's not something that we want to repeat in future. I do believe that this was the right thing to do at the first stage when it was crucial to see whether we are able to produce anything at all, but now we can turn to recording only when we want to and have something really interesting to discuss.

Making the schedule less strict will also allow us to focus on getting more guests into our studio. We had several fabulous people this year and the episodes with a guest were definitely a lot denser with content and more focused than the ones with only two of us. Pursuing the same goal of making episodes more interesting and increasing their value, I'd like to put more work into choosing and preparing topics, so let's see what happens.

Finally, we do have to put significant effort into attracting and engaging listeners. Even though for us this is likely the most difficult part, there are some ideas, which may execute well. We don't have much choice here actually: while running a podcast without listeners for a year is possible, we don't look crazy enough to do that for two years in a row.

We wouldn't be willing to continue this enterprise without the support that we got from our friends who listened to the show and gave extremely valuable feedback as well as the awesome guests who came and shared cool stories and valuable experience. Our thanks go to all these fabulous people! And even though our subscribers are invisible, we know someone is refreshing the feed from time to time. So thank you for listening and tune in next year!

четверг, 22 мая 2014 г.

You Can Learn While You Are Programming

When entering my sixth year at the university a couple years ago I faced a very severe problem. That was the time when new MOOCs started appearing at the speed of light: Udacity was dense with Sebastian Thrun, Peter Norvig and other awesome folks, while Coursera simply shipped dozens of new courses from major universities each month. The abundance of high quality learning materials as well as the freshness of the idea that you can freely learn whatever you want from the world’s best tutors caught me unarmed and I spent a lot of time just watching what I could learn in addition to actually putting effort into some of the courses. However, gradually a concern started building up in me: I felt like I put all my energy into learning instead of creating something new (this is obviously a fallacy, because I just wasted a great deal of my time on other useless stuff.) At that time I had a part-time job, which made me do stuff, but somehow I still thought that my time, which I could devote to producing new things, is wasted on merely listening to lecturers and doing quizzes and homeworks. Quite quickly, this idea led me to giving up all the MOOCs that I had engaged into and switching my efforts to the attempts to create something worthy for the awesome Windows 8 platform. I ended up hacking a brand new task manager app, which would have definitely become cool, should it ever enter the Windows Store. I really put a lot of time into this thing and pushed it quite far – at least that's what it looked like for me – but all that was not enough to make an actual product of it. Somehow, my attempts to become a producer instead of a student only taught me a great deal of things, but did not end with delivering goods.

These days things look quite different. First of all, I have a full-time job which eats a solid share of my time and energy, but also gives the feeling of involvement into creation of something large and cool in exchange. Besides, over the last months I have built a couple Windows Phone apps to fulfill my old desire to be a creator and deliver content to the public. I also engaged into other activities, which feed on my free time, so little of it is left to learning. However, as one might guess from my long post about MOOCs, this all led me to worrying about the fact that I don’t allocate enough resources to expanding my education, firming its basement and exploring new grounds. From time to time I literally feel the lack of inflow of fundamental knowledge to solidify my education. Not that it prevents me from working or makes my life unbearable, but once or twice a week I do stumble upon the thought that I should spend some time doing online courses, which could fill the gaps in my education and make me think on the problems different from those bothering me in my developer’s life. Looks familiar, huh?

This way I keep oscillating between the two goals – learning more and producing more – and constantly thinking that I don’t work hard enough towards one of them. Honestly speaking, even though this sometimes makes me nervous and angry with myself I am grateful to my subconscious for bothering me. When I lean too much on the learning side, my mind kindly reminds me that there is a lot that a programmer aged 24 can produce to his or her and others benefit in the world, where software brings new opportunities and solves real problems every day. On the other side, once I engage too eagerly into creating (mostly useless) stuff, I soon get reminded that to stay afloat in our rapidly changing industry one has to keep learning constantly and do this not only to be on the front edge of technologies and Javascript frameworks, but also to learn and remember how to learn. For me this latter activity involves exposing myself to some fundamental science and ideas, which can serve as a good basement for applied programming stuff that I need to deliver great software. The problem here is that our time and energy are limited even when we are still young and thus it may seem difficult to do well in both areas. Seriously, if you are a lucky prisoner of 5x9 job and try to, for example, create some lovely mobile apps during your free time, it is hard to stick something like a dense Quantum Physics course into the schedule even if you can attend it in your bathroom or elsewhere. I didn’t manage to do this with Quantum Physics, but I have positive experience with a couple other courses as well as a few tutorials and must admit that it is much easier to combine studying and producing than it might seem at the first glance.

First of all, to be able to both learn and create I absolutely had to set proper goals for a long period of time – at least for the year 2014. In terms of MOOCs I have quite a modest target of passing 5 courses by the end of December. I am not sure if that’s enough to satisfy my appetite for new knowledge, but at the same time I am confident that trying to do more won’t work out well in combination with other challenges that I have chosen to face. For now I have done a course and about a half of another one, which is a bit less than what a uniform schedule would require. Still, I believe I will be able to deliver on my goal, should I increase the pace just a little bit. On the other side, my targets for learning applied stuff like languages, libraries and frameworks are not that measurable and clear, but this is compensated by the way I approach them.

The thing that really helped me learn a lot and keep going with my applications at the same time is a routine that I have developed. On a typical workday before showing up in the office I would usually spend about an hour with my laptop in a coffee-shop and that’s the time that I can devote to doing tutorials on AngularJS or playing with Clojure macros. The trick here is that I know that I can spend my morning either learning some stuff this way or working on a future post for my blog. Since I have a pretty defined schedule for the blog, a lot of mornings are left for studying new tools and that’s just cool. This approach helps a lot because I always have some time to put into “applied education” and in addition to this I also make myself finally wake up and get ready for job before actually appearing at the office.

With MOOCs the story is a bit different: I tend to allocate time for watching lectures and doing related exercises on weekends - particularly because they usually require longer and more focused timespans than just doing a tutorial or hacking some code. The fact that weekends come only once a week encourages me to put some time into a course on Sunday, because I know that if I don’t do this, the next chance will be no sooner than in 5 days. On the other side, because with online courses I am not as rigorous as with morning tutorials and have much more options to start my Sunday, I perform a bit worse here.

So, over the last years I have finally learnt that despite having limited time we still can and should put effort into both creating and learning. Fortunately for the educational side of things, we typically have a lot of time during any particular day that we can’t devote to creative activities, and which can be spent exploring new fields. When one has these periods depends on the person and their daily schedule: for me that’s usually mornings when I am not yet ready to think really hard and produce something. For someone else the best time to study may be, for example, in the evening because one is too tired from job and the whole day of debugging SQL scripts. Identifying these ‘non-productive’ intervals in your schedule and making yourself routinely use them for learning can really help expand your education and develop yourself professionally. On the other side, I feel that the contrast between learning and producing that bothers me so much is to some extent made up. In the end, when striving to deliver something new one will inevitably have to study a lot – I definitely did learn much from my Windows Phone affairs.

So, how do you satisfy your natural need for learning new stuff and balance it with delivering awesome products? What are the routines that help you do both these things and leave some time for entertainment and personal life? Please tell me in the comments – knowing how other people organize their time and work towards their goals can really help others a lot!

четверг, 20 марта 2014 г.

Ship It!

In the 4th episode of Code Speak Loop podcast I have tried to express the idea that delivering some finished products is as important for young professional’s growth as a good job with experienced team or learning new technologies and tools are – especially in the field of software development. Since I had certain difficulties explaining what I mean, I decided to write down my thoughts so that they become clearer for both my followers and me.