The second task we’ve been assigned in Greg Wilson’s P2PU course is meant to help us figure out exactly who we’re trying to help through our teaching efforts. We’ve been asked to explore this question by writing up biographies for the various personas that represent our target audience. For me this is a bit of an awkward exercise because we already have such a diverse and vibrant community associated with our school. That said, it doesn’t hurt to try to identify the prototypical groups that our students tend to fall into.
Off the top of my head, I came up with a total of six different personas, but bear in mind that we take a very personalized approach in our program and so this list is bound to be painfully incomplete and far more black-and-white than how we really see our students.
Some of our students are busy learning Ruby in environments that it hasn’t quite gained a foothold in yet. This group ranges from students in developing countries that don’t have many hobbyist or entrepreneurial programmers, to students in the United States and Europe that work in corporate environments that actively discourage the use of non-enterprisey technologies. These students are taking a risk by spending time learning the tools and technologies they like working with, because they are unlikely to be met with short term rewards and the long term picture remains uncertain for them.
We try to help students like this develop the skills and confidence necessary to carve out a space for themselves where they don’t need to choose between the technologies they’d prefer to work with and their livelihood. Our idea is that if our students can get themselves set up on solid ground, others will take notice and perhaps decide to join forces with them. In particular, this group of students needs to learn how to find the kinds of problems that Ruby is well suited for, and learn how to leverage the language’s more unique features whenever it makes sense to do so. This sort of student also benefits greatly from exposure to the open source ecosystem, which is very different than the typically vocational environment.
Some of our students have been professional programmers for years or even decades. However, they may be relatively new to Ruby or may have limited experience outside of the scope of things that they’ve needed to learn to stay afloat in their day jobs. Sooner or later, folks like this end up wanting to understand their tools and their practices better, so that they can feel a greater sense of pride in their creations. The challenge for this kind of student is to develop a well-rounded skillset that allows them to more consistently produce successful results over time.
The way we try to help this kind of student is by discussing each decision point in a project in terms of its trade-offs. Over time, previous bad habits such as poor maintenance practices and haphazard debugging tactics tend to melt away as the student begins to understand not just what they should do, but why doing it that way is important. After repeating questions like “what is the benefit of doing X?” and “what problems can you see with approach Y?” in several different contexts, this line of reasoning becomes second nature and an intuitive sense of code quality and product quality begins to develop.
Many of our students have great ideas, but because they’ve never built a product themselves from end to end, they often struggle with figuring out out how to put their plans into action. These students may have a full time job or a heavy freelancing workload, and tend to be working on a side project or two in their spare time. This kind of student often has a tendency to bite off much more than they can chew without noticing it, even though they don’t realize it until it’s too late.
Often times this kind of student is so motivated that all it takes is a push in the right direction and then nothing can stop them. Those who haven’t done much active development work outside of a narrowly defined problem space often simply lack knowledge of the appropriate tools and techniques to use to solve their problems. The resources they need are all out there, but it can be hard to find them when they don’t know what to search for. With some exposure to experienced instructors and mentors, this kind of student can do very well as long as they keep asking questions often and avoid kludgey hacks whenever elegant alternatives are readily available.
The Indie Developer
Several of our students tend to be thinking about or just getting started with setting up a business of their own. Whether they’re trying to launch a product company or just looking to find enough freelancing work to pay the bills, this group of students values their independence greatly. Their interests tend to be focused around the kinds of things that let them do their work better and faster so that it gets easier and easier to keep themselves afloat.
While many of these students end up with a bit more free time for personal development than their salaried counterparts, they need some help to figure out how to use that time wisely. To help this kind of student, we typically give guidance on what kinds of tools and techniques are suitable for different kinds of projects. This helps the student find the right balance between learning new things and getting stuff done, which helps them keep moving forward rather than getting caught out in the weeds studying some bit of tooling that is poorly fitted for their context. We also emphasize scope-reduction techniques and time management with this sort of student, because they are typically much more responsible for keeping a project from crashing and burning than your average employee might be.
A surprisingly large amount of our students have found some degree of comfort and satisfaction in their lives, and wish to use their skills to help others. This kind of student may want to teach or mentor other programmers, contribute to open source projects, or even use their programming skills to support charitable causes that they identify with. For this group of students, the greatest challenge is finding ways that they can give back to society while still maintaining a reasonable work/life balance.
We help this sort of student by helping them think and work in smaller iterations. This makes it possible for them to contribute to the projects they are interested in helping with even if they don’t have a ton of extra free time. We also offer a ton of opportunities for students who have this kind of mindset to work on worthwhile projects directly through Mendicant University, and will continue to expand these options over time.
The Lifelong Learner
Some of our students are unsatisfied with simply learning skills on demand, and want to spend as much time as possible deliberately practicing their craft and honing their skills. This group of students has an unquenchable thirst for new knowledge, and an eagerness to put their newfound skills to the test. The greatest challenge for this group of students is to make sure to balance conceptual learning with practical applications of ideas. They also need to be careful not to burn out or shatter their focus due to information overload.
Because we know that a very high percentage of our students decided to take online courses with us in the first place due to their desire for continuous improvement, we are gradually building an environment that will actively support this kind of learner. After taking our core skills course, students can go on to take additional alumni-level courses that explore a range of different topics. So far we’ve created a web development course and a software design course, and are experimenting with introducing a number of other sessions as well. However, we are careful to make sure that these courses all involve some sort of tie back to reality through the regular use of discussion about real projects as our primary teaching tool. In addition to formal courses, we also have been organizing hackfests and other “learn while doing” activities that are much smaller commitments than what a full course might be. This gives our students a chance to keep honing their craft without having to radically alter their working schedules or burn the midnight oil.
My reflections about this exercise
I had a lot of mental resistance while working on this exercise. It’s not because I think it’s a bad exercise, but because Mendicant University’s environment is specifically designed to avoid this kind of categorization. Our lessons start and end with the needs of the students who take the course: We do not have a pre-defined kind of learner or skill level that we are trying to target. While categorizing the types of learners we tend to encounter is useful for thinking about the interests that significant sub-populations of our students have in common, I care more about the values we share than I do about what sets our students apart from one another.
If I had to guess at the underlying motivation for all of our students, it would be an intrinsic desire for continuous improvement combined with an active desire to make life easier for themselves as well as the folks they care about. We are a school that emphasizes soft skills and human interactions as much as we do technological skills, and so that makes it tricky for me to define us by our backgrounds or what we say we want rather than the things we do. That said, this exercise did at least get me to think on how we might make a better environment for our different kinds of learners, and that is a good thing.
Similar to the last exercise, an unfortunate realization here is once again that much of Mendicant University is built upon on the desires and interests of the intermediate-level developer. While some of these personas may also apply to beginners, I feel that they mostly are related to the interests and desires of career programmers and dedicated hobbyists. The fact is that I guess I just don’t understand enough about beginner programmers to know what kind of needs and interests they have, but I will be sure to read what the other students in this P2PU session wrote for this exercise to learn more about that. After all, that’s the whole point I joined this course in the first place.
Written by Gregory Brown on 28 January 2012. If you enjoyed this essay, please share it with your friends.