Thursday, May 24, 2018

Effective Decision Making

Brian Armstrong, Co-Founder and CEO at Coinbase has a really good post over on Medium titled How we make decisions at Coinbase

In the post, Brian shares a framework developed at Coinbase to make decisions more effectively. I'm impressed with how the organization and operationalization of decisions are built around the company's core values - these include clear communication and efficient execution. I'm not going to lift Brian's entire post but found this chart very interesting.

He then gets into the framework details including setting the parameters, deliberation, and making the decision. His post finishes with a list of failure modes. 

A bad "big" decision will always have long lasting impact on any organization. Letting things fester and trying to cover up makes things even worse - just look at Michigan State as an example. Following the Coinbase framework is one way to try and avoid making them. Be sure to read Brian's full post here.

Wednesday, May 9, 2018

Will Java Survive?

We've been hearing for years about Java's pending demise but...... it lives on. That may be changing though. A couple weeks ago Oracle announced the upcoming end of Java 8 updates. Details:
  • After January 19 public updates for Java SE 8 will not be available for business, commercial, or production use without a commercial license. 
  • However, public updates for Java SE 8 will be available for individual, personal use through at least the end of 2020. 
Previously, Oracle had extended public updates for JDK 8, the development kit for Java SE 8, until at least January 2019, after having originally planned to end them in September. 2018. 

Confused? Here's a little more timeline info:
What does this mean? Software Developer Marc van Woerkom has some interesting questions in a post over on Quora titled Is Java dying soon or not?
  • Will this lead to the end of corporate freeloading and speed up of Java development under the guide of Oracle?
  • Will companies band together and fund development for some free to use for all Java versions?
  • Will the open source crowd pick up development stronger than it does now?
  • Or will some other language benefit? (C#? JavaScript? Elixir? ..)
How about the classroom? In the academic world we've seen growing introductory Computer Science and Computer Engineering course use of high-level scripting languages. These include Python (my favorite right now), JavaScript (different than Java) and RubyArguably, JavaScript probably makes the greatest sense of the three when it comes to employment. Most developers are using JavaScript  along with other languages in their day-to-day work. JavaScript is pretty versatile and works well for front-end web development and is increasingly used for back-end development. It is also being used for game development and Internet of Things (IoT) applications. 

According to a Philip Guo survey taken way back in 2014, Python has overtaken Java as the most popular introductory language of instruction at top US Computer Science programs. That said - Java remains an excellent first year/introductory language for Computer Science and Computer Engineering students. I've always believed that first course depends more on the quality of instruction and not the language de jour...... not going any further there though - that's for another post!

You can download Java SE from the Oracle Technology network.