Will your software outlast the original developers? Almost certainly yes. But will you be able to maintain it?
That’s one thing about being in the software development business as long as I have – you gain a very healthy respect for the value of maintenance. Sure, the studies all show that maintenance costs 50%-80% of the total life-cycle cost of software, but there’s nothing like living through the entire life-cycle of multiple software projects to really understand that.
You spend a lot of time thinking about what you might have done earlier on to make life easier now.
Which is why my latest Pluralsight course, Building Software That Lasts – A Guide to Maintainable Software, is perhaps the most important course I’ve published. If not the most important, it’s certainly the one with the greatest potential to have a real impact on the cost of software.
This is not a theoretical course full of recommendations that sound great, but never put into practice. This course was born from pain – and the sure knowledge that in many cases, especially in today’s fast paced development world, maintenance and maintainability is the last thing on anyone’s mind, or in anyone’s budget. So while yes, I do discuss best practices, I spend a lot of time focused on processes and practices that are simple and cheap – and that might actually get done even when budgets are tight and speed is of the essence.
So I invite you to check it out and tell your friends. Even if you just pick up a few ideas, they’ll be worth it – that’s the thing about maintenance: a small investment now can save you a fortune in time and effort later on.
Will your software outlast the original developers? Almost certainly yes. But will you be able to maintain it?
As one of the authors who has a course featured as one of the 36 Camp Pluralsight courses, I guess that makes me one of the camp counselors. And since it’s a camp, and this week’s challenge is sharing a story, it seems to me the perfect time for that age old camp tradition – telling stories by the campfire.
So gather up your blanket, grab your S’mores, and listen as I tell you about the terrible incident of the random cubicle, that happened RIGHT HERE AT CAMP.
It was shortly after he finished the course Careers in IT: How to Get Your First Job that he was assigned his first cubicle. He was thrilled to finally have his own stapler, and eagerly spent his first days connecting with his fellow employees using Practical Networking. He quickly became popular, well known for posting pictures of how his coworkers might look years from now using the skills he learned with Age Progression in Photoshop.
He may have lived out his career in happiness, had he not been injured one day during a Docker Deep Dive, shattering his little finger in the process. Swearing vengeance on the world for his painful Introduction to Virtualization, he became a developer.
Finally, nobody was left. Just an empty office, each cubicle silent, with dust building slowly on the desk and stapler within.
And you, here at camp, may think you’re safe sitting around the fire. But don’t be so sure. Not only is it dangerous to light a campfire in an office cubicle, but what you don’t know is that the killer, the one who caused everyone to vanish, started his path of mayhem in THIS VERY CUBICLE!
Run! Run! Your knowledge won’t help you now – it’s already become obsolete. Your only hope is to quickly take Learning Technology in the Information Age and maybe you’ll be able to find a different job in a different office for more money. At least until he, or someone like him, strikes again!
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?
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.
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.
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
Part of being in the software development business is that sometimes you have to support software for a long time. Longer even, than Microsoft does. So the fact that XP is about to become an unsupported unsecured target of every virus and botnet in the wild doesn’t change the fact that I need to keep it around as part of an old build system.
But, that doesn’t mean I need to keep it around as real hardware. So, it’s time to say farewell to that old Sony Vaio – one of the finest and quietest old Pentium machines I’ve owned. Its soul has been removed – virtualized – leaving behind an empty hulk of hardware with, get this, the last of the old tube monitors.
Its spirit will live on, joining a virtual community of old Windows 2000, Windows 98 and Windows NT build systems. Waiting in limbo for the possibility they’ll be called into action again to support a customer running some ancient legacy software.