I need some advice about what kind of project I can add in my portfolio. So far, my portfolio is built (I finished it yesterday). At the moment, what I have in there is some clones (following tutorials) and all the projects I’ve been completing in FCC (from Responsive Web Design to Quality Assurance).
I´ve been thinking about building something more “mine”, like an ecommerce website, but I don´t know how simple (or complicated?) I should do it. I mean, there is sooo maaany things, like search by category, customer rating, filter by this or that, wish list, etc etc etc… The idea of what should it have or not have is driving me crazy, as the more I think, the more are things I will have to learn while building it.
I´m also curious of what have you guys built for your portfolio. What kind of website, how complicated it was…
Portfolio is to showcase your skills if you don’t have relevant work experience. Creating an ecommerce website would be an overkill (although a great learning experience). I think you should apply for jobs and invest your time in doing take-home assignments and interviewing.
Regarding your portfolio items (clones):
Don’t ask for users to create accounts or log in. Make some dummy account that is logged in by default (I, for example, couldn’t create an account for your Instagram clone - no errors in UI, only Firebase permission error in the console).
Make links to the repos more visible.
If your code have tests, point it out in the README. Knowing how to test your code is an asset.
I think your already set on the idea you must build something that is yours, and I agree.
Companies usually like to see at least 1 project that goes beyond just a “clone” project. This shows you can go out on your own and build something. It might not have to go out and be the next Netflix, but it will show you can “put things together”.
The questions your asking now are important, and are also just as important as executing the idea itself. Defining what your going to build, how it works, and estimating how long it will take is an important aspect of software development.
I suggest writing down these requirements somewhere and referring to them while you do the project. Having your goals, features, ideas all in one place can help you later when you forget, or want to keep in mind how much you originally set out to do. If anything to give yourself an idea if your “doing to much”, or “doing too little” so for example, you "realize you totally didn’t account for ___ while building ___. "
Generally the most complicate you make things, the more “unknowns” start appearing. This should all be taken into account when starting out. Its one thing to know what you don’t know, but usually there’s a large amount of “unknown unknowns”.
Ultimately going out and building something of your own can be a very fun experience. Just set your expectations accordingly, and try your best to prevent scope creep, and keep what you setout to do small so you have a higher chance of finishing it in your estimated time frame.
One of the first projects I set out to build was a chrome extension that leveraged public NASA data. At the time I had limited experience with anything related to web development, and doing a chrome extension seemed “different” enough it would stand out. I also originally wanted to include vastly more complex features, such as physic rendering calculations and graphs, but threw all those features out due to the sake of time.
This project was for school so I only have a few months to put it together, along with deal with all the required documentation the class itself required.
Overall, the general application was rather simple, but I also focused on other aspects of software development, such as automated tests and automated deployments.
I used the experience primarily to learn things that would help me “stand out”, and branch out of things I learned/used in the past, which at the time was primarily Java and Python.
@jenovs Thank you for your advice! You are right about my portfolio. I´ve made changes, fixed the instagram thing and now it looks much better. Again, thank you very much. You saved me a few times this week
@bradtaniguchi Thanks for your response! I think from one side, I am afraid to make something too simple, because maybe that would look dummy, or make me look dummy. And at the same time, I’m afraid to do something too difficult and get so stuck that I won´t be able to move forward…
But yeah, basically I feel like is going to be hard to find a job because probably there is hundreds of people better than me, and maybe making something that is “mine” would make me stand out more, or give me a push.
You have all the resources you need to get unstuck online, it could be the actual docs, or getting external help/eyeballs on the project. This forum is a nice place to get unstructured open and help on projects like these. Being able to get help on parts you’re stuck at is a skill on its own. No one can get through everything perfectly, but with the help of online resources you should be able to find enough resources to figure out anything that stands in your way.
This isn’t to say stuff like this wont take time, which is something to consider. A larger project will take more time, a larger project dealing with more things you might need help with will take even more time. So plan accordingly, but do aim higher if possible, as you can always remove scope if things get too out of hand.
There are a few ways to increase your chances. Leveraging any pre-existing background experience can be helpful, along with networking and just marketing any advantage you could have for a job. Or if your working on your own project, making it on something that’s important to you can also help strengthen your desire to improve it, and thus keep with the grind that can be developing something from scratch.
There’s plenty of ways to help your built-from-scratch project stand out, and plenty more things to learn while doing so. Try not to get overwhelmed trying to do everything and anything, there’s always more to learn. Just keep going and grinding
It will be hard. And it is getting harder every day to get an entry level position. So whatever personal project you decide to do start applying ASAP. Also because interviewing is a skill that you won’t be able to learn on your own.