No-no-no, don't panic. This is not going to be a very personal blog post. It will still be a summary though - a short list of what worked & what didn't work in 2014 - but I promise, I'll focus on professional stuff, avoiding all the personal aspects as much as possible.
Obviously, this list has been carefully filtered before publishing - due to various reasons & I believe you can easily imagine at least some of them without a hint.
Didn't work
-
Steady team growth
Never ever forget about maintaining a proper ("organic") growth in your team. Recruitment should be continous, neverending activity, not an ad-hoc rumble. Without proper reinforcements, your team's firepower (I call it "causative force") will be limited. And don't fool yourself:
- people leave even the best teams with the greatest atmosphere, for various reasons
- recruitment isn't "HR responsibility" - it's TLs' / managers' / directors' duty (& privilege)
-
Evangelizing about workflow visualisation
I think that I have spent tremendous amount of time teaching & convincing people about how important it is to properly visualize the workflow. I've been speaking about transparency, control, nearest future planning, information radiation, syncing, etc. But surprisingly large number of people resisted the idea. Makes me reconsider some things.
-
Invoking change remotely
The deeper & more fundamental the change is, the more low-level ("organic") work it requires to succeed. You have to preach & convince people day-by-day with your actual actions ("by example") to cause a shift in people mindset. People, if left alone with their old customs & habits, will reject whatever you're trying to convince them (subconsciously or my environmental pressure). This one didn't surprise me much, because it was expected, but the sour taste remains ...
-
Didn't go for a BIG MOVE
To cut the long story short, there were quite a few "reset" opportunities. Completely new role, environment, challenges. 4-5 of them were very interesting & the actual talks were very advanced. But in the end it didn't work out: due to various reasons - mainly because I don't feel 100% accomplished where I am YET -> there are still things that need to be done before burning the bridges down ... Anyway - I've already adviced few people to not be too reluctant & afraid of a move: even if I think I did right by staying, I feel a bit of a hypocrite now.
-
"I want it all! And I want it now!"
Identifying several great opportunities & having many good ideas is totally awesome. All of them may seem easy (or well, at least within your reach), but don't fall into to trap of doing too many things alltogether in the same time.
Worked
-
Polyglot development
Hellyeah! Don't get stuck in a silo. Some options are just too good to be denied & feeling great only in your comfort zone is a bad excuse. I've tried dozens of new tech this year (Scala, Play, Akka, Clojure, Erlang, OTP, React, Kafka, Docker, Redis, ...) & even if I've used just few of them on production, now I know that my palette of options is much broader & my overall understanding what can be achieved by modern IT means is significantly deeper.
-
Investment in DevOps
Maintenance & operations can be much more challenging than the actual development. Especially in any kind of distributed scenario. That's when your development architecture gets at least as important as application architecture. I've written several posts on DevOps already so I don't want to repeat myself too much -> the conclusion is that every second spend on learning & adapting tools like Vagrant, Chef, Docker, VirtualBox or Consul paid off at least tenfold. I think I've even adapted a different type of mindset - MDD -> maintenance driven development: growing & tuning all DevOps practices since the very beginning of the development process.
-
Betting on Data Science
Another winning horse. I can't express how good it feels to observe different people (both IT & business profiles) who start to realize the difference between:
- data & knowledge
- knowing & speculating
- actual success (proven with sheer numbers) & pure b$^&shit
I've been persistently advocating that using really simple tools & some smart "t(h)inkering" you can work wonders & it seems I was right (even if these are small wonders for now ;>).
Key findings
-
All overhyped hardware "innovations" failed
World resisted the hype. All the "next big things" that struck the market, sinked pretty much immediately - namely Myo, Leap Motion, Kinect 2, Google Glass (& other wearables). There's still some potential in Android Wear provisioned watches & stuff like FitBit, but it is not fully utilized yet. The coolest gadgets of the year were sport cameras & cheap, commodity drones ;P
-
IoT revolution has been postponed (again)
But there's no panic about that. Smart people realize that the time is on their side - things like iBeacons get improved year after year (battery life, unit price, etc.), more & more scenarios are tested in practice. IMHO IoT is inevitable, sooner or later. But not yet.
-
JVM landscape is in the iron grip of Java
Clojure may be sexy, Scala may be powerful, Groovy may be suited for small scripting, Kotlin ... well, there may be an interesting idea behind Kotlin ;> But none of them has been widely adopted yet & there are no signs it will be in nearest future. It seems that the community has appeared more reluctant than it was predicted. And if someone has been thinking that Java is dead, Java 8 has brutally proved him wrong.
-
.NET is not dead (either)!
Microsoft has finally done what was necessary, but what is really important - they've prepared well for that move. I don't just mean the turn towards OSS, but also the partnership with Xamarin (x-platform mobile dev, embracing Mono) & accepting non-Windows OSes as a viable options for .NET apps. The best news for .NET developers for few years at least. Especially after the specular fail of WinStore apps model.
-
Git (& GitHub) has won
VCS = Git. Period.
- flexible
- universal
- scalable
- multi-OS
- with a geeky flavor
Works as well at home, for private matters & at work, in large dev factories.
And to seal the bonds, here's GitHub -> Facebook for devs, but ten times more addictive :) -
Local (PL) job market for devs has gone completely nuts
Completely. Insane.
The best of, the worst of
Here we go:
-
The best tech book I've read in 2014 (not necessarily published in 2014):
ng-book: The Complete Book on AngularJS by Ari Learner; my review
-
The best agile / PM / softskills book I've read in 2014 (no necessarily published in 2014):
Peopleware: Productive Projects and Teams by Tom DeMarco, Timothy Lister; my review
-
The best app / service I've started using in 2014:
Duolingo - https://www.duolingo.com/
-
The best conference I've participated in 2014:
Build Stuff 2014 - http://buildstuff.lt/2014/
-
The best conf speaker I've heard LIVE:
-
The best video session I've seen ON-LINE:
Subjective Consistency by Pat Helland at React Conf
-
The biggest disappointment in the industry
The end of Dr. Dobbs ;/
Full speed ahead towards 2015
AD2014 was a great year for me - I've set myself very ambitious personal goals & surprisingly it seems I didn't break anything meaningful, including new year's resolutions for 2014 :)
I've learned A LOT, tried a lot of stuff IN PRACTICE & I'm pretty convinced that I've succeeded in establishing my personal continuous improvement loop - in a way that makes me feel that constant, gradual progress is taking place. That's really important. But what's even more important - I have even more ambitious plans for the next year :) But enough of that - it would break all the fun to reveal them too soon.
All the best in 2015 to all of you who read this - thanks for reading my musings during the past year.