Visual Studio Live! Keynote: 'Never Stop Learning'
Being the best developer you can be requires constant learning, effort and attention. That's Dustin Campbell's approach. Campbell, a principal software engineer with the .NET Developer Experience Team at Microsoft, also asserts every developer is self-taught. There is so much to learn out there, that everyone is self-taught, to one degree or another. Campbell gave attendees a motivational keynote presentation entitled, "Self Help for Developers" to kick off Visual Studio Live! Tuesday morning in Anaheim, Calif.
A lifelong programmer and avid learner, he presented his beliefs on how to be the best possible developer. "If you want to become the best developer you can, that you have to do on your own," he says. "It's all about you."
Not the typical demo-heavy presentation, Campbell gave developers some powerful motivational messages and strategies for continued learning. He started off stating a few key assertions. "Every developer is self-taught," he says. "Even if you earned a degree in programming, as soon as you walk out the door, you became a self-taught developer. There is so much to learn, you have to be motivated."
And those educational and evolutionary efforts must be on-going, says Campbell. "You must constantly work to avoid becoming obsolete. This is the reality of today. The language you learn tomorrow probably wasn't in active use ten years ago, and won't be ten years from now. You have to keep working to evolve. Being a great developer requires self-motivation, intense focus, and concentration."
After a brief history of his own personal background and how he evolved as a developer, Campbell continued with his learning and organizational strategies. "I going to talk about a process—about how we're going to learn new things. First of all, it's time to get organized," he says. "If you feel your schedule rules you and not you rule your schedule, it's time to take control of your life as a developer. Pick a system and stick with it. Find something that works for you."
Maintaining your personal schedule is critical. So too is maintaining equal control over your workload. "Find a good way to track your tasks, projects, and other work. You need a way to remember what you need to do," he says. "You can use Post-It notes on your computer, or an app or other service. Be prepared to develop good habits—things you should do repetitively on weekly or daily basis."
Achieving a level of personal and professional organization is just the foundation. Then you can apply Campbell's strategy for continued learning and evolution. "There's a simple process I will present today. As you can see, it's just six words on an arrow: gather input, choose topics, go deep."
His process for gathering input involves numerous resources. "I use news aggregation sites, books and magazines, your peers, on-line courses," he says. "See what training is available and what people are learning. If there's anything we're not lacking today is information."
This part of the process can be overwhelming though. "There's so much of this, you could spend your whole day on this," he says. "You need to figure out a system for exploring resources and fit it into your schedule. You have to put some boundaries or guard rails on it."
The next part of process is to choose your topics. "What are those things that bubble up to the top that I need to go and learn?" he asks. There can be several reasons for selecting a topic. "You might need it to be successful at work. Sometimes you might just need something to stay relevant. You might also pick a topic because it is intellectually stimulating. That will also make you a better developer."
Campbell says it's also important to be ok with not getting to learn everything. "There's just not enough time to learn it all," he says. "I've never done database programming. And I don't know Python."
So you've explored resources and gathered inputs, it's time for the final and arguably most important phase. "Now we want to talk about going deep," he says. "You've collected a bunch of information on something. Now you really want to spend some time and learn it. This is important."
This also requires concentrated effort and a certain degree of discipline. "You must set yourself aside from daily distractions. Learning something challenging requires attention, focus, and deep concentration," Campbell says. "Plan some time in your sked to go deep. It sounds simple but it's not."
He recommends choosing a regular time slot each weekday, scheduling time during the week and booking it on your calendar, or even taking a retreat for a longer period of full immersion. "The last option is to become a monk," he says only partially kidding. "There are people who need to set themselves apart to remove all distractions."
So that is Campbell's process -- get input, select topics, and go deep. He closed out his talk by discussing the dangers of burnout. "It's easy to get yourself burned out if you go too far," he says.
It's critical to establish a work-life balance and to recognize your work life balance will change over time.
The next Visual Studio Live! event will be part of Live! 360, next month Nov. 12-17 at the Royal Pacific Resort in Orlando, Fla.
Lafe Low is the editorial liaison for ECG Events.