Yes, you should use third party tools (just don't take credit for them, maybe even credit the tools used in the footer). In a real job, you would leverage third party libraries to work more efficiently, so you should do the same when showing off your skills.
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
Yep, someone that insists on writing everything from scratch is sort of a red flag to me. Web development is mostly about knowing how to use third party packages and building on top of that.
Insists != for practice.
I've been mulling a "reverse engineer" for practice. But yeah, for the portfolio, you want to use the same ethos as you would use in the job
Absolutely fine.
Could you imagine if every developer recreated the wheel for every project?
There are definitely companies like that out there lol, legacy tech can be horrifying.
Absolutely could! I've worked in a shop where that was the norm. It was not... fun.
Machine codes, yes.
That would be a demonstration of your ability with said libraries/frameworks. I don’t see the issue. Unless you are talking about using just the tools with little customization, then it wouldn’t be very impressive. Still not an issue tho.
Naturally the answers to your questions depend on who is looking at the website, but from my experience...
Does the ideology of ‘using other people’s tools to create a better product’ apply here in this context
Yes.
or would it be considered plagiarism?
Absolutely not. It's showing that you can incorporate the works of others to build something great rather than spend time reinventing the wheel. Nobody's going to look at your website's source (assuming you link to it somewhere), see a bunch of .ts
or .jsx
files, and think "oh this person invented Typescript/React/whatever".
Should you need to reinvent Javascript, your browser, your OS, etc..? Probably not, and as long as you're using something built by others to build your website (vscode, node.js, etc), there's no reason to feel like using a library wouldn't be the same. Also, for most real world projects, you'll be using libraries you didn't write. This is just showing that you know how to use them.
Where it would be unacceptable is if you claimed to have created those libraries/tools yourself.
It's only ethical if you build the server yourself from materials found in nature.
To program from scratch you must first create the universe
All of society is built upon the foundation laid by others. As long as you're not misleading people into thinking you created something you didn't, I don't see any problem.
You could have an "about this website" section that lists the tools and packages you used, and so on. If I saw that on a candidates website (a little section detailing how the page was made and crediting sources) I'd be insanely impressed. That's the kind of person you know you can work alongside.
Yes, of course. Just make sure you're abiding by their license, that'll tell anyone who cares how it may and may not be used.
Do i have to resort to coding my portfolio website with pure css and js to demonstrate my credibility and experience as a candidate employee?
If you did that, I'd think you're an idiot. Using libraries is standard practice.
Unless it's like a super minimalist web 1.0 vibe, like basically almost pure html barebones text.
Would you use them when building things for a client? If yes, then yes. No one gets mad at a carpenter for buying nails.
Absolutely not considered plaigarism - If i built a website using React + Material UI, that shows im capable using common industry tools. That also demonstrates (to an extent) familiarity with vanilla JS and CSS.
Everyone else uses website builders for their static websites, I don't see why I wouldn't. On the job I would expect you not to reinvent the wheel if you don't have to
Of course. It also shows that you know how to make use of third party libraries, which a lot of employers like to see.
but then why would they ask candidates to write functions like binary tree traversal from scratch during interviews? /s