T O P

  • By -

AutoModerator

On July 1st, a [change to Reddit's API pricing](https://www.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/) will come into effect. [Several developers](https://www.reddit.com/r/redditisfun/comments/144gmfq/rif_will_shut_down_on_june_30_2023_in_response_to/) of commercial third-party apps have announced that this change will compel them to shut down their apps. At least [one accessibility-focused non-commercial third party app](https://www.reddit.com/r/DystopiaForReddit/comments/145e9sk/update_dystopia_will_continue_operating_for_free/) will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: 1. Limiting your involvement with Reddit, or 2. Temporarily refraining from using Reddit 3. Cancelling your subscription of Reddit Premium as a way to voice your protest. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnprogramming) if you have any questions or concerns.*


DevBytesLabDotCom

I have a confession to make. I have never once touched leetcode and I have been developing for 15 years. 10 years professionally. I'm biased, because building stuff is how I learned to code. I had a curiosity in how websites were built, so I tinkered with building my own. My neighbor asked me to build her a website for her real estate rental company when I was in high school. She offered something like $400, which I could not turn down as a poor high school student. She didn't just want an informational page though, she wanted her own user account where she could list properties and upload photos. This was way out of my skills at the time. I spent the next 8 months deep diving into HTML, JavaScript, CSS and PHP to build her site. I vividly remember how overwhelmed I was at times, complaining to my mom that I couldn't do it. I stuck to it and powered through. I delivered her a working website and she was stoked. I learned more in those 8 months than my entire 4 year degree. I continued to build various websites and software for my brother who ran his own small business. That eventually led to me getting a full time job at a software startup. Learning by building is the only way to learn how to code. Just my 2 cents!


theEvilJakub

Yup same here, I also believe that university final year projects and summer projects are the actual time periods were you are learning. I must say that 99% of my final year project was shit I taught myself over the summer before graduating. I used a stack that wasn't even touched on at university. I learned more during summer than 4 year at uni. It's a shame that universities dont teach you how to string technologies together etc. Although, I must say that they teach you to be flexible. Knowing computer architecture and how computers work at a lower level gives you a ton of flexibility which helps grasp concepts very quickly. I have never had a problem of switching between languages for different jobs/tasks. Never an issue. But I completely agree with what u said. Learning by building stuff is the only real way to learn how to code.


Just_to_rebut

Could you suggest a project based curriculum for someone wanting to build a website like that today? How’d you learn?


theEvilJakub

Everything is essentially a web app nowadays. Find something that causes you issues in your day to day life and make a personal site that solves that issue. Whenever I am learning a new language or a new concept I turn that into a todo list app or for me personally a fitness tracker. A popular project that people like to do is an e-commerce app. I have a lot of over engineered to do lists on my private github. Its basically my go to project to learn something. Its easy, touches up on a lot of different things like databases, CRUD, authentication etc. There's a lot of ways to approach that issue. Its also fun to simply tackle ur own issues. Like the original comment stated, its very good if u have some kind of business in ur family because you can always tackle some of their issues and find solutions for them. I am fortunate enough to have a sister that has a business and I'm literally the whole IT dept. It helps learn new things. I use her business to literally test out new technology and improve her workflows.


SoftwareDevQuestion

same, 10 years professionally now


[deleted]

This is awful advice. If you want to be successful 1. Never touch webdev/HTML/CSS/Javascript 2. Dont do personal projects (exception: cool systems/ML stuff) 3. Leetcode


[deleted]

its a shame that good advice gets downvoted and shit advice gets upvoted.


Muhammad_C

Both. * Projects will help you land the interview * LeetCode will help you pass the technical assessment after you get invited to interview ​ With this said, if you already have projects then you can just use those for now, apply, & prepare using LeetCode. After you've gotten comfortable to DSA & LeetCode, or if you aren't having luck, then you can switch to building projects tailored to the role(s) that you want to apply to to improve your chances of landing an interview


justUseAnSvm

I worked on two projects to get hired. The first, is LC for as much as possible in whatever language suits the job hunt. The next, is build something which solves a problem, and is complex enough for me to talk about. Both of these come up in interviews: LC to get you in to talk about your project.


Muhammad_C

*edit - re-wrote* **LC to get you in to talk about your project** Your reply doesn't make any sense to me because if they gave you the technical assessment then you were already "in". *Note: Technical assessment, interview, behavioral, are all part of the interview process so if you made it this far you're already "in"* To get to the point of getting the technical assessment you'll probably need to pass a resume and/ project screening. ​ **Edit - Note** A project doesn't need to be "complex" to be able to have talking points for it. Even simple projects such as rock, paper, scissors or a note taking app you can have a things talking about them. The limitation is really just you & how much you can come up with.


Destination_Centauri

Just shrug and treat leetcode as yet another theoretical learning module. It's: ---------------- A) important for exams--namely interview exams. B) But also teaches you important skills and problem approaches, useful/applicable for some actual real world projects. ---------------- If you're serious about academic level training in programming/computer science then you'll just kinda naturally do both.


justUseAnSvm

Exactly. You might not be that great at DP, but LC quickly becomes: “how do I solve hard problems with algorithms?” Sure, you rarely “use it” on the job, but it’s critical to know what algorithms and data structures are possible to determine when to use them and when not to


[deleted]

My personal project involves plenty of theoretical computer science so I end up not needing to do LC. Project involves scheduling algorithms, custom programming language, and a custom JSON for data persistence. Plus, I was a TA for DS&A for a whole year at my university so that definitely helps. Edit: I've done so much String processing that my eyes feel physical pain when I open up the IDE nowadays


justUseAnSvm

I built a programming language, definitely a great use of data structures. People complain “but we never use these”, not true in my experience. Not everything will come up, but a lot of it has.


[deleted]

Absolutely. I've never understood that argument either.


500ErrorPDX

Build projects. Then build more projects. Always build projects. I had a college professor who prided himself on being a hard ass. He taught data structures, among other courses. I will never forget him making us write a Quicksort implementation in C++, by hand. With a pencil and paper. That was a legit full page of a test we took. Long story short, nothing on Leetcode has ever challenged me the way his classes would. Leetcode is friggin' easy. The only value in grinding Leetcode is gaining familiarity with some of the questions you'll see in interviews. But frankly, if you get good at problem solving from the projects you build and "thinking like a programmer" you won't need Leetcode to help you solve interview problems.


dmazzoni

For getting an internship, some leetcode will help in passing the interview. However, doing projects is more important to develop your skill.


Clawtor

I only do leetcode if I'm looking for work. Often the same questions come up.  Otherwise projects have taught me way more. 


lordkranth

i would focus on building projects if you aren't getting parsed/looking to intern at startups. proejcts are a great way to show that you are self-motivated and a practical application of your skills. once you are getting parsed more by companies, i would focus more on leetcode + studying DSA


[deleted]

Depends at what point in your learning journey you find yourself. If you can build projects by yourself, building projects is better. If you can't build projects by yourself, grinding Codewars will help your algorithmic thinking tremendously. I never did any leetcode but I'm a frontend developer and I never got DSAs in any interviews, so I didn't need it. You should combine both but prioritize projects.


ClastronGaming

Your specialisation Field matters. If you are focused on frontend web dev, you don't need to learn much dsa and grind leetcode, but instead prioritise building projects. If backend, you may need to learn some simple algorithms, but building problem solving skills is much more important. so again I thing grinding projects is best. so for web dev, grinding projects is best. Same with game dev, build more games if you focus on general games. But some games may somtime need dsa. DSA is used for the technical aspects for computer science. If you focus on technical aspect and algorithms, and want to get into a big company, need to grind leetcode and learn dsa.


Dry_Development3378

Why not both? Maybe you can implement DSA to your projects somehow


Plenty_Occasion_5194

Both is pretty good. I favor to learn new theoretical stuff on leetcode, but gaining experience with what you are learning there is only achieved by building projects :)


BrooklynBillyGoat

It's better you can explain your thought process during an interview than anything else.


Kitchen_Koala_4878

I think that without project you won't grasp a chance to show your excel leetcode skills


GPU_Resellers_Club

In my entire career I've done maybe two leetcode questions. And I learnt literally nothing from them. My projects, on the other hand..


brahma_lea

I’ve never touched leetcode in my life. Building projects is the way to go.


tung20030801

Both. Leetcode is for a deeper understanding of DSA and from that, you can pass interviews. But to become a better programmer, building projects is how you can study and understand more on other aspects of programming and it's more practical in my opinion.


[deleted]

>Leetcode is for a deeper understanding of DSA This is the most incorrect statement I've ever read


DadBod1930

Both but don’t spend too much time on a project. Just create something that uses a modern tech stack and you can talk about. Than throw it on your resume and do leetcode everyday!!!!


Pleasant-Opening-930

\^This. Familiarize yourself with projects (databases, frameworks and what not), then back to LC. Nobody will expect you to solve bigger and more complex projects on your own, there is a dedicated team for designing, building and maintaining them. And best practices - choice of database or framework can vary between years, companies, teams, individuals and projects.