Low cost single-board-computers (SBCs) have reached mainstream popularity. How do we take advantage of this off-the-shelf technology to make our development experience more powerful, more educational, and more enriching?
With a specific combination of open source software and low-cost hardware, we will show you how to create a computing set up that expands the throughput and possibilities of any individual on a software development team.
With a specific combination of open source software and low-cost hardware, I'll show you how to create a computing set up that is a joy to use daily for ourselves and enthusiastic members of any development team.
Using Synergy on top of Raspbian and on the Raspberry Pi Zero, we enable seamless keyboard and mouse sharing across the main computer and the SBC. This combination has a few compelling benefits:
1. Directly relevant to web platforms
Developers get direct Linux exposure, the same type of system that form the foundations of your web infrastructure. Possessing this knowledge across a development team confers many operational and organizational benefits; a broader shared understanding means your team has a larger pool of potential contributors.
2. Counters tunnel vision
Developers will discover more about computing systems in the process of using and personalizing their setup: networking, software configuration, scheduled tasks, shell scripting, package management, and working with system dependencies. This workflow allows developers an opportunity to learn and work practically with parts of computing systems outside of their immediate niche.
3. Large support community for self-directed problem solving
Raspbian's large user community means that a vast majority of questions on how to accomplish a specific task have likely been previously resolved; answers can be found within minutes of Googling. This is good for forming and reinforcing the habit of self-directed problem solving, and independent learning for you and your developers.
4. Hyper-focus on main computer
A secondary computer is a clear separation of intent when it comes to which screens show what information. It may be used as a documentation display, communications aggregation display, (e.g. Slack + email + dashboards, etc.), and as an independent scripting machine. The main computer is free to be used for intensive dev tasks such as running device simulators, static code analyzers, and whatever heavy processes directly impacts a development session. You don't lose interoperability since Synergy provides seamless keyboard and mouse input across the two machines.
You also don't need to plug in docks or cables every time your main computer relocates back to the setup.
In the next post, we will cover hardware purchase costs, setting up a minimal installation of Raspbian, and configuring the Pi to use Synergy on your network.
Increase the effectiveness of your development team
Unlock the potential in your developers' skill set, mindset, and operational capabilities by speaking to cohesive.dev, together we can plan a more fruitful future for the people in your software development teams.