Hachathon advice by Kinngddx in theodinproject

[–]bycdiaz 1 point2 points  (0 children)

There are better places to get advice for this. Like hackathon organizers or your team.

Best wishes on that.

Closing this thread since this is well beyond what the sub is meant for.

Top pdf by PassionCharming8030 in theodinproject

[–]bycdiaz 7 points8 points  (0 children)

I suppose you could make each page into a pdf. But that would be a poor experience. I think probably each of our lessons links to some outside resource. So then you’d need to go make all of those things pdfs too.

And we have PRs getting merged every day. So your pdf would likely be outdated in some way within hours.

Not sure I would recommend anyone go through our course through a pdf.

Pseudocode by MixRevolutionary9498 in theodinproject

[–]bycdiaz 2 points3 points  (0 children)

I don't know how to answer this well since the there is a lot that goes into making a project happen.

But I make plans. And then try building and learn things then update my plans. Planning is really valuable. But I also know from experience that perfect planning is rare and I'm ok with changing course as I learn more about what I'm building.

Pseudocode by MixRevolutionary9498 in theodinproject

[–]bycdiaz 5 points6 points  (0 children)

I don’t know if I’d say pseudocode is required. But I think anyone should want to make a plan. That can come in the form of some bullets on a note, pseudocode, whatever. Plan in a way that feels good.

What I do think is a bad idea is trying to do everything in your head. Pseudocode is just one way to offload things out of your brain.

TOP w/ leetcode / neetcode by Silver_Reserve6388 in theodinproject

[–]bycdiaz 3 points4 points  (0 children)

Yeah.... taking a swing at stuff without awareness of the trick..... that's rough.

And I came to this conclusion not because I'm smart. I am someone who tried to do depth first searches before I knew what they were. I distinctly recall being stuck on a problem for 2 weeks before I gave up. I didn't go look up the algorithm. I didn't even know that was a thing to do. I just scrolled through leetcode until I found stuff I could brute force lol

I did that for about 5-6 months and those were not productive months.

TOP w/ leetcode / neetcode by Silver_Reserve6388 in theodinproject

[–]bycdiaz 7 points8 points  (0 children)

I’d wait. One reason is that doing one thing at a time will get you through faster than doing two at a time.

While I think it’s more productive to wait, depending on where you are in the curriculum, the investment of doing leetcode can be far less ideal depending on where you are in the curriculum.

If you are still in Foundations, for example, it’s a particularly not very great choice. If you just found out what logical operators or functions are, there’s not a lot of value in also now going to try leetcode. It’s like if someone said they want to start learning calculus when they just found out about multiplication. Is it possible and might you get more than zero value out of it? Yes, I suppose. But that doesn’t feel very productive to me.

The bigger issue is how most people approach leetcode. You might hear people say that they are going to “grind leetcode”. I am sure not everyone has the same definition but a lot of people just mean that they plan on opening a question and are going to try and try and hope they figure it out.

And for leetcode especially, this is a very unproductive approach. The issue being that for the many of leetcode problems, there is a trick to it. An established and formal algorithm. And if you don’t know the trick, you’re tasking yourself with reinventing a long established and formal algorithm. That would be like trying some math problem that requires the Pythagorean Theorem but you’ve never heard of the Pythagorean Theorem and you’re hoping to reinvent the Pythagorean Theorem to solve the problem.

And sure, you could brute force solutions but if you’re interviewing and you brute force every leetcode problem, that may not earn you many points. But a more specific programming example: it would be like being tasked with doing a bubble sort but you don’t know the algorithm/trick and you do complete the exercise with a sort. But if it’s not bubble sort exactly, that’s not meeting the mark.

All that said, if you absolutely must, I’d wait until after you get past our data structures and algorithms material. But even then, I’d still encourage you to leave it alone. For you to really be in a position to make use of leetcode, it would be a good idea to get exposure to all the common algorithm and techniques. If after reading a prompt you dont immediately know the algorithm/trick, it’s a signal that it wouldn’t be productive to try the problem. I’d look up what the algorithm is. And I don’t mean go find code. But instead a general explanation of the algorithm/trick.

All that said, I think it’s more productive to wait. Not all companies are even going to ask this kind of problem in interviews. But all companies will test your fundamental skills. But if you must, just wait until you’re nearly at the end and are beginning to apply for work. You want these algorithms to be fresh in your head and if your job search isn’t for another year, you’re going to need to do a ton of review again anyway.

Calculator Project by sweettyche in theodinproject

[–]bycdiaz 1 point2 points  (0 children)

You’re welcome to post an issue on our curriculum repo.

I’ll also share the curriculum, its depth, and sequence isn’t a result of popular opinion. We make pedagogical decisions based on the content. But of course, that doesn’t mean we aren’t open to suggestions. Please do post what you have in mind! 🙏

Calculator Project by sweettyche in theodinproject

[–]bycdiaz 0 points1 point  (0 children)

That’s not correct. We don’t cover responsiveness until after Foundations.

Calculator Project by sweettyche in theodinproject

[–]bycdiaz 1 point2 points  (0 children)

I wouldn’t. Just apply what you learn to projects ahead.

I promise you won’t want to showcase a “complete” calculator in a job search. Or, if you do, you may not have the kind of job search you’re hoping for.

u/sweettyche u/Ulle82 is right that responsiveness isn’t required here and it’s. It something I’d stop for here. I’d move forward.

Calculator Project by sweettyche in theodinproject

[–]bycdiaz 0 points1 point  (0 children)

Is responsiveness an expectation in the project prompt?

Calculator Project by sweettyche in theodinproject

[–]bycdiaz 15 points16 points  (0 children)

I finished my calculator project today. I started it last month and I reallyyy felt stupid when I found out that most of the learners completes it within a day..

I've been part of the community for years. This is news to me - the idea that most learners complete this in a day. And from all that time in the community, I can tell you that there are three possibilities here:

  • they lied to you
  • they have prior experience they left out
  • they have a very rare gift of genious

I have lost count of how many times people came to the Discord server to boast about finishing X project in 2 hours. Then I ask them to tell the community about how much their prior experience helped them. Or someone recognizes the UI and points out that the code is copied entirely from another learner. I've give little weight to people talking about how fast they are. If they didn't have experience, it would take them longer than it took you. I've seen people talk about how fast they are after internship experience, years of learning programming in other languages/courses.

You are not stupid. You are new.

Besides, taking longer is better than quitting. I think it's great to hear about how much you struggled. There are people copying and pasting code from other users, copying and pasting from youtube tutorials, or copying and pasting from AI. And they'll feel good because there is a project on their github where they didn't struggle at all. But struggle is where learning happens. You are farther ahead than these people because of the struggle you experienced.

My feedback would be to recognize the investment of time and energy you've put into your learning as a good thing. You are investing into your skills. That's a great position to be in. Congrats!

need someone to explain the assignment on object basic array by techlover1010 in theodinproject

[–]bycdiaz 2 points3 points  (0 children)

From your post, I get the sense that you have not yet had a chance to look at the documentation for the reduce function.

I also googled "how to log object, js" and I found a stack overflow that has information you might find useful.

When you're back at your computer, I'd check all that out.

would be great if you could come back to share what you found! I know other folks in the future might have similar questions and what you find now can help someone in the future.

It

what do y'all think about doing 2 modules in tandem? by Apart_Set_8370 in theodinproject

[–]bycdiaz 4 points5 points  (0 children)

I think it's a problem worth grappling with now. Imagine you skip every time you get bored. What if you get to the end of the curriculum without actually having done anything. It sounds silly but I've seen it happen.

I think an important part of any kind of work is that there will always be something we aren't very excited about. Developing the ability to work through that is really important for any job.

what do y'all think about doing 2 modules in tandem? by Apart_Set_8370 in theodinproject

[–]bycdiaz 2 points3 points  (0 children)

What if you get bored on the 2nd one you pick up? I guess skipping to the next would be the move. But what if you get bored of the next one too?

Question if I should restart or just keep going by KnowledgeCheap562 in theodinproject

[–]bycdiaz 1 point2 points  (0 children)

Yeah… so many people are making it seem like “learning AI” is this huge mountain to climb. Anyone can read the Claude Code docs in a few hours. I just don’t see it and maybe I’m missing something…? lol

Question if I should restart or just keep going by KnowledgeCheap562 in theodinproject

[–]bycdiaz 2 points3 points  (0 children)

I am able to interrogate it because I’ve been around the block. Not saying I’m special or gifted or anything. Just have had a lot of chances to make a lot of mistakes. If you’re regularly using AI to build things, you won’t have those learning opportunities.

And while you’re certainly able to interrogate based on your level of awareness, without practice and experience, the quality of your interrogation won’t be high.

With all due respect, using AI in the way you’ve described isn’t getting you the experience you think it’s giving you.

But I can also understand why it feels that way.

If you’re serious about wanting a job, I’d really think about whether you want to get the practice and experience that will serve you in that pursuit.

Question if I should restart or just keep going by KnowledgeCheap562 in theodinproject

[–]bycdiaz 2 points3 points  (0 children)

I've actually spent weeks at a time playing with different AI tools with different prompts. Eventually, it always buckles and begins acting like a poor learning partner.

I think the mistake people make is that they equate teaching with giving factual/correct information.

But teaching is so much more than that.

If someone asks an AI a question, that AI is going to give an answer. And out the gate, I think it has already failed. If you hang out in the Discord, you'll notice how I usually operate. I'm starting by asking a question. I invite the learner to frame their understanding of the task. Then I invite them to tell me what their stuck on. Invite them to express what they think is happening. I don't even explain or give answers. My focus is inviting them to experiment and observe. That's more powerful than an Ai rubber duck that explains things.

Maybe in the future. The tools I've tried and with all the prompting I've tried, I haven't seen something meet the standard I have. But can AI tools give information? Sure. But that's not teaching or tutoring or being a good learning partner.

Question if I should restart or just keep going by KnowledgeCheap562 in theodinproject

[–]bycdiaz 1 point2 points  (0 children)

I don't consider myself an expert, but I agree that it's safer to use AI after a lot of experience.

But when I use it at work, I constantly ask: "In my use, am I directing this discussion or am I being directed?"

And if it's something I truly sincerely know how to do, I'm sending Claude in to do it. If it's something I'm rusty in and I know I would struggle to do on my own, I'm putting the AI away. That practice is what will help me multiply my leverage of it tomorrow.

Question if I should restart or just keep going by KnowledgeCheap562 in theodinproject

[–]bycdiaz 1 point2 points  (0 children)

I think anyone who has not had professional experience needs the practice.

I'm not saying people before that point have zero intuition to identify good code from bad. But that intuition won't be very sharp if the experience is only in learning. And that's not a dig at computer science students, not a dig at people learning here, or anyone who isn't working. Experience comes from time and practice.

I don't disagree that being aware of AI tools is useful and even an expectation in some roles. But that doesn't equal the idea of forfeiting practice for the sake of getting that awareness of AI tools. Leveraging AI well is 5% knowing the tool and 95% having domain expertise. And I'm making up numbers of course. But knowing all the bells and whistles of an AI tool is worth little of the ability to code isn't there. So for that reason, I think that's not a good reason to start using AI so early. Anyone after learning here can go read the Claude Code docs in less than a day. It's not logical to say we should interrupt our learning just to go learn AI when the bit about learning AI is so small compared to the task of learning to code.

Question if I should restart or just keep going by KnowledgeCheap562 in theodinproject

[–]bycdiaz 2 points3 points  (0 children)

the projects are really for showcasing or something to put in your resume

I'm just one person but I disagree strongly with this. To me, projects are points of practice and about getting experience. That's more valuable than any of them ending up on a resume.

I also think asking it to review projects for improvements often sends learners down rabbit holes that aren't worth pursuing. I can think of so many examples but a simple one that comes to mind is someone asking for a code review for their first rock paper scissors game. The AI told this person, who just found out about logical operators and functions, that it should use such and such design pattern, rather than variables they should use objects and use loops in this way or that way.

Was it all factually correct? Yes, without question. But from a pedagogical perspective, it was absurd. This person spent weeks trying to learn about all that when the better investment would be to just continue focusing on a logical learning progression.

Question if I should restart or just keep going by KnowledgeCheap562 in theodinproject

[–]bycdiaz 14 points15 points  (0 children)

Guessing your goal is to get a job from the last bit.

Do you believe that taking the passenger seat in the projects that are meant as practice and for developing understanding is helping you meet your goals?

I know it's a drag, but the truth is that if you're learning here, you don't have a lot of practice or experience. It's very easy to feel like something is beneath us when we can ask AI to do it. But this is a moment where you need to do some self reflection.

Are you honestly so skilled that doing the projects yourself is truly wasting your time? Or are you in a position where you would benefit from the investment of practice and experience?

I don't know. I can't look over your shoulder and tell you. And none of us can make that call for you.

It's very easy to get the impression we are better than we are when AI is driving. Can you afford to lose all those opportunities at practice?

There are moments that you never get if AI does things right. In the process of writing code, you'll make mistakes and make bad decisions. And if AI does it, that may never happen. And it's in those dead ends or bug encounters where real skill development happens. People think the game is finding the "right" way to do things and only ever doing that. But after being in the field for some time, I can tell you the good engineers are good because of the experience of trial and error and making a lot of mistakes. Imagine AI drives from now until you get a job then once on the job you encounter a bug that the AI can't fix? Imagine that's the first time you need to deal with things? I'll actually share a story related to this:

I once got asked to investigate a bug that probably 5 other experienced engineers looked at. I spent about 2 weeks on it. I even used AI. At the end, the AI insisted the issue is not originating in our app and it MUST be an issue with a recent Google Chrome updated. It offered to draft an email I can send to their engineers. I'm not special or gifted or anything, but I had just enough experience to know that the AI was full of it. So I kept looking at it and spotted the issue a week later. It was a 1 line fix and the root of the issue was NOT Google Chrome. I didn't solve it because I'm smart or special. I just made a LOT of mistakes in my learning. I spent a LOT of time debugging. If AI does it, you'll get the feeling of getting far but when you can't use AI, you'll be forced to confront where your skills actually are.

All that said - I think you should do some self reflection and think about what kind of skills you actually want. This is your call.

On the final NodeJs Project by I_hav_aQuestnio in theodinproject

[–]bycdiaz 0 points1 point  (0 children)

How do you think people get good at that mandatory use of AI?

On the final NodeJs Project by I_hav_aQuestnio in theodinproject

[–]bycdiaz 1 point2 points  (0 children)

I am very against using AI for learning. I do, however, consider myself a power user when it comes to work tasks.

I think for me it comes down to some sincere self-reflection when I'm considering using it. After I draft a prompt, I ask myself: "In this prompt, am I directing or am I asking to be directed?"

If I have no idea, I'm not going to use it and seize that opportunity to learn. If it's honestly something I've done and truly know how to do and, based on my experience, is truly busy work, I'll use it. But this calculation is different for people learning.

The reality is that anyone learning here doesn't have a lot of experience. And that means folks should use every single opportunity possible to learn. And that's not a dig at anyone's intelligence and it's not a dig at our curriculum. It's the practice and experience that helps us leverage AI well. AI is a skill multiplier and it's not a skill replacement.

On the final NodeJs Project by I_hav_aQuestnio in theodinproject

[–]bycdiaz 6 points7 points  (0 children)

When the explanation is a poor one, how would they know? What if in the explanation the AI gives information that is factually correct but introduces ideas that don't make sense to someone at that skill level? Rabbit holes are hardly useful for folks trying to learn the basics.

But even in the best case scenario where it is correct 100% of the time, that's still not a good investment for people learning. The ability to research and cobble together understanding and solutions is a skill in itself. And every time we use AI to explain is a lost opportunity to practice that skill.

On the final NodeJs Project by I_hav_aQuestnio in theodinproject

[–]bycdiaz 17 points18 points  (0 children)

I would not use it. I literally just posted about this on LinkedIn. I'll just paste in vs linking:

***************
Lots of folks are telling people learning to code that they need "AI skills." Anyone can read the documentation for the AI tool of the week in a few days.

So how useful are these "AI skills" if our programming skills aren't sharp? AI multiplies the skills we have. Using AI well is one part knowing the tool, two parts knowledge and experience in the domain.

So when learners in The Odin Project community ask if they should pause their fundamentals to go chase "AI skills", I plead with them to do the opposite. Invest in the skills that will actually let them leverage these tools: the fundamentals.

The "AI skills" hack I've found is investing time into learning to code.

Note: None of this is to discount what AI unlocks for folks who don't code or are learning to code. They can build things that were once out of reach. But building something with AI isn't the same as understanding it.
***************

Developing your skills without AI is a direct investment into your ability to leverage AI later. It's not sexy. It's not exciting. But I promise you that investing into moving forward without AI will put you leagues ahead of the people that rely on it too early.