Search Unity

Where do I go from here?

Discussion in 'General Discussion' started by Secret_Juice123, Apr 19, 2020.

  1. Secret_Juice123


    Feb 24, 2013
    Hey everyone. I've got a big post for you guys here, so grab your popcorn and get comfortable. I'd really appreciate your time and input as I express some things that mean quite a bit to me, especially in this funky time we live in.

    So, I've been plinking around with game development for a long time, years in fact. I probably have dozens of little prototypes, a couple of game jams under my belt, and a couple of tiny things I stuck on that I enjoyed working on. I've worked on lots of different types of games and mechanics with a few different engines and languages (Game Maker with GML[which I understand is similar to Ruby], Godot with Python, and especially recently Unity with C#) I feel really content having those experiences and saying that I can code with industry-grade languages.

    But, as with all things, time goes on and priorities change. Having burned through most of the cash I earned working in high school, I'm taking a warehouse job and putting serious thought into my future career. Having loved computers and game development throughout my life, IT seems like a natural field of choice. So I guess therein lies the problem: the field of IT seems WAY bigger and WAY more complicated than I had really thought before. To a newb looking into it like myself, it seems like this massive complex of terms and infrastructures that I can't seem to get my head around. I understand that it's normal for a beginner to be overwhelmed at this stuff, but I at least need some kind of map or compass to help me get navigated.

    It seems like my fundamental understandings of programming like what I learn in game development or even at something like Code Academy are minuscule compared to a ton of abstract concepts like "API", "Library", "Application", "Database", "Front-End", "Back-End", etc. I guess my real concern is this: I've got NO CLUE where my skillset of floats and bools and if's and else's and returns land on this foreign map.

    I have so many questions but don't know really where to start or where to look for someone at my level. How does someone like me move from basic game development coding to starting some kind of a professional career in IT? What area of IT does my understanding of programming fit into? Where could I go to find out more about how all these parts fit together? What certifications could be good to earn from where I am? What projects could I explore to practice these concepts and stretch my reach beyond game dev?

    I know I sound ultra-noob not fully understanding a lot of this, but I'd really appreciate any insight you guys might have in your experience and careers. Thanks for your time, guys.
  2. Devastadus


    Jan 27, 2015
    The very best way would be internship, at a company at some job you would think to find interesting, and learn on the job, this is probably easier through collage though I'm not totally sure how world works these days. Maybe since your interested and have skills maybe people will look at you. Once you will have actual work experience under your belt you will be more appealing to recruiters or sometimes the company will even hire you afterwards.

    Traditional IT is on the way out being replace by cloud such as AWS, Azure , etc. You can look at those do some tutorials learn how to make applications and host them there showing you have what it takes. There are also certifications for those cloud platforms too that certain employers will find favorable. You can find courses and do them on Udemy or any learning platform to help you learn.
  3. ZombieTFK


    Sep 6, 2016
    55 <- <- Follow one of those things :D

    It's fine we've all been there. Especially the self taught devs out there :) We live in a time where it's easier than ever to learn how to code thankfully and don't have crack out a dusty old tome and learn C anymore to get started.

    Code in game development is very... special, compared to the wider programming world. I think this comes from the fact most game developers don't actually enjoy writing code (And if they do they end up using something like libgdx) and game engines want a low barrier to entry.

    That said, it's all just practice really. Make a few web applications. Make meaningful commits to github once every day for a year (On a related note learn how to use git). Once you're comfortable that you can "Get the job done" on pretty much any task (even if it's janky as all hell), you can focus on refining your skill set. On a practical side you should spend time reading other people's code instead of just writing it yourself so you know what good code looks and feels like. If you want to dive into the theoretical side of things a bit more learn about abstraction, SOLID OOP design, functional programming, design patterns, there's loads of books out there for that stuff and so much more. Maybe consider ditching windows and installing a 'nix derived system for a while so you become more comfortable with the tooling (Package managers, build tools, version control, scheduling, generally just useful command line stuff). It's also important to talk to other developers. Alot. Go join some discord channels.

    Honestly, there is work available for pretty much almost all levels of developers as long as you have a basic level of competence. Sad truth is a lot of places are desperate to hire so the typical industry standard isn't great. Most professionals I know don't even code on the side at all, so if you have a track record of that is already a great start. If you know how to code but don't have previous experience I don't think most places would really hold it against you. It's just a matter of getting into the interview room at that point.
    Last edited: Apr 20, 2020
  4. EternalAmbiguity


    Dec 27, 2014
    This always intrigues me. 7 years since you created your account, and it's your first post. What made you create it so long ago, and yet not post anything?

    To answer your question:

    In 2014, I graduated from college with a BS in chemistry. In the final semester I took physical chemistry. The professor of that course had a pet "project" or topic called cellular automata, and he spent one class introducing us to complex systems and CA. I was interested.

    About the same time, I either read about or saw a video of Todd Howard during the development of Oblivion. He was talking about their NPC AI, promising grand things. Those things never happened in the game (I still love it though), but what I saw or read got me thinking.

    Some time after (look at my join date), I downloaded Unity and started dabbling. I didn't do too much at first. I started off with UnityScript, looked into C# a little bit.

    In 2015, I returned to school to do an MS. In my letter to the department I asked to work with that professor, and I was able to. He had a bunch of old CA programs, so I used those for a while.

    He had a couple other students at the time. During a conversation with one of them I mentioned my interest in computer programming. She was friends with a student in another group, and in that other group there was another student writing a computer program. My fellow student mentioned my interest to her friend, who mentioned it to the professor of their group. The professor of that group invited me to join her group working with her student building the program.

    I joined, half-and-half for each professor. I tried to get started helping out this student with his program. Thing is...the program was in C++. I was not ready. I'd had no programming classes, no experience with lower level languages. I dabbled with his code, but didn't get too far. But it did build up some confidence in my ability, which I needed for the next step:

    In my work for my first professor, I encountered a bug in one of his programs. I didn't have source code for the program, so I couldn't go in and try to fix it. But...I did have Unity. And a little bit of programming experience. So I decided to recreate the program myself.

    Here are a couple threads I made on that subject. I had so little concept of how to program that I wasn't even sure how to create a "grid" data structure. But I pushed through. I developed the program, and wound up using it for research.

    During the degree, I attended a poster session. I showed my work with the cellular automaton. During the session I was approached by a man in business clothes. I gave him the spiel, mentioned that I had created the program. He said something like, "We aren't doing anything like this, but we'd love to have you." He gave me his card.

    I finished up my degree. I started looking for jobs. Looked around for 5 months. At that time I got interviews with two different places: one job in the field of my degree, and another in a totally different field. This other one was significantly more money, but was very different (it wasn't coding)--it would pull me out of my comfort zone. I took the job. Oh, by the way, it was with the company of the man who gave me a business card.

    The project I was hired for fell through. I was placed on a couple different teams. My degree wasn't really applicable to our work, so I started writing code. C#. Python. A little JavaScript.

    It's been two years since then (almost exactly). Tomorrow (today...) I'm going to continue working on some MATLAB-to-Python code I wrote. I'll starting getting it multi-threaded. I also need to finish downloading a dataset so I can begin extracting features and running it through various ML models. I also have a Java program I just started working on to do something else for someone else. I've dabbled with docker (only a teensy bit though). The program I used for research? It's a WinForm app now (well, I remade it in WinForm, and then now it's a library I'm planning to integrate into a WPF app, when I get the time), and I just sent a message to my professor (who I still work with, even after getting the degree) with some results...ah...45?! minutes ago.

    I need to go to bed. But. There's no telling where life will take you. Build your skill set, and seek out opportunities to use it. I don't think there're any 100% guarantees I can offer you for how to find a job in this. The closest thing I can suggest is to look at how you can apply your knowledge to your current work place. Talk to your boss about how you can automate the Excel spreadsheet they use for inventory--or ask if you can handle the inventory management software your warehouse uses. Express an interest in setting up their new PCs with software. Seek out opportunities where you are.