Live data from Hacker News

I will now send this to beginner programmers

headlinedev.xyz

61–70 of 76 posts

Re: I will now send this to beginner programmers

#61

Projects are great but there's a deceptively challenging step in "formulate a small and feasible project idea". It's really hard to come up with a small and feasible project when you're a beginner. First, beginners don't know what's feasible. To a beginner all of programming is computer magic. There's not a lot of difference to a beginner between training a machine learning system for classifying different apples and…

There's a common trope that everyones first game is going to be an MMORPG from scratch.

I always try to convince them that a simple puzzle game is a much easier starting point, no AI, no netcode, minimal animation and good use of programming fundamentals; arrays, conditions etc.

Or to take a Unity FPS starter pack and go to town with the asset store.

But they always wanna make an MMORPG

Re: I will now send this to beginner programmers

#62

Earlier quoted context omitted.

Note that the flowchart given (with its explicit instructions for beginners to back off —hopefully exponentially— upon discovering one has bitten off more than one can chew) may be applicable even for non-beginner programmers: Dealing with failure is easy: Work hard to improve. Success is also easy to handle: You've solved the wrong problem. Work hard to improve. — Alan Perlis.

To me the quote seems not to talk about backing off, but about working hard to get through.

True, as the quote wasn't aimed at beginners. Keeping in mind that I was running the opposite implication (that the same flowchart for beginners is still suitable for experts), the mapping remains, although we (pace the XKCD!) probably ought to make explicit what that improvement might be:

Dealing with failure is easy: Work hard to improve [your ability to identify what subset/spike of the project could be successful].

Re: I will now send this to beginner programmers

#63

Who are these beginner devs? Do people actually get a bachelors degree and proceed to not work in the field? Who are these people who take up a craft of creating software and need to be told to, create software, to get better at it? Presumably, people who get into this, already want to create stuff. If they have some other motivation, I don't want anyone telling them the 'secret' :)

A bachelors degree is an undergraduate degree, ie it’s designed to prepare you for a graduate degree. On its own (traditionally) it’s not so useful, but people still accept it as the lowest common denominator of education because the world is a much different place now.

Re: I will now send this to beginner programmers

#64
post #2

>Chat room helpers often will try and lead you to discover the right answer yourself. It may feel frustrating, but play their game and you will learn. This is the discussion level of the pyramid. I fucking hate this so much. You spend hours trawling through Google search results and finally decide the answer isn't out there. Stack overflow is caustic so you don't want to ask there. Hop on IRC and ask "how do I do X?"…

> Stack overflow is caustic so you don't want to ask there.

I have only positive experiences with asking on Stack Overflow. Nine times out of ten I have gotten a useful answer. In one case, an answer provided a 20-line code snippet, which would have taken me days to figure out on my own.

The key is to ask clear and focused questions, and explain what you have already tried and why it didn't work.

Sure, there are always some answers or comments which are unhelpful or which completely miss the point of the question. But the value of a QA forum is given by the value of the best answers, not the worst.

Re: I will now send this to beginner programmers

#65

" Create Project Idea " seems a rather unnecessary step. We already have a canon of CS exercises ( sorts/searches, trees/graphs, parsers, ray-tracers, etc... )--all of which can be easily verified against their more battle-tested counterparts, and serve as superior preparation for the inevitable leetcode interview.

Learners need projects they care about, project they feel ownership about. Most students aren't motivated to do some standard project. In formal education, we make them care about these standard projects by giving credit. But that sort of extrinsic motivation isn't that helpful for deep learning, I've found. It'd be better if a student has a problem they truly care about, somehow. Unfortunately, turning their need into a workable project isn't as easy as you'd hope.

Re: I will now send this to beginner programmers

#66
post #43

As a beginner programmer currently learning Django, the biggest challenge I have is working out how to structure data models (E.g what should be a separate model that is referenced with a foreign key, vs just a field, or a sub class etc) Does anyone have any recommendations for learning good practices when designing these models? But also not super academic data structures etc

That’s definitely a data modelling learning topic and not Django. (You just use django to implement your design decisions) I’m on mobile so can’t easily locate specific recommendations but if you Google data/database modelling/design, normalization etc you should find a wealth of info.

Thanks, will look into it!

Re: I will now send this to beginner programmers

#67
post #43

As a beginner programmer currently learning Django, the biggest challenge I have is working out how to structure data models (E.g what should be a separate model that is referenced with a foreign key, vs just a field, or a sub class etc) Does anyone have any recommendations for learning good practices when designing these models? But also not super academic data structures etc

There are multiple things that come to mind, that you can look into, perhaps find a good explanatory text or video about: ERM - Entity Relationship Model 1., 2., and 3. normal form for relational databases (usefule to avoid redundancy and designing it, so that it can be extended later, and avoiding pitfalls like non atomic values). User stories and thinking about, whether they can be comfortably implemented using the…

Thanks! I’m trying to define a product model which can have multiple types, each of which has required attributes.

For example a solar panel has to have a peak output, but no energy storage. But a battery type of product is required to have a storage capacity.

Re: I will now send this to beginner programmers

#68
post #30

Earlier quoted context omitted.

I found the book Exercises for Programmers ( https://www.programmingbooks.dev/#exercises-for-programmers ) to be invaluable to help learn new languages and frameworks. Beginners seem to appreciate it as well. It’s just an ordered collection of exercises that starts easy and builds up to more challenging ones. I can’t overstate the power of this simple book.

I really dig the list of books, thanks for sharing! Is that your site?

Thanks, yes, it’s mine. Makes me happy you like it and maybe will find some value from it.
Post reply on HN