Live data from Hacker News

I learned Unity the wrong way

darkounity.com

51–60 of 124 posts

Re: I learned Unity the wrong way

#51
post #5

What nobody told him is that it doesn't matter. The most beloved games have the shittest code. The goals of getting a job in the industry, and making a game people love, have completely different requirements, with surprisingly little overlap. --- As for the latter (game industry requirements) I read this article a while back. https://lazyfoo.net/articles/article11_top-ten-mistakes-game... There's a great list of Fun…

That list missed the biggest mistake all Game Programmers make: They write code for the games industry. If you can program a videogame, you can program a shitty webapp, and the shitty webapp industry pays twice as much. Video games are great, but that's an argument for making your own game, not working for the soulless meatgrinder that is the games industry.

Re: I learned Unity the wrong way

#52
post #29

Extremely well-written and honest post. The struggle with being self-taught is that you don’t know what you don’t know. This is probably even worse in areas like Unity, where the coding part is sort of a sideshow to the main event. Nowadays the problem is you lack the discernment to evaluate AI output. I wrote The Conputer Science Book ( https://a.co/d/01e62STx ) to act as that basic building block and help orient se…

The struggle with being self-taught is that you don’t know what you don’t know. yes, but he knew. i mean he should have known that he used stuff without knowing why. i am mostly self taught too, and i agree with your statement, but i don't see an excuse for using stuff and not trying to understand why. i mean sure, when i follow a tutorial , at first i'll copy things i don't understand, but do that a few times, under…

> he should have known that he used stuff without knowing why.

We all use stuff without knowing why. Many of the folks on here are deeply curious people who love learning about the world around them, especially for the tools we use in our daily careers and hobbies, but even then there's a huge number of things in our lives that we just do because it's what we do and it works. If you went to a "being a person" interview, and they asked you why you used a bow knot to tie your shoes and what the pros and cons of it were versus other knots, would you really have an answer?

Re: I learned Unity the wrong way

#53
post #5

What nobody told him is that it doesn't matter. The most beloved games have the shittest code. The goals of getting a job in the industry, and making a game people love, have completely different requirements, with surprisingly little overlap. --- As for the latter (game industry requirements) I read this article a while back. https://lazyfoo.net/articles/article11_top-ten-mistakes-game... There's a great list of Fun…

> The most beloved games have the shittest code Do you have data supporting that? My favorite games (Factorio, Noita, Song of Syx to name a few) all share in common devs' passion and expertise. I don't have any example of a good game with shitty code.

Undertale is the oft-quoted example.

Hell, Minecraft is a perfectly good example. It's code is a mess, but it made it's developer a billionaire, and has to be one of the most played games ever.

Re: I learned Unity the wrong way

#54
post #49

Earlier quoted context omitted.

Ugh... we have a new colleague who does this repeatedly. Most recently, I said in order to build, you need to do this: - git clone - git clone - git clone What do they do? git clone repo1, 2, 3 without giving parameter, which clones into default folders named after the repos. Build fails of course because repo1 depends on repo2 and 3 being named specifically. He sends me the error log (remote colleague, yay) and I sa…

Sure, that's frustrating. But you know what's also frustrating? Code bases which involve multi-step manual steps to build. You should be able to get a working local environment with a single command. You should be able to get a working local build with a single build command. If you have depedent projects, they should either be in a monorepo, or delivered through a packaging system so they are not depend on the speci…

I agree, and there are other fun gotchas that even more frustrating and convoluted. But everything is thoroughly documented and I even explicitly pointed out those potential issues before I gave them the assignment. When the errors first occurred, I pointed out the fix, which was ignored, multiple times. Should it be that difficult to rename a couple folders? The compiler errors were fairly easy to understand: can't find repo2. Is that too much to expect from someone?

In an ideal world and in retrospect, you are right. But the build process is very old, created by someone long gone, of which multiple projects depend upon, each with minor tweaks and always reliant on the same hard-coded paths which IMO isn't that bad and can easily be rectified - it's really not worth the time or energy to allow dynamically named folders, not to mention dangerous since it's a critical production system that's worked forever. Nobody wants to break a running system, nor has the time to clean things up properly, especially since there are tons of build scripts that all rely on these paths, and trying to fix all of them would be a huge amount of work, spread across multiple projects, all requiring sign-off from higher-ups who will never be able to justify the cost to fix something that already works.

Re: I learned Unity the wrong way

#55
post #49

Earlier quoted context omitted.

Ugh... we have a new colleague who does this repeatedly. Most recently, I said in order to build, you need to do this: - git clone - git clone - git clone What do they do? git clone repo1, 2, 3 without giving parameter, which clones into default folders named after the repos. Build fails of course because repo1 depends on repo2 and 3 being named specifically. He sends me the error log (remote colleague, yay) and I sa…

Sure, that's frustrating. But you know what's also frustrating? Code bases which involve multi-step manual steps to build. You should be able to get a working local environment with a single command. You should be able to get a working local build with a single build command. If you have depedent projects, they should either be in a monorepo, or delivered through a packaging system so they are not depend on the speci…

> If you have depedent projects, they should either be in a monorepo, or delivered through a packaging system so they are not depend on the specific local naming of other repos.

Git submodules is a thing ...

Re: I learned Unity the wrong way

#56

Earlier quoted context omitted.

Ugh... I've had two bad hires in two years that were exactly like this - if you can't follow simple instructions, how have you survived in this career for this long?

Ugh... we have a new colleague who does this repeatedly. Most recently, I said in order to build, you need to do this: - git clone - git clone - git clone What do they do? git clone repo1, 2, 3 without giving parameter, which clones into default folders named after the repos. Build fails of course because repo1 depends on repo2 and 3 being named specifically. He sends me the error log (remote colleague, yay) and I sa…

Dude, this sounds more like a build problem than a new guy problem. Your process sounds completely broken.

Re: I learned Unity the wrong way

#57
post #56

Earlier quoted context omitted.

Ugh... we have a new colleague who does this repeatedly. Most recently, I said in order to build, you need to do this: - git clone - git clone - git clone What do they do? git clone repo1, 2, 3 without giving parameter, which clones into default folders named after the repos. Build fails of course because repo1 depends on repo2 and 3 being named specifically. He sends me the error log (remote colleague, yay) and I sa…

Dude, this sounds more like a build problem than a new guy problem. Your process sounds completely broken.

Yes and no. My retort is here: https://news.ycombinator.com/item?id=47841520

Re: I learned Unity the wrong way

#58
Thank you for sharing your story, and I'm so glad it worked out in the end. This story however is also why algorithmic interviews and the supposedly "irrelevant to the real job" programming interviews are not going anywhere soon.

Having done a lot of hiring, it's surprising how many candidates do not actually know how to code despite experience and looking good on paper.

Re: I learned Unity the wrong way

#59
post #29

Earlier quoted context omitted.

The struggle with being self-taught is that you don’t know what you don’t know. yes, but he knew. i mean he should have known that he used stuff without knowing why. i am mostly self taught too, and i agree with your statement, but i don't see an excuse for using stuff and not trying to understand why. i mean sure, when i follow a tutorial , at first i'll copy things i don't understand, but do that a few times, under…

> he should have known that he used stuff without knowing why. We all use stuff without knowing why. Many of the folks on here are deeply curious people who love learning about the world around them, especially for the tools we use in our daily careers and hobbies, but even then there's a huge number of things in our lives that we just do because it's what we do and it works. If you went to a "being a person" intervi…

would you really have an answer?

actually, yes i would.

ok, to be fair, i have been sailing, so i learned a thing or two about knots, but i am also the inquisitive type that questions why things are the way they are. (your typical HN reader, as you say, i suppose). furthermore i have been moving around in the world a lot, which has naturally challenged many preconceived ideas.

i guess maybe my point is that being inquisitive is a natural part of learning and we should all be inquisitive when learning something.

i am unable to come up with an example of doing something without thinking about it, but i guess that is another case of not knowing what i don't know, or rather i can't think about it because i am not thinking about it.

Re: I learned Unity the wrong way

#60
This is a great, reflective article that made me think of specific situations I've been in with people in my career that did not possess the same level of introspection. They are everywhere, which is why those interview questions he mentions get asked.

Particularly though, this hit home -

> The interviews were not silent on my end. I was not freezing and saying nothing. I was pretending. I was trying to sound like I knew, hoping the interviewer would believe me and move on. They always knew. You cannot fake technical answers in front of people who have asked the same questions hundreds of times. Looking back, that performance was worse than just saying I do not know. It wasted their time and it delayed my own learning.

This is the thing that absolutely maddens me with some people who I have worked very closely with before. They don't know enough to know that they don't know, but either are so insecure or with outsized ego, they cannot admit it publicly, because that threatens their sense of expertise. They also aren't willing or able to do the "boring" work to catch up (that the author mentions at one point). The farther you go into your career without getting past what this guy went through, the worse it gets, and you'd be shocked how long some people can last living in this world, which to me looks like hell.

I've had people confidently tell me stuff about niche areas of my expertise I knew they'd never worked on in their life, and start trying to drive decisions around those things based on that fake expertise, and being in the awkward spot of "do I protect their ego, let them fail, or tell them to please listen to me?" But I found when you do the latter, it falls on deaf ears, because they do not know enough to even understand that you can tell the confabulated responses they give to questions tell me immediately they have no effing clue what they're talking about, so any feedback will just be interpreted as threatening or incorrect.

I'm positive I have done this in the past, not saying I am perfect, but entering a mid to mid senior part of my career now and having worked with a ton of different people, when I see it now, I'm very unsure how to deal with it. This guy, bless his heart because it's so honest, likely received tons of direct feedback he wouldn't or couldn't listen to.

Post reply on HN