I just recently finished Jeremy Clark’s Design Patterns On-Ramp. I was very impressed with the presentation, and I think he did a fantastic job explaining patterns. His target audience is people with some .NET development experience but who are not necessarily architects or guys with twenty years of development experience.
Clark’s first goal was to describe patterns in general and show how they apply to software development. From there, he spends a lot of time talking about patterns that we already use in day-to-day C# development. I think this was a great idea, as Clark significantly reduces the mental cost of understanding patterns, showing that we intuitively have some understanding of the topic today.
After that, Clark introduces a few important patterns which newer developers might not have used, showing that it isn’t difficult to pick up on new patterns once you know what to look for. Clark even introduces a non-GOF pattern: the Repository pattern.
For an introduction to patterns, I don’t think you can ask for much more than what Jeremy has on offer. I highly recommend this course to anybody looking to begin learning about this topic.
The time has come for data professionals to learn R. Microsoft has purchased Revolution Analytics and is betting that they can make R faster, less memory-intensive, and better for enterprise applications.
SQL Server 2016 is also allowing us to run R code against our SQL databases. The upside to this is fantastic: instead of pulling SQL data out via ODBC and manipulating it, we can push the (much smaller) R code into SQL Server and process data locally.
So why do you want to get in on this right now? The reason is that more complementary skills improves your chances of a successful career (where “successful” can mean more money, better benefits, the dress code or hours you want to work, etc.). Let’s say that you’re a good database administrator who knows SQL Server pretty well. That’s a nice skill to have and can land you a decent position. But now let’s say that you’re also really good with statistics and can use tools like R to perform data analysis. At this point, you’ve moved beyond “good database administrator” and into “really good data professional.” Guess which one’s more likely to land you that fantastic job offer.
R won’t be everyone’s cup of tea; a lot of people have trouble with or simply don’t like statistical analysis, and in that case, go pick up a different complementary skill. But if you’re already doing a lot of data analysis on the cheap (queries, Excel spreadsheets, and reports for management), you’re part of the way to learning a valuable skill, and with everything integrating together in 2016, this is a golden opportunity to get ahead of the game.
I’m getting started with Android development in my scarce spare time. In order to get me past the “Java is scary and stupid and I hate it and it’s stupid” part of this, I decided to watch Jim Wilson’s Android for .NET Developers series. So far, I’ve watched Part 1 and Part 2.
I think Part 1 is a little hit or miss. Wilson starts off great, showing how to install the Android SDK. I’d recommend ignoring the Eclipse part and just download Android Studio and watch section 6 on Android Studio. The product has matured a good bit since Wilson did his course, so you won’t have to do the same workarounds that Wilson showed.
I think Part 1 started to slip once Wilson started to talk about Dalvik Debug Monitor Server. Debugging and monitoring is vital, but honestly, I think that would have been better-suited for part 2 or part 3. I get that you want to get people off the ground quickly, but until I have code that I could reasonably debug, it’s hard for me to get excited about a debugger.
Part 2 was fantastic. Wilson walked through a few basic applications. If you follow along in the code, you’ll have some basic applications which can make use of external resources like the camera, and which can also span several activities. Wilson’s depiction of the activity lifecycle is also excellent and really helped me understand what happens behind the scenes on my Android phone.
I haven’t gone through parts 3 and 4 yet, but when I get a little bit of time, I want to jump back into this topic. Once I complete the next two parts, I’ll have a separate review for those.
Not too long ago, I decided to learn a bit about Redis in preparation for using Azure Redis Cache. I checked out a few links and also watched John Sonmez’s course entitled Building NoSQL Apps With Redis. Sonmez did an outstanding job of walking through how Redis works, how to set it up, how to connect to it, how to work with cache keys, and even how to chain together Redis nodes. The last hour of his course handled building an MVC project with Redis as the back-end store. Honestly, I don’t think I ever would want to use Redis as a source of record, but it’s easy to think of scenarios in which I’d use the decorator pattern and wrap a Redis call around SQL Server or a web service call.
If you need to learn about Redis, Sonmez’s course is a fantastic place to start.
About a month ago, I listened to Paul Randal’s Pluralsight course entitled Communications: How to Talk, Write, Present, and Get Ahead! I consider Randal a top-notch communicator, and so I was definitely interested in hearing what he has to say. This is a short series at just 2 1/2 hours, but definitely worthwhile.
My biggest take-aways from this were:
- Keep e-mails short and succinct. Have one or two questions and make it clear if you expect an answer. I used to be terrible about writing novellas to co-workers, but I eventually realized (before this course reinforced the habit) that I need to write concisely.
- Do not have a meeting without an agenda, and stick to your agenda. Don’t waste time in meetings, and don’t be afraid to move a topic to its own meeting if necessary.
- Practice for presentations and expect anything to happen. I’ve had my PC reboot in the middle of a presentation. This is a talk that I’d given a couple of times, so I was able to continue with my “lecture” portion, and by the time the machine was back up (thank goodness for solid state drives!) I could pick right back up where I’d left off. Whatever happens, don’t panic.
Jason Alba’s Management 101 is a good primer on management, especially in a technical environment. Managers have two jobs: get the most out of their employees and protect their employees from the outside world. Alba’s quick course is filled with interesting tips on how to do that, as well as handling difficult scenarios like managing people significantly older or more experienced than you.
This course got me thinking about people I considered good managers. The most important thing about a good manager is knowing that different people have different buttons to push: some people need and want to be micromanaged; others (like me) despise micromanagement and want specific long-term goals and extremely broad scope to achieve those goals.
You’ve heard of Ruby on Rails. Now meet COBOL On Wheelchair. It’s
Rapid Application Development at its finest.