A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Separate names with a comma.
Discussion in 'General Discussion' started by Nsingh13, Mar 6, 2019.
Nah, its done under my company,but its not the main focus no.
I disagree with that assessment but as a "self-taught" I might of course be biased.
Based on working with various people who aren't self taught (they learned the "right way" (big 'air quotes' there)), it's been my experience that they just aren't as good at quickly getting to the core of a wide range of abstract problems. They have one skill set which they've honed to perfection, yet fail when presented with problems that fall too far outside of that very limited scope.
Programmers who learned the academic way seem to be the ones sitting around forums arguing with each other about "proper" methods of coding, while self taught programmers seem to focus on the full picture and just get sh!t done. Again, no disrespect intended, but that's been my experience having worked in the game development industry for a while now.
I'd have loved to know how many of the academically taught ones you ran into went through a private for-profit university or college. One major problem with saying that college students are better for every field is that game development has a high number of for-profit colleges that exist more to sell degrees than to make good developers out of students.
Virginia College is a recent example of a college that was found to be below the standards of a US college (which is saying something when you consider how bad the standards are for education in the US). Federal funding was cut and now the college chain is in the process of shutting down completely.
I was just talking with my wife about this very thing.
Most of great developers I've worked with over the years were self taught. Game development colleges were unheard of back when I started. Going to school to learn how to program games wasn't an option. We all learned on our feet. And some pretty damned impressive games came out of that as a result. Some might even say the best and most creative games ever came out of the time period when the vast majority of developers were self taught. I don't want to go there too much, because that's a whole other can of worms.
I understand that these days pretty much any job in game development has some sort of degree as a requirement. Either that or years of experience. You can probably guess where I think it's more important to put one's time.
Just want to add here... I'm not trying to step on anyone's toes. Everyone has their own needs and desires, and hey, do what you want.
My experience is the same. Though the first part of my career was in enterprise and industrial software development. And that was during the rise of enterprise and network software. Part of the problem with academic engineers is they weren't innovative and slow to adapt, primarily due to curriculums/knowledge years out of date. In the 90s new solutions were booming and it was dependent on creative types. Those that were self taught were the ones with the drive to discover. You need only look at some the best known pioneers in the game and computing industry to see that most were drop outs or BS degrees the most. (and often in other fields). The drive and desire is the key, and often that drive will outpace a formal setting. Most of that type quickly outpace and then pioneer. Often, back then, you were learning langs/tools that were unfinished or early stages, or creating your own. I have forgotten more languages than most engineers will ever learn. Granted that is due mostly to my age, having entered the professional realm during the digital boom.
Not really so much. If you have zero experience, it can be better than nothing, but (at least here in the Valley) experience is king/queen. Quality shipped titles, and references beat any degree any day, and "game development" degree/cert won't get you much more than a polite snicker when your CV is reviewed.
Strangely I know quite few engineers, which are self thought, with at most college degree, and decades in the industry.
Best people ever, to work with. And I am not refereeing to the game industry, where common knowledge is more accessible and much easier to learn.
I know some academics based engineers too, but really, it is only hand full of them as good, from each year. And mostly with some work experience already (not necessary from industry).
In case it wasn't clear, I do indeed very much believe it's better to actually jump in and start making games as opposed to waiting around for someone else to clear you for takeoff.
Totally got that. I was just commenting on the hiring practices in industry/large studios.
Yeah, and over the years I have seen alot of the code those that get S*** done produce. And often it aint pretty. Havent worked with larger studios, but seing all the rushed out stuff they produced of later years I understand they like people that get S*** done
I'm a self taught myself and it really helped me when i started to study my master of science. Best of both worlds.
But you are saying exactly what they were talkign about.
You are focused on theoretical application of code, versuus the people actually getting the code built and shoved out the door. Who cares if it was ugly? They got the job done and made the money. Which was the goal....
I mean, if these people had time to sit around and BS about their code, sure they could probably improve it or whatever, but it's a deadline driven industry. Nobody got time for best case scenario when the clocks ticking.
Tell that to all the clients I have helped turning around projects that were made under those circumstances.
But actually, that's irrelevant in this thread. What I talk about here is a mindset that's self taughts are missing. It doesn't involve design or programming patterns, that anyone can learn. It's about a mindset that only engineers have.
I feel like I need to chime in and remind everyone that software engineers aren't real engineers. Please leave us out of it. You may now resume your discussion.
i'm not an engineer and have no higher education. Therefore I cannot have a drive to produce clean, efficient, high quality work and continually drive my process of creating it towards perfection?
you dont need to answer that, obviously its a silly question. But when you add the word "only" to statements, things can get silly.
Software engineers aren't special.
I may read it wrong, but I got impression, you try insist on the fact, that self-thought people can not be good game programmers. Like "clean" programmers, despite if they deliver project, or not.
Does that means only master science in C#, or C++, or other language can be good / clean programmers? Because, by reading, self though can will have missing that knowledge.
What about game devs programmers for example, with completely different degree, or even without, which managed to deliver successful projects? Surely they don't teach Master Mechanical / Psychology etc. degree, about programming paradigms, abstractions etc Do you think they will be lack of important skills, for their project?
If so, I am a bit upset now, as I don't have degree in C#. So my programs will be messy by default.
Or maybe simplicity is more important ... ?
There is something called, "learning on the job".
*whereupon Ony sells her business and goes back to school to learn how to be a real game developer.
Pure nonsense. "Mindset" is vague term that has not been clearly defined to any adequate degree. Ironic, as academic setting wouldn't utilize such hand-wavy terminology. High level academic software engineers are primarily good for academic settings. Code should be functional and readable. Much more than that is wasting everyone's time. EVERY developer trashes/blames the predecessor's code. Guaranteed when someone else takes over your code the future, they are going to find tons of fault with it. That is just how it works. Patterns and styles change and differ as well as "standards". If you don't understand that now, if you continue in this field, you eventually will. It's a lesson that comes with experience. You have one in-progress game under your belt. If you manage to stay in this industry, let's see if you still maintain these beliefs after you have a dozen or so shipped titles under your belt. Right now it is a little "armchair quarterbacking".
Yea... well you have only been at that business for 20 years and, what... around 20 or so titles? So, really what do you know about the subject.
And more importantly, the "job" is always changing. I shipped a half dozen or titles before c# even existed. It's important that code does what needs to, as efficiently and performance as possible. Beyond that, it should be clear and readable and ideally have some documentation where needed. Maintainability in game development is largely a myth. Platforms (both deployment and development) and paradigms change over time. Tools take on more of the work over time as well. A good chunk of what you write will move to engine or other tool over time. Even more realistically, you will find better ways to do it (both specific and general) over time... or at least you should. If you aren't growing as a developer, you won't be doing it very long. Even Unity, as a tool, is replacing parts and drastically improving their project over time. Code you wrote several years ago isn't likely going to be of any value, except reference, today. That is why it is important to make sure it is clear and readable. It will often be faster and better in general to rewrite code using current patterns and knowledge.
And learning is also something that engineers are often much better at, thats basically what you learn at a higher education. To learn.
How do you become self taught without learning?
There is more than one way of filtering and learning information.
I couldn't disagree more. I never had a class in university about how to learn as a generic skill. It was only when I finished that I realized that studying for exams is a poor substitute for getting things done in the real world.
Years ago, I finished my degree (environmental engineering) and decided I wanted to do actual engineering instead. I managed to get a pretty much unpaid job doing computer vision for weed detection with no programming experience at all, and went to work teaching myself C++ and openCV. There were a bunch of things that I could have done better in the year and a half that followed, but I can tell you that learning how to learn was not one of them.
As for my university course, I can hardly remember anything about what I was supposed to have 'learned' there, and I consider it to be on balance a costly waste of time.
To be clear, I think universities have the potential to do great things for people, but in reality they just don't do very much at all. Even what they do give you, I think that there are far better and more efficient ways to get.
It's not a specific class, it's what the entire thing is about, it's why it's all theoretical and none practical. I haven't had any practical use of my education either other than maybe the data structures class.
But it have surely helped me being a better problem solver.
You know what I notice when I work with non self-taught people?
If they stumble upon something they don't know, how they react is generally "I DON'T KNOW HOW TO DO THAT! NOBODY TAUGHT IT TO ME! WAAAAAAH"
See? I can post stupid S*** too.
If there is a thing opposite to learning that is precisely what education taught me. I feel like the entire process is fundamentally borked. That's another can of worms, and maybe it's different in Sweden, but I almost feel like education, beyond a basic elementary level, almost encourages stupidity.
To be clear, I am talking about the system of education. Not education on theoretical level. Everybody needs to be as educated as they can. Which is why you shouldn't let schooling interfere with your education (who said that?)
Also formal education instills some useless mindsets. Like, if you try really hard and do things right, you'll get a good grade. Which of course the real world will teach you is wrong on all levels. Effort is nothing. It's only a prerequisite. In school, doing things right just means do what somebody told you. That's religion. That's not what it takes to learn.
Self education first teaches the student to be confident. They have to know that they can learn. Then they come to understand humility. They understand their own ignorance and the nature of the world. Now they are ready to read their environment and act accordingly, not tethered by useless notions of right, wrong, or any of that crap. With self education, results are the teacher and suffering is the lesson. This is a very natural way to learn. Even dummies can get smart with this method of education.
If you have only human teachers but have not learned from the real world, you'll always be going against the current and not understanding why things are so hard. You'll keep applying effort when nature is bashing you on the head saying "you're doing it wrong, dummy."
I do not know of a formal study on the subject, it's my own observation over the course of 20 years in the industry.
Though there are alot of studies on whats engineering mindset, atleast here in sweden.
It's even courses around the subject like
Here is a formal definition from the University of Uppsala (Google translate)
Definition of engineering Engineering is characterized by: • the ability to produce enough good within given economic and temporal frameworks solutions to complex technical problems by applying and obtaining necessary knowledge, • the ability to take a holistic view, ie the ability to see how the technical problem and its solution is part of a larger system and on the basis of it value and prioritize work efforts. Engineering means: • using knowledge in technology, mathematics and science, in combination with creativity and initiative, be able to develop new products, methods, tools and systems, • be able to independently, in collaboration with others, identify, formulate and divide problems, and based on this, seek knowledge to solve complex technical problem, • based on integrated theoretical subject knowledge, and with computers such as work tools, be able to model, simulate, predict and evaluate events, • to be able to design models and experiments on the basis of requirements specifications measurement and testing of relevant properties for products and designs, • be able to evaluate and prioritize different technical solutions in a holistic perspective.
Given some of the things you've based on your observation over those twenty years, this statement doesn't hold much water.
As much as those that have observed the opposite. Ive only said thats my view of the self taughts I have met during the course of my career, and my own education at that.
yeah i think everything you said was pretty reasonable and i know you know the difference between anecdote and fact, but every once and awhile you throw in little words like "only", as in "only engineers with a degree....", and stuff like that gets people all riled up.
Right, so it appears this 'self-taught vs academics' debate is still a thing. First of all:
This. Drive and desire to learn as well as to perform. A couple of thoughts/observations:
Universities and formal education are a lot older than the internet or telecommunication. Vast libraries and groups of knowledgeable people were the best collection of knowledge & wisdom you could get for a very long time.
Some people just learn better within structured programs and with tutoring. Except for the whiz kids and those drive people, learning complex stuff off the internet on their own probably isn't most people's thing.
People with formal education can be self-taught as well. Under which category would you label a chemical/process engineer who picked up programming on the job?
There generally seems to be a push towards more college degrees, because maximizing the amount of people with degrees appears to be desirable somehow?
This debate has been labelled self-taught vs formally taught so far but it really appears to be about theoretical knowledge vs practical experience.
Which is kind of pointless. You need both in most fields. It's just the percentages that differ. Drastically.
Programming (and game development in general) is something where practical experience seems to trump theoretical knowledge. Which is fine, though, because there's basically no cost in trying, except for time spent.
However, in a lot of engineering contexts, there's a lot of theoretical knowledge required for the domain knowledge. Sometimes literally rocket science. Which, sure, is something you might be able to learn by yourself over the internet, but chances are higher you'll get something wrong and/or miss something crucial. Not that that's impossible in formal education, but chances are lowered by having your knowledge checked (exams) and ideally you'd be studying with other students and later on, scientific peers for some additional fact-checking.
Which leads me to this:
Possible to get a job with my current game development experience?
Hey, didn’t I say to leave me out of this!
I could probably wax lyrical about the benefits and disadvantages of formal degrees vs self taught experience in a chemical manufacturing facility. I could say something about how in general diversified teams that have both skill sets perform the best. I could talk about how real engineers appreciate that there are skills that simply can’t be learned from books, and will utilise insights from everyone to solve a problem. I could even tell anecdotes where elegant solutions came from some member of a team with neither a formal degree nor years of experience.
But I won’t. This thread already has far too many people who don’t work in games and with no track record of successful games. I’m going to bow out in favour of those who do games full time or have made millions of dollars selling games. To me, their opinion is worth much more than the guy who just does games as a hobby on the side.
Passion is absolutely most important, I would never hire a 9 to 5 programmer or someone that does not have a git repo with atleast 10 stars or similar. Goes without saying
Seems you are looking for technical artist path in game dev, perhaps you could do a job search on junior title of that within your location and contact them.
Depends on the responsibilities of title, not every junior TA position require bachelor degree, and companies has internship connection with university, may also provide part-time courses for trainee.
Maybe you are just unlucky seeing only web dev internships at the moment, sure there is a suitable position in game dev waiting for you.