2015: A Work Year in Review
It's been a fascinating, sometimes frustrating year. Today's my last official workday; I'll probably check email from here on out.
Some highlights to share:
Some highlights to share:
That pretty much tells-the-tale. Up through July I was hot and heavy on of our projects, then I had a week of vacation (which was awesome...I really recommend Nags Head, NC.) Throughout that time, I was working with a very sharp team, and we had a go-live with our changes on April 23d. I didn't sleep much that night.
Things would go downhill from there. I can't go into much detail, but from April -> August, we were on an effort to move the hosting of our solution, and it got aborted when the company made a switch in strategy and the entire Ops group supporting us left. This left us high and dry, and we eventually retargeted on another path that delayed us 6 months.
In early September, I got shifted from my previous position to one with our Retail Publishing Platform . This has been an exciting opportunity, including a business trip out to Seattle to work with our dev/sales/support group out there. I LOVE SEATTLE. Well, I love Seattle at the end of Summer when it's not raining.
Probably the most frustrating thing--as reflected in the github:enterprise visualization above, is the lack of coding. It's been docs, powerpoint, emails, strategy, and various duties away from code since September.
So, people from my work apparently read my blog, so let me just say it like this: While I was on vacation in NC, my group got re-organized under another group. So, basically, we had a whole new set of priorities atop/besides our previous priorities. As part of that, there was a RIF in our software group, and several people left on top of that. That's how I got on my current project; the previous guy left.
I say the above by way of recording the facts, not judging anyone.
I also got introduced to the new group's strategic planning process, which is very thorough.
It's been a learning process. Sometimes it's been a "telling" process, but I'll leave it at that.
Company as a Whole
The company is "exploring strategic alternatives." At this point, I have no idea what the future holds. We could be (A) bought outright (B) merge with another company (C) split into several businesses (D) something else an MBA can dream-up.
It's been an interesting 2 months since they announced that: Attrition, rumors, etc.
Leaving aside all the drama above, I've gotten some time with several new/new-to-me technologies this year:
- CMake: If you're building native stuff, use CMake. Extremely powerful, well-documented, and gets you the cross-platform compatibility that the GNUtools have, without the cruft.
- Valgrind: Just yesterday, we encountered an apparent memory leak issue in production in a Linux PAM module. I was able to use Valgrind to localize it within minutes, and now we've integrated that into the test/acceptance for that module.
- Docker/Docker-Machine. This stuff is quite revolutionary. Yes, virtualization is there and we pretty-much take it for granted, but docker takes it to a whole other level. One can basically wrap a pre-configured "machine" around one's code in a way that makes puppet/chef seem clunky. Docker runs natively on linux, and on Win/MacOSX through virtualization--though first-class Windows support is coming in Server 2016.
- Spring Boot. I really don't "buy" the Java stack anymore. It's still a mess, and a bloated one at that, but I have to applaud the rigor that SpringSource is giving to making it a great out-of-box experience for developers.
- Angular / Jasmine / Karma.
- Node-Red. Neat...neat....NEAT stuff.
I'm sure there are others I'm forgetting.
Dev Machines and Environment
Most of the year I remained with my trusty MBP 15" Retina 8GB Ram / 256 GB SSD. It's still a screamer.
On there I still love Homebrew for downloading and compiling dependencies. Most of my coding is still in Sublime Text 3, but for Java/Groovy/Grails I used IntelliJ 14 Ultimate Edition.
I've gone from a single 24" 16x9 ratio monitor to two, now back to (effectively) 1.
My new project is almost entirely Win32/Win64 so I got my Quad-core Xeon 2.4Ghz 6GB Ram 256Mb SATA machine out of mothballs and installed Windows 10.
Let me just say this: Windows 10 is amazing. I jump back to OSX 10.10 and it just doesn't feel as slick. No idea how those mad geniuses at MSFT did it, but Windows is back, and seems to have loads more security and integration features. Things "just work" in the way they have for Macs for 18 years, but anyway :D