Unicorn! What is that? I guess Github is down everyone. So now what do you do?
Here’s three ideas:
1. Catch up on reading
There is always a book that you want to get to but can’t seem to find time for. For me this year it is Manning’s Functional Reactive Domain Modeling. For you it is probably something else. Either way you just scored some time for reading!
2. Create a professional development plan
If reading isn’t your thing right now, consider creating a professional development plan. Yes it sounds kind of business-y and conjures visions of straight-laced board room suits, but even software engineers can benefit from charting out a plan for how to improve this year.
3. Learn a new language
You don’t need source control to start learning something new. Of course I highly recommend that you learn Scala but how about Go or Kotlin? The truth is that seeing how other languages handle things can produce some real insights.
Happy No Github Day!
I know, I know. I probably hate “Three Things” blog posts more than you. But when it comes to Java development, there really does seem to be a “holy trinity” of books: Clean Code, Effective Java, and Java Concurrency in Practice. If you google around for “best java books” or whatever, these three titles show up again and again, usually at the top of the list. And for good reason. Aside from the official Java trails, no other books are as good for taking a developer from novice to polished pro in the Java space. Those who read the material in these three books, and practice it, are destined for success in the Java ecosystem.
- Bloch, Joshua. Effective Java. 2nd ed. Upper Saddle River, NJ: Addison-Wesley, 2008.
- Goetz, Brian. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006.
- Martin, Robert C. Clean code: a handbook of agile software craftsmanship. Upper Saddle River, NJ: Prentice Hall, 2009.
I have been living on the academic calendar for the past three years. One or two nights a week I have been completing coursework toward a Master of Software Engineering degree at Seattle University. So even though its a new year tomorrow, it feels like the one-third point for me. I’ve written about getting my degree a little bit before. As an already-working software engineer with ten years of experience, most of my colleagues (with a few exceptions) have thought it crazy to sink tens of thousands of dollars into a graduate degree.
The D in SOLID stands for the Dependency Inversion Principle, sometimes shortened to DIP. The SLAP and my thoughts on Telescoping Methods are possibly restatements of the DIP. At the very least they are closely related! But let’s do what we always do here and get out of theory and into practice.