Michelle Duke
I'm a Content Producer working in tech & innovation. Known as the “Hackathon Queen” 👑 I'm on the GitHub DevRel team and love sharing stories from our amazing community of developers.
GitHub Actions allows you to automate your workflow. Connect with the tools you know and love, and have more freedom to innovate and be creative. With GitHub Actions, you can…
GitHub Actions allows you to automate your workflow. Connect with the tools you know and love, and have more freedom to innovate and be creative. With GitHub Actions, you can deploy to any cloud, build containers, automate messages, and do so much more. It’s time to take control!
There’s lots of amazing Actions being built every day. We spoke to some of the most amazing developers building the latest Actions. Over the next few weeks we’ll be sharing their stories with lots of tips to inspire you in creating your own Actions. This week, we have Samson Amaugo, a full-stack dev from Nigeria.
Samson started coding about five years ago. He told us he started because he just loves building software tools and solving for specific problems:
One of the best ways of learning to code is by building stuff which led me into doing what I wasn’t used to, and that is building software tools. Some times it might not be about just building a particular tool to develop your skills or learn but solving an issue.
Through trying to solve a problem, many people develop their skill sets. Samson said this is definitely true for his career. If you need to fix something and a tool doesn’t exist, usually you’ll just need to build it yourself. This is exactly what Samson did:
I once needed a simple way to delete multiple GitHub repositories, so I decided to build a tool (a website using GitHub’s API) with some help from a friend.
For some, enlisting the help of a friend might be a weakness. But that’s not the way open source works. Open source code runs by everyone contributing, working together, and building on top of each others’ ideas. Samson says this trend we see in open source has:
spurred the rise of lots of software tools designed to support existing infrastructures or solve various tasks at hand, which has been quite beneficial to the tech industry.
Samson’s action is designed to export images into different sizes for your json file. Before building this Action, Samson hadn’t done any work on GitHub Actions. He jumped at the chance to learn and build actions as a result of our recent GitHub Actions Hackathon:
I hadn’t used the GitHub Action or Workflow at [the time when an email arrived about the GitHub Actions Hackathon] and I hadn’t participated in any online hackathons. I decided to give it a try and use this avenue to learn about these new GitHub tools and also join the contest. After learning using the docs and some existing examples, I decided to port one of my software tools (a website tool) into a GitHub action.
Hackathons are certainly a great way to learn and build something new. Through this hackathon, not only did Samson get to experience a hackathon for the first time, his tool was able to be made into an Action. He said this was very “cool” and without the need to use third party tools, it’s very easy to do. Samson also learned a lot about node.js as he Action is built using node.js.
Anything good is never easy. There are always roadblocks and challenges to overcome. Samson said his biggest obstacle when it came to building Image Resizer was finding all the documentation on using node.js:
My biggest challenge was finding basic examples of how to build an action using node.js. Although the documentation for the actions provides examples, I wish more basic examples could be given. I got extra help by checking the codes of people that submitted in the hackathon and by referring to the documentation.
Samson is again calling back to the community here. Learning from the community and from those around you is one of the best ways to develop and build your skills. Now that Samson has finished building this Action for the hackathon, he’s looking at what’s next:
Currently, I am interested in DevOps, so if a need arises to optimise the tool or add extra features, I will… I also plan to build more actions that would suit my build pipelines using the GitHub workflow.
If you’re interested in learning more about Samson and some of the cool projects he is working on check out his GitHub profile. He also has a great blog with tutorials and more. It’s awesome to see developers giving back to the community in this way.
We hope you enjoyed our interview with Samson Amaugo. If you’re interested in building your own GitHub Action, get started with theLearning Lab course. You can also find Image Resizer —and hundreds of other GitHub Actions—onGitHub Marketplace. If you want to see more Actions, check out all the Actions built for our recent GitHub Actions Hackathon
We’re open sourcing Annotated Logger, a Python package that helps make logs searchable with consistent metadata.
Want to know how to take your terminal skills to the next level? Whether you’re starting out, or looking for more advanced commands, GitHub Copilot can help us explain and suggest the commands we are looking for.
As part of the GitHub for Beginners guide, learn how to improve the security of your profile and create a profile README. This will let you give your GitHub account a little more personality.