I just finished my first semester of graduate school. Well, more accurately I just took my final and don't have any more classes to attend. I still have a homework assignment to turn in before I'm officially done.
Good God that was a lot of work.
I'm surprised I was able to keep up as well as I did. I think I did ok, but I definitely abandoned doing reading every night once projects kicked in. Probably explains my poor performance on midterms. It was difficult to work 8 hours (interrupted for 2 by class), then go home and program or read for 3 hours or so. Luckily I was able to get into a groove with the project, and I was able to take some time off.
Despite the difficulty, and compared to my undergraduate years, I feel very engaged in class as well as on the projects. I'm not sure if I lucked out with professors, I'm just taking more interesting classes, or if I'm just more mature than I was 5 years ago. Probably a combination of both.
So far I've yet to figure out what I'm going to study as a thesis, but I'm leaning towards Software Engineering. One of my courses this semester focused on Compilers. It wasn't even my first choice, but it grew on me and ended up being one of my favorite classes ever. I'm going to investigate participating in the Go compiler project, after it is translated to C.
So I've been pretty harsh with my criticisms of Java. And I still this they are valid. However, working on a well organized project, with proper tooling in place. Was a nice change from the Unity work I've been doing at work. Which has very little engineering support. This experience, along with the new Lambda features in Java 8, have made me take another look at Java as a language to dive into.