Advice for a Software Portfolio!

twitter logo ・1 min read

Hello folks! I am working on making a portfolio for landing software jobs. For the last 40 days, I have coded calculators (a tip calculator, a shopping app and an area calculator), a couple of simple games (Mad Libs and Rock-Paper-Scissors), a shopping cart for websites and a simple bank account, all in Python. Any suggestions for future projects which might be impressive to display on my portfolio (which is at least somewhat beginner friendly)? Any suggestions to sites where I can display my portfolio on? Any advice for building a software portfolio is appreciated!

twitter logo DISCUSS (24)
markdown guide
 

Find a small non profit that needs something done. They all do.
Work with them to make the thing.
Display as part of your portfolio.
You've now demonstrated that you can work with a client, create something useful, and get it to be used.
If you can get a reference from then that is additional gravy.
And you can pick the non profit so you are working on something you care about

 
 
 

I'm about to do this (kinda) too. Instead of digging through non-profits I'm just looking around my neighborhood at crappy websites and I'm going to rebuild them then go to the business and offer to sell it to them. No idea yet if it'll work, but if they don't buy I'll still use it in my portfolio and if they buy then I'll make some cash while I'm waiting for that job to come rolling in.

Has anyone tried that? I might post that as my own question.

Thoughts?

I know people this has worked for. Plus lots of business have crappy websites, and they don't know much about them. My advice is to just re-use a website you've made if one company doesn't want it. Just swap out the imgs, text, and links and go for another one.

That's even better! Reduce the time to the next offer. Or offer it to x businesses and the first one wins. Just kidding-ish.

Your idea has a couple immediate use-cases. Like right now I need the money less, so I'm happy to totally build another site regardless of outcome, but if that were to change then repurposing should be my first choice.

Also if I'm especially proud of a website I may really want to see it published and again repurposing is a good option to make that happen.

Thank you so much Peter. Really smart idea. I'll definitely integrate your thoughts into my process.

Ultimately i need to be humble about the whole thing and just remember not to take things personal (rejection) or lose site of the real goal and that's a job (become down about things).

 

Here's my advice for making portfolios! For beginners especially who are trying to break into the field I think its super important to write it yourself without a template in order to show off your skills. For projects, build something that you are interested in -- you will be so much more likely to follow through!

 
 

Anita, I'm doing what Ali suggested right now.

Plus my add on advice is code with others. That was something I've been told and so I'm always trying to get feedback or do a small project with someone. Small projects aren't as amazing to clients or jobs as bigger projects, but I learn more by working with more people and also more people are willing to commit the time if it's 20-40 hours of total effort.

For example I'm working with a guy to do the JS30 stuff. We do 5 each week right now. It's light is 6 weeks of commitment and we discuss our code every Friday afternoon.

 

A good one I used in the past before building my own is gitshowcase.com/

It's got a beautiful design, connects with your GitHub account, and you select the repos to showcase. Super quick to set up.

 
 

Fwiw, a portfolio is more of an artist thing. If you want to be a web designer and deal mostly with small clients, ignore what follows.

As someone who hires developers in a large corporate environments (read: boring and soul crushing but pays very well), we'll look at your GitHub if you include it, but we're not going to give it much credence as we can't verify it's all your work. I might give points for open source contribution, but I'm not going out of my way to track it down (exact commits and verified account are necessary here). I know a number of peers who are of the mentality that your personal projects are all play and ignore them entirely.

We're still going to run you through the algorithms gauntlet, still going to have conversations on how you think about your work and the problems you encounter, and spend a lot of time on hackerrank/whiteboard problems.

I'm not saying don't do it, it's just not going to compete with a good school, excellent grades, good internships, comparable experience and demonstrable communications skills as a foot in the door.

My rec is if you do it, make sure it's your real work, it shows insight and it shows growth at entry level. If you have some experience, polish it, but don't make it cookie cutter. If it's in your github, you need to understand it, and be ready to explain, evangelize and defend it in the interview.

 

I wouldn't survive that interview. It's a goal that in a year or two I'll be able to, but what you just said would require so much preparation of things I don't use on an ongoing basis. (That's how I feel).

I'll definitely take another look at codefights though; I didn't like hacker rank.

 

I agree that UI focused sites are fine, but decide what you want to do. Working at a large company, the big help is around understanding the full stack. Create an app with an API that is hosted in Azure, AWS and Firebase, where the Ui uses a feature toggle to switch. Also make sure you understand how to create the database, and use authentication. OAuth is good, and have some complex data entry form with validation and business logic is better.

 

Github has it's own portfolio hosting option. Your URL ends up being ".github.io" which isn't bad in my opinion.

I just started getting into development in JS and definitely encourage you to design your portfolio from scratch. It provides a good bit of experience and showcases your skillset the moment someone lands on your site!

 

Portfolio: you can put link to your github to your CV. You can write article here about your projects or just one of your project - problems, solutions, future improvements. And there is that github.io that Oscar Romero mentioned earlier.

Projects: I don't know what you like on programming, so I offer some directions:

  • make some developers tools (base64 decoder, regular expression tester, ...)
  • try integration with some API (tinyjpg.com, ...)
  • parsers
  • data mining
  • log your activities (running, reading, cash, time)
 

Try making a series of demos on related, and even competing, technologies. For example, if you want to be a web developer, try replicating a very simple application with React, Angular and just HTML, CSS and JS to demonstrate that you understand the technologies and their differences. For backend, try the same with Node, Rails and Spring. Again, these are just examples but each project will follow a naming convention like --demo.

Examples:
react-oauth-demo
angular-oauth-demo
js-oauth-demo
spring-graphdb-demo
rails-graphdb-demo

Again these are just examples.

 

Choose the type of companies where you would like to get hired.
Put the portfolio somewhere where they would see it or send it to employees maybe they can recommend you.

Example: smaller companies may look on your local jobs listing sites, bigger ones may use the linkedin (so put the link there) and the big companies may probably don't look anywhere because they are overwhelmed by applications, so you have to apply directly (so put the link in their inbox).

 

All great suggestions to roll your own code via GitHub. I suggest to create your own "Software Digital Portfolio" via github.com/pmcgover/24dev-demo. It's an unofficial OSGeo addon to demonstrate and showcase your Software Portfolio via GitHub.

Go beyond simply displaying your code and show that you understand application logging, documentation and regression test suites. Give your perspective employer the option to view your code AND test drive your work.

 

Hey Anita,

Have you posted those projects in Github? Or any place where people can see you dev skills? I will recommend putting those projects in Github, create a personal website, which links to your Github account.

Another advice, I can provide you is to contribute to open sources communities. Contributing to open source will help you understand how some projects are laid out/ organized and it will increase your street cred in the development world.

When I first started my development career, I used to contribute to open sources project and did help me a lot in experience and during job hunting.

 

Send pull requests and try to get it merged to upstream is an awesome way to build your portfolio.

 
 

GitHub is a great portfolio site. You can show case your work and it allows people to see how you work by reviewing check-ins.

 

Here's a project that every business or non profit needs and shows of a variety of skills: a custom CRM.

You start of simple and make it more complex over time.

Classic DEV Post from Aug 25

What is a good team lead in your opinion?

What is the most important quality for the team lead?

Anita Olsen profile image
Software Programmer

Customize DEV by logging in

  • Follow users
  • Follow tags
  • Dark mode
  • Font style (like sans serif)
  • Notifications
Get Started