Dan Appleman: Kibitzing and Commentary

My personal blog

New Course – The Future of Technology Careers

What technologies will you be working on a decade from now? Will you even be working in tech? Do you even think that far ahead?
Most of us don’t. There’s this assumption that because technology changes so quickly, long range career planning in technology is futile. So our careers are driven by the opportunities of the moment and happenstance, rather than by any real long term thought.
But it turns out that long term career planning is possible, even as the pace of technology change increases. Not only is it possible, it’s a crucial part of any technology career, for all that it is neglected.
My new Pluralsight course, “The Future of Technology Careers” can help you to start applying long range planning to your career – to think about the future in new ways.
And if that doesn’t convince you to watch it, allow me to point out that it is the only Pluralsight course to seriously address the potential consequences of a Zombie apocalypse on software development. How can anyone say no to that? Remember – you can sign up for a free trial on their web site, so what are you waiting for?

A Different Kind of Programming Course for Kids: The Back-story

About a year and a half ago, Pluralsight put out a call for programming courses targeted for kids. I couldn’t resist the challenge, and the resulting course “Amazing Things You Can Do With a Web Browser (And a Bit of Code)” is now available for free viewing on Pluralsight.com.
It’s not your usual kid’s programming course.
I know what a beginner’s course is supposed to look like. You start by teaching the most basic concepts and then build on them step by step. You add interactivity – things they can try and experiment with along the way. And that is a good solid approach – especially for kids who want to learn programming.
There are lots of great courses like that already. I wanted to do something different. In particular, I wanted something that might appeal to kids who weren’t necessarily interested in learning programming.
Every educational expert will tell you that the way kids learn best is through play. Personally, I think that’s the way adults learn best too, but that’s another subject.
When kids play, they do not start from basic concepts and build on them step by step. They go straight for the goal and fill in the blanks, making them up as needed. They don’t lecture each other – they engage in conversation and argue with each other. They like to mess with each other, prank each other. And they are much more interested in listening to other kids than to adults.
So I thought to myself, how do we make a course playful – the way kids really play?
I knew I couldn’t do it myself. I can have all kinds of theories and opinions of what would appeal to kids, I could even do market research – but I can’t really know it personally. I may have had the vision, but the kind of course I had in mind could only be created by a kid. A really smart kid.
Now those of you who have read my book “Developing Teen Leadership” know that I’ve volunteered for many years as a youth group advisor. Over the years I’ve met a lot of smart kids who were into programming – and let me tell you, the list of companies they work for and titles that they now hold would blow your mind. So I looked at our current membership and who was into programming, and had a chat with a 14 year old named Tom. We chatted, brainstormed and pitched the idea to Pluralsight, and they bravely decided to give it a shot.
The (long awaited) result was “Amazing Things You Can Do With a Web Browser (And a Bit of Code)”. The format is a conversation between Tom and me. Tom is the teacher – I am the student. The examples are… well, playful. We have a talking pirate. A geek test. A cool way to prank your friends. We make mistakes along the way and fix bugs as they come up.
This course is not the final word on kids programming courses. It’s not better that what exists. It’s different. An experiment – hopefully one that will inspire other innovation in this space.
One final thing that I want to make clear. While the original vision for the approach may be mine, the content of the course is Tom’s. We brainstormed the project ideas, but he had the final say. He wrote all of the samples. I did not tell him what to say. He really is the teacher of the course, and I had a lot of fun being the student.

New Course: The Dark Side of Technology Careers

Have you ever noticed that most discussions of technology careers are almost relentlessly positive? Studying technology is portrayed as a guaranteed path to a great high-paying job, sometimes at a workplace that offers all the luxuries of a high-end resort. Courses on tech careers, including my own, reflect this in a way – promising to teach skills that will let you take full advantage of the opportunities a tech career offers. When we talk about our careers we tend to focus on the cool projects we’re working on.
Most people in technology do have pretty good careers, but that’s a far cry from “happily ever after”. Bad things happen. People get laid off, projects get cancelled, and companies fold. There’s politics, interpersonal conflict and various forms of discrimination and unfairness.
Bad things can happen in any career. But we in technology often seem to be blindsided – caught by surprise when things go wrong. The focus on technology, and the positive outlook we find in schools and books and courses doesn’t prepare us for reality.
My latest Pluralsight Course “The Dark Side of Technology Careers” sets out to change that. It’s about the challenges, obstacles and traps that almost everyone faces sometime in their career – how to spot them, avoid them, overcome them, and if necessary survive them. It’s about the things that we, who have been in the industry for a while, learned the hard way – the things we wish we had known starting out.
Those early in their careers will find this course an invaluable map through previously hidden career minefields. Those well into their careers will discover that they are not alone in the challenges they face, and will likely discover some they had never considered.
I invite you to sign up for a free trial to watch it on Pluralsight if you aren’t already a subscriber.

New Course: Data Visualization for Developers

I’m pleased to announce my latest Pluralsight course “Data Visualization for Developers”. In this course I cover the fundamentals of data visualization that every developer should know. The course goes beyond the basics of charting to cover data visualization architectures – an essential element on today’s world where data, analytics and rendering can be distributed across multiple servers and cloud services.
Check it out at pluralsight.com

The Most Common Question

I’ve been asked a fair number of questions of the years, but there is one in particular that I tend to hear over and over again, and ironically, it’s always been the most difficult one to answer.
The question, for any given topic, is a variation of  “Where do I start?” or “Can you recommend a good beginner’s book?”
Now, I’ve been writing books for many years, and publishing courses on Pluralsight for over a year – not to mention learning technologies on my own, so you can imagine that this is a question in one that I care about very much. Yet I’ve always found it difficult to answer – because by the time someone asks me the question on a given topic, I’m usually well past the beginner stage and don’t really know what the best beginner’s resources are at the moment.
It’s only recently that I realized that resources aren’t the problem. The problem is that people are asking the wrong question. Beginner’s don’t need learning resources – they need learning strategies. Advances in technology have radically changed the way we can and should learn technology, and I’m not talking here about online resources and courses. Technology is beginning to fundamentally disrupt education, and it’s time to look at education in a different way – one that understands and leverages resources in a way that varies by individual and by the technology being learned.
That is the subject of my new Pluralsight course “Learning Technology in the Information Age”. Its purpose is to change the way you look at learning a new technology in order to make that learning more efficient. To help you to think carefully about what you want to learn, why you want to learn it, and what types of resources to choose and where to find them. In short – to design your own learning path before you start diving into resources. It’s a lot like designing software before coding – and we all know to do that, right?
I encourage you to take a look – Learning new technologies is a challenge we all face every day, and the time you spend on this short course may pay off many times over in time you save learning technologies going forward.

Introduction to Leadership and Management for Developers

When I studied computer science, it was about gaining “hard” skills. Learning the technology – how to solve tough technical problems. There was almost nothing relating to what we now call “soft skills” – getting along with others, working with a team, dealing with managers, or being a manager.
Based on what I’ve seen of new graduates, things haven’t improved much. Yet in the real world, those “soft skills” are what really make the difference between someone who is truly driving the agenda, and those who are just pounding out code on demand.
I’ve learned and forgotten and learned hard skills throughout my career. But I can tell you this – it’s the soft skills – the leadership skills – that have made all the difference.
The problem is, that most leadership training isn’t design for developers (you know, people who spend 90% of their time dealing with relentlessly logical machines as compared to somewhat less rational human beings). You might think that puts us at a disadvantage when it comes to learning leadership, but it doesn’t. It’s just that the way you might teach leadership to an English major, psychologist, or MBA doesn’t necessarily work that well for developers.
So here it is, a leadership training course designed specifically for software developers. I’ve never seen anything quite like it, and I’m very excited to be able to present in one place many of the ideas and techniques that I’ve been teaching for many years.
Check out “Introduction to Leadership and Management for Developers” on pluralsight.com