Hey, experienced developers! We need your awesome insights to help out newbie coders on their quest to build an impressive coding portfolio.
So, h...
For further actions, you may consider blocking this person and/or reporting abuse
Build a whole bunch of apps! Just get in the habit of coming up with ideas and starting new projects. It's okay to hop from project to project, especially at the beginning! Don't put any pressure on any of the projects being "good" or have "clean code". Just implement the lessons you learn to each project as you go. You can even build the same project in different tech stacks! Nothing is off limits.
What's important is that you get in the habit of building out your ideas. You're going to have bad ideas, ideas aren't going to be fully fleshed out, or bigger than you can currently chew, and that's all perfect! As you keep going, you're getting all the dirt out and cleaning the pipes. The more you can fall in love with the process, rather than the result, the better!
As time goes on, you're code will get cleaner, you're ideas will become more refined and you'll pick up tons of insights along the way! Then, you'll find it! You're diamond in the rough! You have the experience, lessons, failures and mistakes necessary to build it out!
At the beginning, it's important to have quantity of quality, 10 billion percent. As time goes on and you mature as a developer, the balance will naturally shift into quality over quantity. Don't rush this process! Putting too much pressure to finish something, or build a project with clean code, or make it scalable or any other advanced ideal you may have will sure lead to burn out.
Take you time, enjoy the process, not the result and just have fun! It will lead to the most innovative projects over time and benefit your long term success as a developer!
Once you have the reps, the mistakes, and failed projects and the graveyard of dead projects on your machine is measured in gigabits and you finally find that diamond in the rough, check out my project planning series here on dev! You can bookmark it so you can always come back to it later. :)
Another thing to consider in the same vein is read The Lean Startup. Find out what a minimum viable product is. When you’re building starter projects, aim for MVPs instead of something that’s fully fleshed and has all these features. It’s better to get your ideas out there in front of users to validate whether they’re going to work it not.
Yup! I cover MVP's in my project planning series as well. But at the beginning, it's not super important to define. Only after you have a graveyard of projects and have your teeth cut, does getting efficient at project planning become worth while. At the very begging it's just important that you do.
Nice tips. Still searching for my first job. But I've gotten into the habit of building random ideas that comes to my mind. It's hard, BUT I make sure to finish the projects even if it takes time more than expected. And cheers I just finished building a command-line app today: github.com/HayatsCodes/terminal-chat-app.
Nice!!! 🚀 Keep up the good work my man! I really like you experimenting and doing things in the terminal.
Funny that I see this article right when I said "F it, it might be the cleanest code but I got the project to work.". I am now ready to start a new project and its ironic how this article hits the nail on the head. Im going to check out that "Project planning series" article next. Great stuff Jimmy, I appreciate the articles!
I totally agree with this statement!
Nice tips thanks
Build whatever you want to build - whatever interests you. DO NOT just build all the 'you should have this in portfolio' type projects. There's nothing worse for a potential employer than to see a cookie cutter portfolio with all the same things they've seen a million times before. That doesn't set you apart, and any member of a hiring team who knows what they're doing will almost certainly give this type of thing no more than a cursory look.
I would generally advise against building a portfolio site (unless you have an idea for something totally original and interesting). I've actually rejected a fair few candidates because of their portfolio sites (riddled with bugs, obvious cut and paste jobs, inappropriate use of technologies, etc.) The general trend I seem to find is that the best candidates don't have portfolio sites, and the majority of portfolio sites I do see are usually just (if you'll pardon the expression) 'lipstick on a pig'.
I've always found an interesting and active GitHub/GitLab/whatever account to be a far better way to gauge whether or not I want to proceed further with a candidate... and I don't mean a massaged, curated account that tries to impress - I want to see warts and all... see your interests, your false starts, your mistakes, pointless graphic effects, half-assed experiments, crappy games, everything! It's pretty easy to see the difference between this type of account (that usually belongs to someone who is a keen, curious programmer), and an account that is just working their way through a "you too can be a programmer in 10 days" online course.
Your 'portfolio' (I hate to even call it that) should be a living, breathing, active representation of your talent and enthusiasm for programming - NOT a curated vanity project built simply with the intention of trying to impress.
Any advice if somebody wants to go in this route, not create shallow cookie-cutter projects, but is just the kind of person who also doesn't flood of personal inspiration (i.e. once they get their job, they'll gladly take tickets, but just doesn't have the self-motivated inspiration).
Any ideas to get started in the direction you're describing for someone who would otherwise be the type to go for, as you put it, generic portfolio projects? Ideas for bridging the gap for this type of person?
You have to separate yourself from the rest. We live in a completive world and the times are tough in the tech industry right now. There are lot of very talented developers in the job pool while more and more companies are implementing more layoffs and hiring freezes. They are all competing for the same number of limited opportunities right now.
If you don't have passion in the craft, if getting good isn't important to you, if you don't get the same enjoyment out of coding as you get out of video games, I don't know what to tell you. Keep practicing and wait a year or two I guess.
Coding is super fun and super cool. You can turn dreams into reality. You can help 100's of millions of people all over the world potentially. If that doesn't get you inspired, I don't know what will!
People who have this get by attitude (and are actually competent) are just surrounded by boring, uninspiring leaders. All it takes is the right person to get them rallied up!
If that sounds like you, check out my blog! XD I'll get you hyped for sure!
Couldn't agree more. I would also like to add, just build and don't worry about your code being messy. Showcase your work and keep your hands dirty!
Agree with your points. However, I wonder how many interviewers actually go through the trouble of vetting a GitHub profile and guaging it across the parameters that you mentioned (false starts, mistakes, half-assed experiments etc). Most of them are buried deep within the codebase and it would take quite some time to do a fair assessment.
A great way to gradually build on your frontend portfolio is to start a storybook project.
Every week you can create a new widget eg. a button, and before you know it you have the beginnings of a design system.
You can then use these components to build your personal portfolio or reimagine/reimplement a website you like.
Here's what I did:
I created a resume site to give an overview of who I am: austincoleman.dev/
And I also created a couple side projects:
reprecorder.dev/ - A workout tracking side project I'm working on right now.
Open in Chordify for YouTube Music™ - A Chrome extension makes it easier to open songs in Chordify directly from YouTube Music™, rather than manually copying and pasting the URL.
I think one of the biggest things that helped my productivity was creating a schedule for myself. I blocked on specific areas of times and decided what I'd focus on during those times. I also made getting exercise a priority and signed up for my local gym, scheduling that time as well. I feel like a rocket ship gaining more and more momentum. I'm hoping it leads to a new job soon.
Specialize in a technology, have experience and don't be a know-it-all.
Build a bunch of apps and put them on github.
By coding.