Getting a job as a software developer, or web designer is now beyond just education and your resume. You need to prove your skills in practical terms. One of the best ways of improving your chances is to have a strong portfolio. A list of previous projects that you've worked on and are most proud of. Companies are looking for talented, smart and hard-working software developers, and the most in-demand skills are:
- User UI/UX
- Database design
- Basic DevOps skills (Git, Docker, Kubernetes)
- API Development
- SEO (Onsite Optimisation)
Here are a few example projects that can help you get that job at most tech companies.
1. A blog or Portfolio website.
Hillarious right?. But a blog is a place where you write about the stuff you care about. Or where you offer free tutorials to others. The importance of a blog is not the blog itself. But the content of that blog. So if you don't have a blog yet, just go ahead and create a blog or portfolio website.
Here are the steps to build your blog or portfolio website.
- Buy a domain name - A domain name is a unique name for your blog. For example, nerdlify's domain name is nerdlify.com. You can buy domain names from NameCheap. A .com domain name usually costs around USD12 a year or less depending on which domain extension you want.
- Find a hosting provider - Now to host your blog, you need a hosting provider. These providers vary depending on their servers. There are VPS providers and Shared hosting providers and all of them work very well for a blog. However, if you want to build your portfolio site in a custom way, then you have to go with a VPS provider such as DigitalOcean. They will offer you some USD100 free credits on DigitalOcean, so go ahead and signup for free.
- Build the blog - Now you have a domain, and a hosting provider, the last thing is building the blog. Depending on your skillset, there are many ways of building a blog. IF you are proficient in PHP, then Laravel or WordPress is your choice. If you're comfortable with python, then Django, and Flask are your choice. Remember the blog is about showing your skills, so if you're a web developer then you can take some time to show off your web development skills on the blog. However, WordPress is the best option for a blog because it is easy, and fast and you'll have access to thousands of free plugins and themes.
After you have hosted the blog, start wiring content that captures your skills. Maybe with time, you can actually monetise your blog.
2. E-Commerce or Classifieds website
E-commerce is booming in places like Africa. It's still in its infancy but it's booming and you may find yourself working for an e-commerce platform. Building such a platform requires a lot of things cush as user login and signups, shopping cart, processing payments, and maybe even communicating with external APIs like integrating with Paypal or Stripe. Also, building an e-commerce website user interface is an extensive experience, and you'll be introduced to a lot of concepts while doing it. So go ahead and start building your e-commerce store.
If you can't build a full-fledged e-commerce website, then you can resort to a classified website where there is no payment processing and sellers list their products, services and businesses for advertising purposes.
Here are examples of e-commerce or classified platforms which you may take inspiration from.
What to demonstrate: Design skills (tools you use like tailwind CSS), API knowledge, SEO skills, Database design and functionality choices.
3. API project.
APIs are becoming more important. As a software developer, you'll encounter the need to either build or consume an API. You can start with building a web scraper, and then offering the content you've scrapped (news, products) via an API.
What to demonstrate
- API authentication
- Data serialization
- Speed tweaks
4. Data Visualization
This is the graphical representation of data using charts, graphs, and maps. You can use the data from your e-commerce platform and combine it with your API skills to visualise the e-commerce data, like sales, product or user listings. This project will be concluding or consolidating all the skills you gained from the e-commerce project and the API one. One of the best tools for data visualization is python.
Python libraries you can use for data visualization:
You can create a dashboard for the e-commerce platform above and draw or show charts, graphs and maps in the browser.
5. Social Media Platform
This is a bonus project. After finishing the 4 projects above, you'll be good at a lot of things, project design, database design, API development, SEO and many other aspects of web development. This project will further test your database and UI/UX design skills.
List of features for a social media platform you can try to develop:
- User registration and signup (Online status)
- Basic chatting