These days, every time I want to learn about a new topic, I insist on reading at least three books on the topic and surf the web for more background. I don’t feel confident talking or writing about a subject until I’m confident that I can form my own opinions and stances on the topic, and that requires that I dig. To be clear, being able to form an opinion on a topic doesn’t make me an expert, and I’m probably not an expert on anything, but I like to learn enough that I can at least hang out with experts without making a fool of myself.
Joey McAllister: Do you have any suggestions for educators and academic institutions to help improve their students' odds?
Alan Page: I’m on the alumni board for the school of arts and humanities at my alma mater. At the board meetings, we always have some sort of presentation from one of the departments (a music performance or art show is common). Last year, a professor gave a fantastic presentation on ethics and critical thinking, and it was all I could do to keep from jumping up and saying, “Yes, yes!” At the same time, of course, I was thinking, “What in the world does someone do with a philosophy or ethics degree?” My blended conclusion/opinion was that it would be great if degrees in technical disciplines required any course on how to think, especially if the exercises could be tailored to match potential career choices.
But, it really comes down to something I have said to college students, parents, and friends for years: A university is not a vocational school. Skills and knowledge are important, but if students can’t apply that knowledge or know when to use their skills most appropriately, there’s a huge risk of releasing a graduating class of hammers into a world filled with screws, staples, and duct tape.
Joey McAllister: What do you suggest that those people newly out of school do on their own to improve their chances of survival in software development?
Alan Page: Know how to learn. Once you’re on the job, what you know doesn’t matter nearly as much as what you can figure out. Every single successful software engineer I know loves to learn and is able to work through ambiguity and technical details to solve whatever problem he or she is facing. Given a hard problem, if you are stuck, your career is stuck. Success depends on your ability to experiment and discover solutions.
Joey McAllister: How do you get new hires thinking critically right out of the gate?
Alan Page: Often, new hires work on a specific small problem or feature. As a leader or manager, it’s critical to challenge new hires to understand how their little piece of the world fits into the big picture. For example, I’ll ask, “What features does your feature depend on?” and “What features depend on your feature?” From there, I may ask, “What do you think a customer would do if we didn’t ship your feature?” or “How do you think customers will use this feature?” I like to ask anything that will get new employees to think about the impact of their work beyond their day-to-day testing. It’s also really important to ask why. It doesn’t have to be an out-loud question, but I find it helpful to stop once in a while and question our approaches and assumptions and to think about alternate views and approaches. Even if we don’t change, even a brief bit of consideration for diverse approaches can help us understand the systems we’re working in.