Introduction

Do you want to improve your programming skills, ask questions related to programming, or meet other researchers? Pick up your laptop and come to the Programming Café!

What is a programming CAFE?

A programming CAFE (Code Along, Feel Empowered) is a community event that brings together programmers - both researchers and research supporters - to share knowledge about programming and learn with each other in an open and informal setting.

What types of CAFEs can you think of?

A programming CAFE will vary depending on the needs and interests of the community. Here are some things to consider when defining the focus of your programming CAFE:

1. Programming languages

A programming CAFE can be focused on a single programming language, cater to multiple languages, or be language-independent. For example, you might start a CAFE that focuses exclusively on Python, or you might create a more broader CAFE that covers several programming languages such as Python, R, and MATLAB. The choice of programming languages will depend on the interests and needs of the community.

2. Skill level

Another factor to consider when defining the focus of your programming CAFE is the skill level of potential participants. You might start a CAFE tailored to beginners, or you might create a more advanced CAFE that caters to experienced programmers. Alternatively, you might choose to create a CAFE that is open to researchers of all skill levels, with a focus on collaboration and knowledge-sharing.

3. Research applications

Finally, you might choose to define the focus of your programming CAFE based on specific research applications. For example, you might start a CAFE focused on programming for analyzing biological data or one that is dedicated to programming for social sciences research. The focus on research applications will depend on the interests and needs of the community.

Why would you want a programming CAFE or community at your university?

Programming has become an essential skill for many fields, including research. However, learning to code can be a challenging and sometimes isolating experience, especially for beginners. That’s where a programming CAFE or community can make a significant difference. Here are some reasons why you might want to consider starting a programming community in your university:

1. Build a supportive community

Learning to code can be a frustrating and challenging experience, especially when you’re stuck on a problem or error. Having a community of fellow programmers to turn to for support, advice, and encouragement can make all the difference. A programming community like CAFE can provide a supportive environment where researchers can connect with others who share their passion for programming and are eager to help them succeed.

2. Foster collaboration and knowledge-sharing

Programming is a collaborative activity, and having a community of programmers can help foster collaboration and knowledge-sharing. By working together on projects, sharing tips and tricks, and discussing best practices, researchers can learn from each other and grow their skills faster than they would working alone.

3. Provide access to resources and opportunities

A programming community like CAFE can also provide access to resources and opportunities that might otherwise be difficult to find. For example, members of the community might share job or internship opportunities, recommend useful tools and libraries, or organize coding workshops and hackathons.

4. Promote diversity and inclusion

By actively promoting diversity and inclusion, a programming community like CAFE can help create a more welcoming and supportive environment for all researchers, regardless of their background or level of experience.

Who is it for?

The CAFE community is for researchers of all levels who are interested in programming, regardless of their field of study or level of experience. Here are some examples of personas who might benefit from participating in the community:

1. The beginner programmer

The beginner programmer is just starting to learn how to code and may feel overwhelmed by the complexity of programming languages and tools. They might have a background in a non-technical field, such as the humanities or social sciences, and are interested in learning how to use programming to solve problems in their research. They might have followed a Introductory course, but get stuck as soon as they start working with their own data and therefore feel discouraged. The CAFE community can provide the beginner programmer with a supportive environment where they can connect with others who are also learning to code, ask questions, and get help when they need it.

2. The advanced programmer

The advanced programmer is an experienced coder who has already developed a strong skill set in one or more programming languages. They might be looking for opportunities to share their knowledge with others, collaborate on projects, or learn about new tools, techniques or best practices related to Open Science and FAIR data and software. The CAFE community can provide the advanced programmer with a platform to share their expertise, connect with other skilled programmers, and stay up-to-date with the latest trends in the field.

3. The interdisciplinary researcher

The interdisciplinary researcher comes from a field of study that traditionally has not emphasized programming, but recognizes the importance of using computational methods to answer research questions. They might have a basic understanding of programming concepts but lack the technical skills to implement them. The CAFE community can provide the interdisciplinary researcher with a supportive and collaborative environment where they can learn programming skills that are relevant to their research.

4. The data specialist

The data specialist is a researcher or support staff who specializes in working with datasets. They might be looking for opportunities to collaborate with other data experts, learn about new tools and techniques, or share their knowledge with researchers and others. The CAFE community can provide the data expert with a platform to connect with other researchers who share their interests, learn from each other, and collaborate on data-driven research projects.

Conclusion

Overall, the focus of the CAFE can vary depending on the needs and interests of the community, including the choice of programming languages, skill level and research applications. By defining the focus of your programming CAFE, you can build a community and a programming CAFE that is tailored to the needs of your community and that provides valuable resources, opportunities, and support.