Quick-Start Guide for Developers and Other Tech Folk
Table of contents
What is the Tech Team?
The Tech Team is a group of CHIRP volunteers who create web apps, tooling, and other tech-oriented solutions for the station. We focus primarily on web development, and not on IT, hardware, or broadcast tech. We also do not work on the main chirpradio.org site or any of the mobile apps (CHIRP has contractors who do that work.) To see things the tech team is currently working on, check out the Active Projects section in the sidebar of this wiki.
How to Get Involved
What skills do I need in order to join?
There are absolutely no prior skills or knowledge required in order to join. We strongly suggest you possess some sort of enthusiasm for tech, but that is also not a deal-breaking requirement. Don’t know how to write code? That’s ok! There are many ways to contribute, including (but not limited to) project management, product development and planning, being a data nerd, user testing, dev ops, UI/UX design, technical writing, or maybe you just love brainstorming and whiteboarding ideas with enthusaistic people! If you’re a newbie dev or are interested in learning more about the tech world but have no experience, we welcome you.
Things To Do
- Reach out to the head of the Tech department to join the team’s email distro. That way you’ll get emails about projects, upcoming meetings, etc.
- Get yourself added to the Tech Team Slack instance. You can do this by emailing the head of the Tech department, or by reaching out to a member of the team for an invite.
- RSVP for upcoming meeting dates, which will be listed in Volunteer Impact
Important Links to Bookmark
- This wiki (shameless self-promotion)
- CHIRP Github
- Tech Team Trello board
- Tech Team Slack
Frequently Asked Questions
What languages are used at CHIRP?
CHIRP does not have specific language guidelines when it comes to tech work; we work in whatever languages we feel are best for the project at hand, combined with our level of comfort or interest. We do, however, encourage you to work in a language that is modern and well-supported so that others can contribute and your code will be dependable for users in the future. Each page in the Active Projects section will note what languages are used in that project.
How are projects assigned?
Being a volunteer organization, folks on the team tend to work on the projects that interest them. So…things don’t get assigned, necessarily. If something needs to be done, it will be a topic of discussion in Slack or at a meeting, and whoever wants to work on it can volunteer to help out. If there’s something you want to see happen, we encourage you to take point on it and follow your passion.
What is the general development process?
- Team Discussion
- New items are discussed either in Slack or at a meeting. Folks who want to work on a particular task or project are encouraged to speak up and volunteer for it.
- Create Trello Card(s)
- The team tracks work in Trello. Once a task has been discussed, a new card will be created and added to the backlog column. If you volunteered for something, you may get assigned to the card. If you see something in the backlog that you’re interested in, go ahead and assign it to yourself! Updates to Trello cards get pushed to Slack so everyone knows whats going on.
- Design & Research Phase
- If necessary, this is the first phase of work. Discussions take place in Slack or in individual meetings. Someone with UI/UX experience may offer to work up a wireframe, or maybe you meet up virtually with a few team members on the weekend to put your heads together, or meet up with a few users to clarify what’s needed.
- To-Do/Doing Phase
- Cards that have been researched and are ready for active work will be in the “To-Do” column. Whoever is assigned to the card can move it to the “Doing” column when they begin working on it.
- Code Review Phase
- Please make all changes in a separate branch on Github, and open a pull request to the appropriate repo. Once a pull request is open, head into the code-review channel in Slack and request someone to review your code. It’s best practice here to have at least one other person review your code and approve it before the code is merged into main.
- Done
- Congratulations, the task is complete! Don’t forget to hit that “Done” button in the Trello card.
How do I request a new feature or report a bug?
Some CHIRP apps, like NextUp, have a section to submit feedback directly to the Tech Team. In the absence of that, please reach out to the Tech department head via email. If you’re a member of the team and you want to work on a particular new feature or fix a bug you found, go right ahead! Although you might want to ping in Slack first to make sure nobody is already working on the same thing.