Understanding programming is one of the great keys to the future across so many spheres of life. In the field of behavioural science, this is also true; there’s no doubt that a working knowledge of programming might help you build better experiments. Learning to code from scratch is an extremely powerful skill, and it’s one that people in the scientific community spend years perfecting.
But how do you figure out the right moment to invest that time into deepening your understanding of coding?
The Wearing of Many Hats
Before we answer the above question, let’s establish a bit of context around the life of a behavioural scientist.
We all know and appreciate that you wear many different hats. As you conduct your research, there is a whole portfolio of skills you need to master at various different stages of your journey. Under the umbrella of ‘behavioural scientist’ you will need to cultivate the following skills to a level of proficiency:
- Pitching — Pitching for grants and funding requires the ability to put forward a compelling argument
- Technical Skill — Building the experiment and crafting the participant experience
- Project Management (Data Gathering and Management) — Organising and collecting the data and managing that process
- Understanding Statistics — Becoming a statistician is a huge part of the science
- Written Communication — Writing everything up into a paper
- Disseminate your Findings — Share your findings through public speaking, lectures, and conferences to ensure your audience connects with your work
Putting all things in context, behavioural scientists have a huge amount to learn in a short amount of time. It’s actually a triumph in and of itself that behavioural scientists continually make one-person teams out of themselves in the pursuit of knowledge.
We see you.
The point here is that there are so many things vying for your time, and the limited resources at your disposal. At every stage, you’ll need to ask yourself, what should be the focus? Doing everything at once is unrealistic in a lot of cases, so where and when can we create workarounds that relieve the pressure scientists find themselves under to be all things to all research?
More importantly, when is the right time to push for learning a little or a lot more about coding?
Different Strokes for Different Folks
There’s no denying that being proficient at software development is going to present some added benefits for you as you engineer your experiment. The investment of time becomes worth it; you’re building something new that doesn’t yet exist or exists partly but not in the way you need it to.
But this route does have a ‘dark side’. That dark side comes in the form of countless error messages and a deep seated frustration that makes you want to throw your computer out the window and eat your body weight in snacks to console yourself.
No judgement about the snacks. We understand.
Alternatively, you write the code and it is a thing of beauty. You marvel at your creation. Then you go to bed and the programme you’ve coded it for gets a critical update and the task you’ve built no longer works. Now, you have to re-do that code. Or the library you’re using gets an update and now you have to rework that section. That’s a whole new frustration level right there.
For many experiments, this kind of stress just isn’t necessary. There are tools out there that have been designed to give you back your time, time that can be used more effectively. They’ll give you streamlined guidance on how to build an effective task online in a fraction of the time it would take you to code from scratch yourself. I’ve chatted with scientists that are still struggling with their tasks after 3 months of steady progress, and we’ve replicated their task in a task builder in under 30 minutes.
In such instances where time and resources are scarce, a well rounded tool frees you up to focus more on the science. Those tools are known as task builders and experiment builders.
So How Do You Choose A Good Task Builder?
So if you decide to choose to use a task builder, how do you pick a good one?
Well think about your experiment — what different facets will it have? If you’re going to be doing a questionnaire exclusively, for example, then a tool like Qualtrics is going to be your best bet. But if your task needs accurate reaction times, and a trial structure, are there tools that can get you there with less coding or no coding at all?
For some, just using a task builder for a simple experiment may actually remove the coding element altogether. If you’re trying to get to grips with all the other things, that’s going to be super handy. This video demonstrates how to build a category naming task — and it only takes three minutes:
The way to check that a tool is right for you is to think about how much flexibility the interface gives you:
- How creative can you be with the building blocks given?
- Are you able to augment the tool’s functionality so it can serve your unique needs if the default tool is not an exact fit?
- Does it offer to host bare bones code, for when you absolutely have to write your tasks yourself, but don’t want to manage a whole server?
- Is it easy to get started on this tool when you’re a beginner and powerful enough to power experiments for professors?
- Can you build the whole participant experience under one roof?
It’s like the difference between Duplo and Lego. With one you can build a rudimentary house. With the other, you can create a mini version of Hogwarts School of Witchcraft and Wizardry. Complete with spires. And the Whomping Willow. Or the Starship Enterprise. The point is to choose a tool where the experiment world becomes your oyster. So make sure your tool can deliver that kind of functionality for you.
A Word of Caution With This Tale…
No tool is perfect; they all have their limitations. If an interface isn’t able to deliver what you’re looking for despite having considerable creative freedom, maybe your task can be tweaked a bit? Sometimes, a bit of smoke and mirrors is enough to get you what you need scientifically, without adding technical complexity.
For example, scientists have found that it can be hard to get browsers to trigger auditory and visual stimuli together with the necessary degree of precision. However, a great design workaround is to use video (thereby combining the audio and visual stimuli into one file) as video is widely supported in HTML5. Alternatively, a different coding approach might give you the flexibility to tighten up the synchronised onset of auditory and visual stimuli.
With the latter option, you’d take on the burden of implementing, testing and validating your code. Great for all the coding geniuses with easy access to timing validation equipment. If that latter option seems like a distant dream though, then the moral of the story here is to choose a tool that gives you plenty of flexibility — and to find cunning work-arounds that give you better quality data with no additional technical complexity.
A Quick Word on the Importance of a Support Team
If you’ve gone backwards and forwards trying to figure it out and nothing’s working, make sure you make use of a tool that allows you to speak to someone who knows the interface inside and out — i.e. a tool backed by an efficient support team.
In some cases, the collaboration could lead to the building of a custom feature for your experiment, which is always a hugely exciting endeavour.
Be Smart About Your Programming Needs
Overall, when it comes to programming, it’s important to be realistic about your time and how and where it should be spent. As a behavioural scientist, you don’t have a choice about working hard. It’s a given in this field. But you can also work smart, and conduct your research in a way that makes the most efficient use of your time. Open-source research software, tools and task builders, when correctly utilized, do the invaluable job of lifting some of the burden and stress off your shoulders.
If you want to find out more about best practice when it comes to building experiments online, check out our insights here.