Are you looking to improve your resume? Side projects are a great way to enhance and showcase your technical skills and give you the chance to get creative by building applications which you would not typically work on day to day in the workplace.
In most articles, you will get suggestions to build things such as a “calculator app” or a “todo list”. These are perfectly reasonable choices, although they do not read particularly well on a resume and will not make you stand out.
GitHub Actions make it easy to automate all your software workflows, now with world-class CI/CD. Build, test, and deploy your code right from GitHub. Make code reviews, branch management, and issue triaging work the way you want.
We are living in a world of agile software development, and continuous integration is paramount to fulfilling this. Employers are keen to know that engineers can automate manual tasks and improve team velocities.
One of the neat things about GitHub actions is you can build automation directly into version control without the need for external CI tools such as Jenkins. It also gives engineers the ability to publish custom actions which opens up a world of possibilities. You can read more here about creating your first custom action.
- Dependencies audit – vulnerable dependencies introduce significant risk to production systems. With modern tooling (e.g. npm audit) it is simple to create a custom action that verifies production dependencies are up-to-date with no known vulnerabilities.
- Lighthouse audit – web performance is a significant ranking factor and a key metric to improve conversion rates. Using Google Lighthouse, you can create a custom action that verifies a web application conforms to acceptable performance, accessibility and SEO scores.
Artificial Intelligence (AI)
Artificial intelligence is intelligence demonstrated by machines, unlike the natural intelligence displayed by humans and animals.
Artificial intelligence is the powerhouse behind a wide variety of critical technology that is pioneering the way the world operates from self-driving cars to the latest healthcare advancements.
Getting started may seem like a minefield, but with modern Cloud Computing vendors such as AWS (Amazon Web Services) offering off the shelf solutions that abstract the mathematics away and offer highly accurate algorithms, now is a great time to get ahead of the curve and build a diverse range of applications powered by AI.
- Code Quality GitHub Action – create a GitHub action powered by AWS CodeGuru that automatically fails pull requests that don’t suffice to a set of predetermined standards.
- Covid Safe API – create an API powered by AWS Rekognition that detects people not wearing PPE in an image (bonus points for extending the idea to use Ring Doorbell to verify carers visiting patients are wearing appropriate PPE).
- Find That Song App – an app powered by AWS Transcribe which allows a user to sing the lyrics of a song and then takes the result and uses an API such as Musixmatch to look up the lyrics to find the song.
WebSocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection.
Every day you use real-time applications whether it be a meeting on Zoom, tracking a delivery, or messaging friends on social media. Customers expect apps and websites to offer real-time functionality where applicable. Therefore it is an excellent skill to possess and is highly desirable to many employers.
- 5 Minutes – have you ever tried to meet a friend and then cannot find each other? Or they are “5 minutes away”? An app that uses GPS and allows friends to connect via a UUID to meet each other.
- CloudReview – did you know VSCode can run in a browser using code-server? Power this with real-time functionality and the possibilities are endless. An app that connects to GitHub and lists all of your pull requests that you need to review and allows you to review them in a rich editor straight from your browser.
- AgileBoard – an app that allows agile teams to perform retrospectives anonymously in a web application and export the results to a GitHub repository.
I hope the list of ideas has given you some inspiration away from the less conventional projects. The best way to evolve as an engineer is to keep building and learning.