Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

[Curiosity] Self-Taught Programmers

Discussion in 'General Discussion' started by zDemonhunter99, Jul 12, 2014.

  1. zDemonhunter99

    zDemonhunter99

    Joined:
    Apr 23, 2014
    Posts:
    478
    Greetings Earthlings!

    I have been with unity for some time now and I've come to adore the community. I've seen people post numerous difficult questions for which many of you have answered flawlessly and in a spectacular fashion.

    But this got me wondering.

    Now I am aware of the fact that many of the Unity developers come from a professional background with some or a lot of programming experience. They may have a degree in computer science or have received education of some sort. But I'm wondering how many self taught coders are out there and how much time did it take for them to make their first playable, completely genuine (meaning created completely by their own hands and did not borrow the code from someone).

    So the questions I would like to ask to you folks are:

    Are you a self taught programmer? If so, how much time did it take for you to really grasp Unity's concepts? What programming language are you accustomed to and did you find it easy to learn it? Are you going to continue on the rugged but the beautiful path of indie development? How old are you (this is redundant and you can ignore it if you don't want to announce your age) and what were/are you doing/pursuing?

    What about Me? I am an 16 year old (almost 17) indie developer with an odd 6 months of C# programming experience. I have yet to learn a lot about unity and C# and yes, I do plan on continuing with unity (for the rest of my life If I can help it). I am currently pursuing Chartered Accountancy because I am more of a Commerce guy. (I love coding, don't get me wrong)

    So what's your story? :)
     
  2. Per

    Per

    Joined:
    Jun 25, 2009
    Posts:
    460
    Yes, a few minutes, C++, probably, 37, graphic designer/programmer/money.
     
    Bivrost, zDemonhunter99 and superpig like this.
  3. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,451
    Well in brief I'm completely self-taught. Being 35, I started programming in BASIC on my Commodore VIC-20, moving right onto the C64c. Ironically, I was mainly doing PRINT and CLS to create little animations using the graphics available on the front of Commodore keys...

    ...and then fast forward to my late teens. After teaching myself everything to do with 3D art (modeling, texturing, rigging, animation) in 3D Studio Release 1 - 4, I ended up being a generalist at my first studio job at 18. Keep in mind back then there was no 'online tutorials' or heck, any online really. There were no books to read or buy, and no periodical ever had 'how to' articles. Completely self-taught by just loading the program and started pushing buttons to see what they did. Just to note, back then 3D artists for the most part knew every discipline of 3D art, but of course with varying degrees of ability. One thing that came rather naturally and unexpectedly was animation. Now this is important; I never set out to be an animator. When I applied for this job, I had to make a demo reel, and on a demo reel (for a generalist) there had to be animation, or so I thought. Regardless, it turned out I had an affinity for motion and character...

    ...fast forward two years after this, and I get my very first contract as lead animator for Legend Entertainments Wheel of Time. Heck 'lead' might not be entirely accurate...I was the only animator for most of development. From this point on I've never had a real studio job ever again. Stayed as an independent contractor, working on titles such as Borderlands and Bioshock Infinite of recent, all the while working on my own projects. This leads me to...

    ...teaching myself how to program! No fancy tricks, no courses and no books (well not completely true). All I did was take a deep breath, said 'this is going to happen' and downloaded Unity. Went through all their tutorials and, just like I did back in the early 90's when teaching myself 3D Studio, I just started pushing buttons, taking apart their example scenes and reading through each script to see why the code did what it did. This is one great testament to the power of Unity; being able to immediately see something work and subsequently learn (hopefully) from the action (or inaction). I picked up Javascript very quickly...people roll their eyes when I say this but for someone new to coding, I found it very straightforward and recommend it highly. I still struggle at times with C#, but I can at least say I can use it to some degree.

    Remember I'm not a programmer. I did BASIC programming in my adolescence, 'coding' little flip-book animations, and then didn't touch coding until 22 years later. I only made ONE tiny attempt at C++ in the early 2000's, mainly to augment my skill-set, but without direction it was just rote memorization and tedious and I learned very little. Having Unity, and thus making games be my direction, I was able to focus my efforts and immediately apply what I learned. This is the only way to learn IMHO; find a project or small goal, and learn to make it work. Reading a book on programming from start to finish will help a little, and doing the small tutorials takes you a step further, but to truly appreciate your education, you learn and remember more quickly by doing projects that you want to create. You're far more motivated when it's something you want to create, and far more excited by the end results. Sure I may end up lacking in fundamental areas, but I make up for it in a broad understanding of the craft, will always continue to learn and...bottom line...I have real games up and running right now, with my very own bread and butter character modeling and animation that I've been doing professionally for 16 years! Win-win methinks. :D

    Thank you for reading this far and I hope that was interesting for you or for whomever! Also I realize I wasn't brief at all, haha!

    Cheers

    -Steven
     
    blind11, Kilo01, gmyles and 2 others like this.
  4. Kinos141

    Kinos141

    Joined:
    Jun 22, 2011
    Posts:
    969
    I went to school for comp sci., but that still didn't teach enough for a career in software design, experience did. There is no faster way to learn than to complete projects.
     
    Stoven and zDemonhunter99 like this.
  5. Deleted User

    Deleted User

    Guest

    Trial by fire and pushing your limits, NOTHING is too hard / much (even though it might be :D)..

    It took about a month to learn C# concepts and I can see myself learning the Unity API for many years. I come from a C++ / C / Objective C background and I did do coding in education, but for all the good it actually did me when getting heavy into projects it didn't make much difference. So I'll say I'm self taught (mainly).
     
    zDemonhunter99 likes this.
  6. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,615
    I did read for a Master's degree in Computer Science at age 19, but I published my first game at age 14, so yeah I'm self-taught :)

    Unity took me a while to learn mainly because I was approaching it from a very code-oriented background and so I didn't 'get' the Unity way of doing things for a while. I remember playing with Unity 1.x when I was about 17 and not understanding how to do anything other than simple physics sims. Came back to it at 2.6 and (I actually wrote an article about this, if you're interested).

    Learning C# wasn't a problem as I'd been using it in web development for a while beforehand.
     
    Ony and zDemonhunter99 like this.
  7. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    Self taught programmer - learnt BASIC on a ZX Spectrum, then moved to C. There was no-one to teach you in those days, so you had to do it yourself. So I've been a C programmer since 1984/5.

    Unity was a breeze after understanding the editor and mono - which took a few weeks to come to terms with.

    (I would still rate C as the purest language [sorry assembler junkies] - so much clearer and more precise than C++ or C#)
     
    zDemonhunter99 likes this.
  8. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,962
    Self taught but If you ask me I'm not a programmer. I couldn't take a custom job, I don't have the speed; and I don't think I could work in a team.

    Other than that I can script my way around in Unity, currently only js.
    I'm self confident that I can stumble upon a solution for most problems, it's very rewarding and it gets a helluva lot easier and pleasant as I keep learning. I'm 31 and I'm working on a personal Unity project (mobile game).
     
    zDemonhunter99 likes this.
  9. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    Yep.
    I would really say around a year and a half to really "get" things and be able to accomplish my goals. However, it wasn't pretty code.
    I came from a Python background, working on little projects to learn before I came to Unity and this helped me with general coding knowledge. I'm glad I decided not to use Boo, and instead took a minor shift into UnityScript. Later, I would switch to c#, which also turned out to be a great decision.
    I'm still in my teenager years; I'm currently working on a plugin for Unity(see sig). Sooooo close to publishing. I hope to in the future, once I'm done with school move into the industry in some form or another. Starting a studio is the far fetched dream.
     
    zDemonhunter99 likes this.
  10. Marble

    Marble

    Joined:
    Aug 29, 2005
    Posts:
    1,266
    You can definitely do it. I studied Creative Writing as both an undergraduate and postgrad and see Unity as a high-potential tool for interactive storytelling. I dabbled in it that whole time but never had any formal training in any of the core disciplines: computer science, 3D, fine art, or design. Now, in my late twenties, I do contract work in Unity-C# just because I've become so familiar with it. The skills do sink in; the 'frustration' of coding transforms into addiction just like the 'frustration' of exercise does. It's muscular.

    I often bump into something new like, I dunno, lambda expressions that make me remember that weird panic that comes with learning abstract concepts. The panic never goes away, but it does become manageable, and the concepts are almost never as difficult as you expect them to be.
     
    TopThreat and zDemonhunter99 like this.
  11. MD_Reptile

    MD_Reptile

    Joined:
    Jan 19, 2012
    Posts:
    2,663
    I feel like self taught is kind of a bad way to put my knowledge of unity and programming in general, because really we all start out as script kiddies, copy pasting and decoding the work of others more so than actually learning "on our own" through say, trial and error. But I guess I'm self taught mostly, through watching tutorials, following scripting guidelines, and of course trial and error. Anyway I'm 26 now, a computer science student (yet to get into the classes to help me out in coding) and have worked close to five, maybe six years with unity, and frankly it's completely possible to become a proficient programmer by simply becoming a part of this community, and learning everyday new ways to program functionality and stuff into your own (hopefully small) projects. I find that like I did, many new unity users with little experience often take on huge miraculous projects with little hope to every complete them, and this takes the tread right off the motivation tires, and end up leading them away from this seemingly incredibly difficult task of game development. But those who continue through this trial by fire, learn, and grow into what might very well be the future of the industry. Those are my thoughts anyway haha.

    But yeah, I didn't have my first project (which DID include MANY borrowed and edited scripts) for more than six months. It was hard, and disheartening to have to struggle so much as a one man show to produce what amounted to an asteroids clone lmao. But I persevered, and to this day I've make more projects than I could count, helped other would be developers get their mind wrapped around things, and truly gotten a lot accomplished thanks to so called "self teaching" and would absolutely recommend anyone even partially interested in game design go down that path, and see how far the rabbit hole takes them.
     
    zDemonhunter99 likes this.
  12. SmellyDogs

    SmellyDogs

    Joined:
    Jul 16, 2013
    Posts:
    387
    I suspect that being a fan of anything most grow out of eventually; I wouldn't have associated the word 'rugged' with Unity/Indie.
     
    zDemonhunter99 likes this.
  13. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    How in the world could you read for a master's degree at 19? :D
    Maybe it just works different where i live hehe.
     
  14. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,437
    Yes completely self taught.

    In 2012 I knew absolutely nothing about programming. Decided I wanted to make a game. After a year and a half of "googling it" day after day, I feel like I finally was able to start doing things I wanted to do. I'd say it's takin me a year and a half just to really get started, yes.

    I felt like I had to first learn a few programming concepts. Then learn enough of the Unity API to be useful. Then how to put it all together. And that takes awhile. I'm still learning the Unity API by the way lol.

    I really like the reward you get from learning how to make things happen in the engine and through scripting/programming. I'm really liking it.

    What language am I using? JavaScript (so I guess you could say I'm only scripting not true "programming" but ya). Am I going to continue on the road of Indie development. Yes, as far as I know. It's been over 2 years now and I'm still as passionate about learning knew things as when I first started :)

    Am I doing it right? I have no idea lol. I'm pretty sure my code is about as "spaghetti code" as it gets. But hey....most of it's working haha.
     
    zDemonhunter99 likes this.
  15. randomperson42

    randomperson42

    Joined:
    Jun 29, 2013
    Posts:
    974
    No I was pretty much a programming expert when I was born.
     
    Davortes, Venryx, Ony and 6 others like this.
  16. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    Dammit!
    I was born to be a programming expert, but had to wait until the early 80s for the computing world to catch up with my latent genius XD
     
    Venryx, Ony, Flipbookee and 2 others like this.
  17. calmcarrots

    calmcarrots

    Joined:
    Mar 7, 2014
    Posts:
    654
    Heyo, self taught, started with c++, programmed for 4 years now, 16 years old, using unity for 2 years, working on my first *big* game which I plan to put on greenlight. I have made a lot of small games (I cant stand small games sometimes haha). Ummm, born on a computer hard drive, quantum processor in the back of my head, and pulse wave sensor in my neck (to read people's minds ofc). Im a nerd but not the ones that actually dress and act like one (unless im alone or with my friend hehe). yep.
     
    zDemonhunter99 likes this.
  18. Elzean

    Elzean

    Joined:
    Nov 25, 2011
    Posts:
    584
    If you want to be a good programmer you have to know how to learn by yourself, this skill is a part of being a good programmer. You will have to evolve with the technologies and new language anyway.

    There is no language easier than another, once you know the basics concept they are all more or less the same, the syntax is not a uge problem. Sure there is stuff specific to some language like C++ but nothing you can't learn yourself. Most important stuff will be how you build and arrange your code which comes with experience and personal preferences.

    So in the end all programmers are more or less "self taught".

    Another thing is don't be ashamed to use existing code, i'm not saying stealing of course, but if you see some assets on store or other resources that can help achieving your game it should be fine to use it. But you need to check other comments and verify that the quality is fine, you can use it, learn from it, modify it as you want. Many programmers tend to try to do all, it can be fine sometimes if you really want to learn something specific but don't do that out of pride. Some will go as far as creating their own 3d engine when you can use tool like Unity instead, it's then up to you to differentiate the good from the bad without reinventing the wheel. This is also part of being a good programmer.

    As an example, i worked on a flash app a while ago where i needed to morph pictures between several peoples faces. After some research i found framework for face recognition, a script for triangulation and another one to deform bitmap all from completely separate author / website. Trying to do those by myself would have take ages (honestly i don't think i would have been able anyway, face recognition is far too complex), but instead i used those assets and together i was able to build a program that triangulate the recognized faces of several pictures and deform each point of the triangulation to create the morphing. This kind of situation is far from copy/paste you still need to be able to understand each parts in order to put them together and do what you want, but i hope you get the point.
    This is also considering a professional environment, when you have 1 month to do something, sometimes you don't really have a choice anyway. If you are by yourself and really want to code everything you can, but if it's for a job you need to be able search and use resources at your disposal.

    edit :
    Even though i think it's ok to use existing code don't be lazy either, sometimes you see people asking for code of every little things in their game. There is a balance for everything :p
     
    Last edited: Jul 13, 2014
  19. Vanamerax

    Vanamerax

    Joined:
    Jan 12, 2012
    Posts:
    937
    I am completely self-taught as well. I started with learning myself programming at the age of 13 or so, took me like a month to understand the syntax and workflow good enough to write code on my own (basicly from 0 knowledge about it). After understanding the syntax, the unity API was pretty self-explanatory to me. Now 4 years later, I am writing in C#, but also understand and able to write in Unityscript and Java. Can partially understand C++ code, but if I really were to look into it I imagine I can pick it up within one or two days.

    I am currently getting into reflection, multithreading and version control etc. So I wouldn't rate my programming skills to be that bad. My major focus has been on procedural terrain generation (think voxel worlds). Have been reading up loads about that and am implementing my own voxel terrain engine (see my signature), where the challenge is not to get it working properly, but to get it working fast. There is of course still lots to learn.
     
  20. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,615
    I'm just that good.

    (Nah it was a four-year course. You could exit after three years with a BSc, or after four with an MCompSci)
     
    calmcarrots likes this.
  21. Taschenschieber

    Taschenschieber

    Joined:
    Jun 8, 2014
    Posts:
    238
    I'm mostly self-taught. I took a programming course at school, where we did some fun stuff with Delphi (like drawing some coloured rectangles in a window). That was ten years ago, and ever since then I have done hobby programming. I used Java for some time, dabbled a bit in Node.js and tried out this and that. I had a mandatory C++ course of maybe 20 hours at university, which achieved two things: a) I finally understand dereferencers and b) I'm pretty sure I'll never again write a single line of C++ unless forced at gunpoint.

    Now I'm starting to get into Unity and found it pretty simple so far. Switching from Java to C# didn't really offer bigger obstacles than the fact that in C#, function names start with a capital letter (still getting used to that). The Unity API is far more intuitive than I expected from what I've seen so far, but I haven't done more than a bit of Sprite stuff, colliders and manual raytracing and such things - no scripted mesh manipulation or own shaders or fancy stuff like that.

    My code probably doesn't stand up to professional standards, but hey, it works. Most of the time. And sometimes I even understand why. :) Besides, programming has always been a load of fun for me.
     
    zDemonhunter99 likes this.
  22. pete1061

    pete1061

    Joined:
    Oct 14, 2013
    Posts:
    67
    I'm 44, my intro to programming was on the Vic-20 & TRS-80 back in the early 80's. Computers we're a little harder to come by back then, so that slowed my progress. But by 1984, I had a TI-99/4A that I wrote some audio programs on, and a TRS-80 pocket computer that I wrote a slot machine game for. (I was 14) It was all in basic back then.

    I bounced around to different interests over the years, then started learning Java & Javascript in the late 90's and C# in the early 2000's. My skill level is merely hobbyist, I've never been paid for programming. Though now with Unity & the options available for indie publishing, I hope to sell my own stuff. If I can ever improve my focus and..... ohhhh look a squirrel!...


    where was I?

    Personally, I pick up on computing concepts faster & easier when self taught. I hate school, always have, but I like learning things. I just don't like the lectures, homework, due dates, people, in schools.
     
    Kilo01, Ony, Stoven and 4 others like this.
  23. SmellyDogs

    SmellyDogs

    Joined:
    Jul 16, 2013
    Posts:
    387
    You will have to post me the link to that course, I've not come across that option.
    On a side Oxbridge will give away a free masters along with the batchelors.
     
  24. Pix10

    Pix10

    Joined:
    Jul 21, 2012
    Posts:
    850
    43. The usual experiments in Basic and scripting as a kid (The Quill and Graphic Adventure Creator...ah memories!), but it was all about assembly back then, and we had zero info on computing in our school and local libraries.

    All that changed when the web appeared, and in order from the early 90's: Actionscript, Visual Basic, C#, Blitz Basic, javascript, php, MaxScript, Mel, Python, LUA (there's a pattern here, all art tools & game dev related), C & Objective-C for my first 'self-coded' native game on iOS. Didn't warm to C++. And back to C# with Unity, which I guess made it fairly easy to pick up...concepts I rather picked up as and when I needed to do things. Still ongoing in that regard :)

    All the above said, I don't consider myself a programmer... complex math isn't my strongest suite, and when working with 'proper' programmers who have a natural head for it, a lot more seems to get done a lot faster. ;) Work to your strengths.
     
  25. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,615
    Sure, it's this one. (Also, whaaaat, they offer the CompSci+Philosophy degree now? Bastards, where was that 8 years ago!?)
    Not as good as it sounds. It's not entirely free - costs about £50 - and it's only an MA, rather than anything subject-specific like an MCompSci. A lot of people know about it and so don't credit it as meaning very much :)
     
  26. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Borrowed my "rich" friends brand new ZX81 basic programming manual and wrote a game by hand into an exercise book.

    Then got a ZX81 and found my program didn't work. But then again most of the magazine based programs of the day I typed into a computer had bugs or typos/printing errors that caused your hours of work to give out strange and undocumented errors.

    Had a number of computers and programming was an interest with each, started a career in that took me in a different direction, but found myself using systems (paper based) and computers (for letter writing) and wanting to make the system better (make my job easier) and use computers to do it.

    Left my job and went back to school.

    So self taught as a hobbyist but realised that I would not be able to get a mainstream job in IT without an education so got myself a degree.

    Can I just say that just like the "lead a horse to water" saying an education establishment cannot make you learn, you always have to learn things on your own, but ideally it will teach you the best current practices and teach you the skills of learning.
     
    zDemonhunter99 likes this.
  27. AnomalusUndrdog

    AnomalusUndrdog

    Joined:
    Jul 3, 2009
    Posts:
    1,546
    Are you a self taught programmer?

    Yes. I'm also a college dropout and I took a course totally unrelated to my current work: Digital Arts, which basically touched on broad topics like skills so you could be a front-end web developer or a graphic artist (the guy who makes posters and brochures), and making sound effects.

    I failed 3 units, that's one elective. It was something about ASP .NET and was a Saturday morning class (so I was always late). Frankly, it was boring.

    By the time I got my grades, I was already working full-time with the company I intern'ed in (as a 3d animator). So I didn't bother too much about getting my diploma.


    What I can recommend is books. I would attribute them to be about 80-90% of my source of knowledge. Not everyone has the patience to go through books, but I do.

    Those "Teach Yourself" books by SAMS Publishing (the Teach Yourself C++ in 21 Days was what really gave me a head start as a student). Others I can recommend are Pragmatic Programmer, Code Complete, and you can check out more here, here, and here.

    Also, aim for international standards of quality.



    If so, how much time did it take for you to really grasp Unity's concepts?

    Can't remember, it was probably a few weeks to get the gist of it (e.g. component-centric system, everything is game objects, using CharacterController and all that). After that, the more time you spend with it, the more you learn solutions to things you want it to do. This was what I was making back then.

    I'd suggest aiming to make a simple game when trying to learn the engine, so you can see if you're making progress or not. The point isn't to make your dream game already, but getting your feet wet with the engine's API.



    What programming language are you accustomed to and did you find it easy to learn it?

    I'm used to C-style languages: C/C++, Java to an extent. So C# for Unity was a no-brainer for me. After finding out the equivalents (e.g. template classes <-> generics, std::vector <-> List), plus some new stuff I never encountered before (e.g. interfaces, reflection, LINQ), I felt like I have a good enough grasp on C#.



    Are you going to continue on the rugged but the beautiful path of indie development?

    Yup, I joined a startup indie dev studio, and I was pretty much their first programmer. I hear lots of horror stories with AAA. Like not getting any royalties despite selling 5 million on retail.

    Of course, indie life isn't rosy by comparison. Everything's got it's own pros and cons, but more freedom and less job stability is what I'm more comfortable with, as opposed to the reverse.

    I sweep the floor, wash dishes when the others are too lazy, and empty the garbage bin, and occasionally bitch about the water dispenser being empty again because someone was being lazy and too engrossed with League of Legends to place an order from the delivery service in due time, before I go back to being "Chief Technology Officer".



    How old are you (this is redundant and you can ignore it if you don't want to announce your age) and what were/are you doing/pursuing?

    I'm going 30 in a couple of years. Yeah I try not to think about it too much.

    Since you asked what I'm doing, I suppose this is an OK time for blatant self-promotion? :p

    We're currently making a desktop game to be released on Steam: Graywalkers: Purgatory. It's a part-turn-based, part-strategy game (think XCOM), set in a post-apoc world after the war between angels and demons.

    I'm the one who does the programming plus some occasional art needs, like the GUI skin, particle effects, animations, etc.



    You can check out the progress on my Twitter feed.
     
    Last edited: Jul 13, 2014
  28. AnomalusUndrdog

    AnomalusUndrdog

    Joined:
    Jul 3, 2009
    Posts:
    1,546
    Were your first words as a baby "printf Hello World"?
     
    Kilo01, Ony, Tomnnn and 3 others like this.
  29. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,822
    Let's see... I started with Applesoft BASIC waaaaaay back in the day and used a bunch of stuff from magazines to try and make my own little games. For a while it was all BASIC all the time until probably highschool, when I started trying (and failing) to learn C/C++. I took a class that offered WinOOT but that was about it for me. Honestly, I try and avoid coding as much as possible. It's the least fun part of game development for me.
     
  30. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    You can't really start your bachelor before the age of 18 in Denmark (which is rare). :D
    That is why i wondered.

    Anyways i started as self-taught programmer working with web-programming such as PHP for the fun of it.

    Didn't really get into games programming before i joined University.
     
  31. smitchell

    smitchell

    Joined:
    Mar 12, 2012
    Posts:
    702
    I'm completely self taught, I started with AS3 and then jumped into unity / C#, I'd say it took me around a year to actually make something without training wheels / borrowed code. I then went to uni; just finished first year, which was pretty pointless. Didn't actually learn anything that I hadn't already self taught. oh a I'm 20
     
  32. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,522
    I'm also a "both" person - self taught starting from a teenager, went to uni later on and thought a lot of it was pointless at the time. A few years down the track I now realize that a fair bit of it was not pointless at all. I can definitely see why you'd think that at the end of the first year, though - there was nothing even remotely challenging in there for me either.

    I actually think it's pretty important for self-taught people to do something to formalize their knowledge. Not necessarily get a uni education, but something. The thing is, there's a huge risk when teaching yourself that you'll miss things because you're not aware they're there to be missed.

    The good news is that if you're already self taught, uni should be a breeze. You can probably stay well enough ahead of class to keep doing your own things on the side too, and/or pick up some work. So you should come out the better for it in every way.
     
    Stoven, AndrewGrayGames and smitchell like this.
  33. randomperson42

    randomperson42

    Joined:
    Jun 29, 2013
    Posts:
    974
    No the first thing that came out of my mouth as a baby was a 5,000 line C# AI script for Unity.
     
    Ony likes this.
  34. minionnz

    minionnz

    Joined:
    Jan 29, 2013
    Posts:
    391
    I agree - It's one thing to know how to read and write code, it's another to write it well. It's very easy to get into bad habits when coding.

    I'm completely self-taught - the formalization part came with commercial experience as part of a team (eg: Comments like "Why did you write this? You could have just done XYZ()").

    I'm not saying you can't self-teach - just be aware that you need to keep on top of best practices, recommended conventions and design patterns. Keep reading, researching - even when you think you know a topic well.

    To answer your questions: Hard to say, but I'd guess that it took a few months part-time to grasp the majority of Unity's concepts. I haven't released anything in Unity - I work full-time as a C# programmer and have been programming for about 12 years now.

    I started when I was 18, self-taught in my spare time to build an online store for the company I worked for. I was able to get to a competent level pretty quickly (eg: a couple of months), but it always takes a lot of time (years) and experience to fully master a programming language.
    I had messed around with programming etc before that from a young age.
    And I still enjoy it today.
     
    Last edited: Jul 14, 2014
  35. smitchell

    smitchell

    Joined:
    Mar 12, 2012
    Posts:
    702
    Yeah I imagine things get more challenging / interesting further on in the degree. But first year as you said really was a breeze, which was awesome; gave more more time to enjoy the student life ;)

    I personally don't think programming can be taught by a teacher / lecturer, I think it's something you really need to teach yourself, I went to just one of the programming lectures at uni and the look on people's face trying to understand basics was pretty amusing.

    I've come a long way with unity, I've worked for quite a few companies. And I now work for a studio.

    Unity rocks!
     
  36. Yukichu

    Yukichu

    Joined:
    Apr 2, 2013
    Posts:
    420
    I taught myself to program C and C++ working on a MUD. It was a grand puzzle. Years later I picked up a book about C++ and was like... oh that's why it does that. I know how, never knew why.
     
  37. schragnasher

    schragnasher

    Joined:
    Oct 7, 2012
    Posts:
    117
    This mostly, just understand that good software design is a separate skill from simply learning to write code, as mentioned earlier, design patterns, good coding conventions and understanding the details of how a computer executes your code are very important skills not usually delved into within syntax based books. Schools can give you a boost in this regard, but it really takes experience and research.
     
  38. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,822
    I wound up going to school for Computer Science (and got my B.A.!), but I started, and to this day continue to be a self-taught programmer. I started with a 386 and QBasic and a dream of writing games.

    Self-education is an absolutely vital skill for the workplace. If you can't be a self-taught JavaScript developer, or self-teach a new aspect of C++, or self-teach some new pattern you'll have a hard time remaining competitive in the IT industry.

    In one way, I have to thank the crappy City of Temple's school district, where I grew up. They did such a poor job of teaching that to learn something I got in the habit of just going out on my own and seeking that knowledge for myself, instead of waiting for a teacher who didn't know the subject to find the most convoluted way to fail at presenting the information. While I'm sure your teachers were/are better than mine, make a habit of seeking stuff you want to know for yourself; don't wait for some teacher to present it to you, because as soon as you're out of school, there is no teacher.

    That said, you can't teach yourself everything. The other part to finding knowledge for yourself is knowing when to find someone who already knows what you need to. I'm talking less about formal teachers, and more about people who know and use what they're talking about.

    This was a reason I loved college; the professors I had generally had extensive experience with their field of study (for instance, my Comp Sci department chair was a theoretical physics major who managed to fly two Space Shuttle experiments measuring the details of hyper-velocity impacts of space dust, which he then turned around and wrote software to deal with.) From my experience, I highly recommend higher education. I sincerely believe that I learned more useful things in five years of college (I was a music minor, don't judge me) than in the vast majority of public education (though, as noted, that public education kind of sucked, so it's to be expected.)

    TL;DR - Have an adventurous spirit, and venture to ask questions. Seek out 'the masters' of your craft, and experiment freely in your own time. Learn all that you can. Don't be shackled by public school, there's a much wider world beyond it.

    ...And sorry for the public school rant. I'm in an irritable mood with that subject today for some reason.
     
    Last edited: Jul 14, 2014
  39. pete1061

    pete1061

    Joined:
    Oct 14, 2013
    Posts:
    67
    True.

    Even though much of what I know is self taught, I am on the phone regularly with a long time good friend of mine who works professionally at a Unity dev house in another part of the country. We'll be on the phone for hours talking about programming subjects, and from time to time I'll send some code his way just to give it a once over and give me some advice on what I can improve on. The dude really knows his S**t and I highly respect his advice.
     
  40. GiusCo

    GiusCo

    Joined:
    Aug 1, 2009
    Posts:
    405
    41, Apple //c as a kid (Basic), a module at Uni 1st year (Pascal) then self taught (C++) for scientific calculation. Now modding / expanding Unity (C#) and Corona SDK (lua) pre-made templates. That said, I don't like coding at all. :rolleyes:
     
  41. tiggus

    tiggus

    Joined:
    Sep 2, 2010
    Posts:
    1,240
    I'm self taught in that all the comp sci courses I got to in college I had already surpassed, but I never got to the stuff like writing your own compiler etc. I dropped out of college to take a programming gig at a early internet bbs(back then everything was C) which was fun for awhile. (oddly enough some of my earliest stuff was programming for a mud which I saw someone else had as well).

    I just started a new gig which is 100% coding despite having done little to none professionally for awhile. How fast you can learn and how fast you can fail is what is important(I think). I'll get a goal, blow through 5 bad designs/attempts to get to that 6th one that clicks after having learned the design pattern or even a new language a few nights before. Despite my distaste for it right now I am writing a lot of Javascript and getting better at it one project at a time.
     
  42. HolBol

    HolBol

    Joined:
    Feb 9, 2010
    Posts:
    2,888
    Self taught myself from about 13. Now at the level where it's my job.
     
  43. randomperson42

    randomperson42

    Joined:
    Jun 29, 2013
    Posts:
    974
    Truth right here.
     
  44. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,522
    Absolutely. A huge part of programming/software development is problem solving. If you can't solve new problems for yourself then you're going to have trouble. And the "new" part means that the problems you're solving aren't always going to be well researched or documented. There might not be anyone else to teach you.
     
    Stoven likes this.
  45. Cogent

    Cogent

    Joined:
    May 14, 2013
    Posts:
    356
    Started with a Tandy 1000 and Turbo Pascal. I guess that dates me a bit.

    Every coder over the past 20+ odd years is self taught to a great degree
    since the landscape changes so frequently. It's a J curve today more than ever.

    As angrypenguin says "A huge part of programming/software development is problem solving"
    Unless you're cloning/skinning/modding some existing project you're solving somewhat original problems.
     
  46. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,754
    Self taught too since I was 10, but had to wait until 11 before I touched the first programmable device - a TRS-80. Five minutes later it was running my first game, a guess-the-number "game" made in only 15 lines of Basic code :p You can't imagine how shocking was that for all the people in that room...
     
    Ony likes this.
  47. schragnasher

    schragnasher

    Joined:
    Oct 7, 2012
    Posts:
    117
    The guess the number game is well known to me. Good basic introduction as it involves variables, input and output as well as conditionals and loops.
     
  48. VIC20

    VIC20

    Joined:
    Jan 19, 2008
    Posts:
    2,683
    44, self taught, wrote my first lines of code in assembler on a Magnavox Odysee2 in 1982, then Basic on VIC20, C64 and then Amstrad CPC, sold my first game to a computer magazine in 1986, started with C the same year but hated the book I've used (no internet = no easy help). My first released Unity title took 3 months. My main Unity title is in the works since 5 years and 4 months now (24/7)
     
    Stoven and Ony like this.
  49. Mwsc

    Mwsc

    Joined:
    Aug 26, 2012
    Posts:
    189
    I am 33, started teaching myself C++ at age 14. Pretty quickly (months?) I was writing simple games like space invaders and side scrollers, using VGA from DOS and later DirectDraw in Windows95, before moving on to OpenGL and Direct3D.
    I decided early on that, for me, the interesting parts of a game were in the engine, in areas like rendering and physics technology. Art? story? maps? gameplay? those are just details. Thought I'd go for a career in graphics research, maybe invent the next great algorithm for better 3D rendering or realtime physics. Completed a BS and PhD, only to find out that a research career path was too full of big egos and nasty politics. Got a little older and lost interest in games, currently working in OpenGL driver development. 99 percent of the time I am using C++ and graphics knowledge and skills I taught myself. 1 percent of the time we encounter some advanced math from the academic literature and in those rare instances my formal education is useful.

    My advice for teenagers? Spend as much time as you can educating yourself. Work on making real programs really work. Figure out all the finicky practical details, spend all those hours debugging. Go to school as well, because employers want to see a degree, but school won't teach you how to be a good programmer.
     
    AndrewGrayGames likes this.
  50. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    ^ My wall of text is the bolded blue, responding to each question. My story is included.


    Just to note the time it took me to become a programmer is not well documented. I learned part time, alongside many other things in game development (such as 3D art and animation for graphics).

    I began a skilless, dreamy-eyed 24 year old who was only a gamer. After 2 years of learning, I was able to create some great looking 2D/3D graphics while learning 3D software, Unity, etc. Then I began to learn programming, which took me 1-2 years (I honestly don't remember how long).

    All of this while focusing on two goals:

    1) Be a one-man team. One of the biggest flaws in indie development that I read, was teams rising and falling while their games are lost into vaporware. I decided early on that I will need to do everything myself, because only I have the passion for my own dreams. I thought it was unrealistic to expect others to help fulfill my dreams, and my ego refused to allow the compromise that would result in forming a team (as you'd have to consider their desires/opinions, which would alter the game design. I'd never ignore someone, nor is that a good idea to try to make them your slave, hahahaha).

    2) My Life Goal: Complete my dream by the time I am 30 years old, which at the time was started when I was 24. I figured 6 years would be enough time to learn all the skills I needed, and then finish a game.




    I actually paused my dream game, to work on my current pixel art game. It is a smaller project, a sort of "test" for some features as well, and it quickly developed into an alternative dream (and one damn awesome sounding game).
    I have agreed with myself that if I finish this by the time I am 30, I will accomplish the goals I set for myself even though it's a different game with a completely different art style. According to my estimates, I will finish the game by the time I am 29 if not long before it.

    That means I'm 1 year early on completing my life goal!
     
    Last edited: Jul 16, 2014
    Ony and zDemonhunter99 like this.