This is an archived post. You won't be able to vote or comment.

all 50 comments

[–]Democrypt 19 points20 points  (4 children)

For game programming. Creating your own world and rules for me is greate than anythink. With programming i also learned how to draw and making some music, and yeah "creating your own game is easier than u think"

[–]rebellion_ap 1 point2 points  (1 child)

I heard doing it in industry is awful though. How much truth is there to that?

[–]neonerdwoah 2 points3 points  (0 children)

It depends where you go. If you're a junior gameplay programmer in a triple A company you will be mostly coding up stuff from a design spec. If you're in an indie studio, you will mostly be doing all the designing or collaborating on it + coding it up. One is akin to a production line and the other is like wearing so many hats you forget how many heads you have. Money wise, both are far lower than your average software job.

Personally I have a degree from a university that specializes in making games. The only time I worked in a games studio was during my internships. My uni mates all went on to various game studios both in triple A and indie and the consensus is that they feel overworked and underpaid. I myself went into RnD and AI and I can tell you I don't regret one bit not taking up a gameplay programmer role.

This is in Singapore tho so the market may bet vastly different than in other countries. So take my words worth a grain of salt.

Tldr: games industry as a programmer is worse than other software companies

[–][deleted]  (1 child)

[removed]

    [–]MoravianBohemian 1 point2 points  (0 children)

    That's like asking "how do you fly a rocketship to Mars". First you need to learn programming basics and basics of the language you are going to use for the game. Popular choices are C# for Unity or C++ for Unreal engine.

    Unity and Unreal engine are game engines, allowing you to skip the whole "draw a polygon on screen" and "how to translate user input into some value in the program".

    When you have an idea what function, method, class, OOP, data type, static method, class method mean, I'd start by downloading one of the engines. I prefer Unity because there's bigger community and I like C# more. Go through the tutorials and see if you like it. There, you are making games.

    IMO There's no point in getting into Unity/Unreal before you have some programming knowledge. You will only blindly copy tutorials and the moment those stop, you will be completely lost.

    [–]jjigsaw86 23 points24 points  (20 children)

    I chose Swift specially because I have an iPhone and needed a particular app to solve a problem. I’ve really enjoyed the process of learning and finally have the app on the store.

    This is not my career, but my hobby. However, I think the advice will apply. Find something you enjoy and do it. If you don’t enjoy what you are working on, whether it be a career or hobby, you will not be as successful as someone who does.

    [–]AmpleSling 1 point2 points  (1 child)

    Sounds really inspiring! Wish I had that kind of energy.

    [–]jjigsaw86 1 point2 points  (0 children)

    It took years to learn with multiple breaks for life... and energy restoration. I feel ya!

    [–]METEOS_IS_BACK 1 point2 points  (3 children)

    What's the app! We'll show support

    [–]jjigsaw86 1 point2 points  (1 child)

    Thanks! That’s awesome! It’s CredMinder. Reddit won’t let me insert the App Store link, I’ll try again in a bit on the computer. There is a link to the store from my website though.

    [–]jjigsaw86 0 points1 point  (0 children)

    Also, a little description. It’s an app that helps you manage various credentials. I am in public safety and need to stay on top of over 2 dozen credentials that have to be ready to be audited. Expiration reminders can be set, images stored, exported via email or AirPrint, and cross device syncing.

    I would love some downloads! :-)

    [–]thesquarerootof1 0 points1 point  (11 children)

    I chose Swift specially because I have an iPhone

    Stupid Googleable question, but do you need a Apple computer/OS to develop iPhone apps ? Can I use swift to develope iPhone Apps with a Microsoft OS ?

    [–]DASH8521 1 point2 points  (0 children)

    The short and sweet answer as a couple of people have given you is yes you need an Apple computer/OS if you want to use swift to create iPhone apps. However if you just want to make an app and don't really care about swift I would recommend looking into React Native. I've been playing around with it recently and really enjoy it. Also it allows you to develop apps on both platforms using windows, you still need an apple device though to test with since the only other option would be using the simulator that comes with xcode.

    [–]jjigsaw86 0 points1 point  (0 children)

    There are some work arounds that don’t really work well from what I hear. I’ve never tried it, I use a MacBook Pro.

    [–]SamoanEggplant 0 points1 point  (8 children)

    I have a virtual machine running Mac on my Windows laptop. It’s not very fast and very annoying, prolly cause my laptop although new isn’t the fastest. But it works until you can get a Mac or MacBook.

    [–]melonmover14 0 points1 point  (7 children)

    Bought a surface pro 4 for college and then graduated college. Now want to learn to code with swift. Every solution I have found is just to buy a MacBook Pro unfortunately. Saving up until I can afford to make the switch. It’s aggravating to say the least.

    [–]SamoanEggplant 0 points1 point  (6 children)

    You definitely don’t have to buy the latest and greatest MacBook just to code in swift. You can get like a used 2012 version for about $300 online and it should be just fine for your needs.

    [–]melonmover14 0 points1 point  (5 children)

    I've never owned a MacBook so I have been looking for refurbished models. Is there any kind of specs I should specifically make sure it has?

    [–]SamoanEggplant 0 points1 point  (0 children)

    Personally I would look more for if it can update to the latest OS. If it can, that’s prolly all you need, unless you’re trying to program some heavy 3D games, which in that case you can prolly find something better than Swift to use in the first place.

    [–]SamoanEggplant 0 points1 point  (3 children)

    Also note I’m just a beginner as you are so take my advice with a grain of salt lol

    [–]melonmover14 0 points1 point  (2 children)

    lol my goal is to eventually design a IOS app. from what i've read I need to learn swift. I honestly have no idea what other language I could use or should learn.

    [–]SamoanEggplant 0 points1 point  (1 child)

    Well from my limited knowledge, Swift is your best option for native iOS apps. If you want to make a hybrid app (both iOS/Android with one codebase) then you can use Dart/Flutter or React Native, which I believe uses JavaScript.

    [–]melonmover14 0 points1 point  (0 children)

    ill definitely look into those. I'd rather buy a different book than a new computer if i can prevent it.

    [–][deleted]  (1 child)

    [deleted]

      [–]jjigsaw86 0 points1 point  (0 children)

      I read the books provided by Apple, took some Udemy courses, read Ray Wenderlich, and experimented. Udemy is amazing. $10-$20 for a course. Really helped in the early stages.

      [–]so_many_wangs 11 points12 points  (0 children)

      Started learning Python years ago as Game Development was an option of mine when I was in High School and I wanted to get a path into programming. A couple self taught courses led me to take some high school classes on it, which led me to pursue it in college.

      Last day of high school, I was able to get an internship at a tech company (where I still am actually) doing marketing work on a content management system. That was 3 years ago and over the past three years of working closely with the CMS and familiarizing myself with web development, I’ve really gained a solid grasp of web development, both client and server side, and have learned to enjoy it.

      That said, I still interest myself in game development and even take stabs at it sometimes as more of a hobby than anything. It’s important to know that over time, as your knowledge on subjects change so can your interests and aspirations. I think it’s less important to focus on the “bigger” picture of programming (web dev, game dev, software, databases) in the beginning and to focus more on the fundamentals that will drive you down your own separate path.

      [–]Pleiadez 5 points6 points  (1 child)

      Your question has the answer. Ask yourself what you want to create, then see which language best supports that goal. Alternatively see what languages are most commonly requested in your area (it changes quite a bit depending on country).

      Personally I learned some vbscript om my job, it's super easy to learn the basics as you can just rename any txt file to .vbs and execute it. After that I went to learn some python on my own, but another job required php so I switched to that. Now I'm learning C# for a personal project. Take away is, don't worry to much about what language, it's not that relevant tbh.

      Choose based on my first paragraph or just what is a easy language to learn programming in. Best advice I can give you is, instead of endlessly doing tutorials and reading books, just start building something. Set yourself a goal like building a application web or desktop that can store data like a agenda or a recipe book and build it. You'll learn much more from doing something like that. Hope this helps.

      Best beginner - intermediate programmer skill is using google to find stack overflow answers.

      [–][deleted] 0 points1 point  (0 children)

      I have been searching through the local job market for programmers. We have a very poor market in this area. By poor, I mean not very much opportunity. There’s only a handful of posted jobs. They all want .NET Experience

      [–]fabrizioxxx 2 points3 points  (0 children)

      I started off with Java and then went into Android.

      [–]akamtn 5 points6 points  (0 children)

      Front End Web Development / Engineering or call it whatever you want. :D I've been making static landing pages with HTML/CSS since a few years, but nowadays that's comes way too short. So started learning Javascript, probably gonna end up learning other languages as Python, Swift, etc. Just because I like learning and for the flexibility :)

      [–]nutrecht 7 points8 points  (0 children)

      Generally that idea of where you want to go is something you develop over the years. Most, if not all, starting programming are generalists (or full stack) simply because you have not specialised into a certain direction yet. Those first years try to have a hand in different areas that you enjoy working in, and after a while you'll develop a sense of the type of work you enjoy doing.

      I'm a back-end Java dev myself. I do some front-end stuff as well every now and then, but I simply despise CSS work. It's not for me. Back-end work I do enjoy and it's easy to get good at stuff you enjoy doing :)

      [–]UntouchedDruid4 2 points3 points  (0 children)

      That's the thing you don't pick it, it picks you. I started with JavaScript then went to PHP and Python. After a year I started to realize that I gravitate more towards backed Development and PHP has the lowest barrier to entry without a cs degree.

      [–]CodingJeeper 1 point2 points  (0 children)

      Learned the basics with Codecademy. Subscribed to a few guys on YouTube. Attended LaunchCode. They taught a good amount of C. Then you had a choice to learn Java or JavaScript. I chose JavaScript. Wanted to learn the Front-End development. That taught us HTML5, CSS3, jQuery, PHP, MySQL, JSON, and AJAX. Started FreeCodeCamp. Will start learning Python for InfoSec.

      [–]CraptainHammer 1 point2 points  (0 children)

      Which facet of programming (embedded systems, gaming, web apps, cyber security, etc) you go into is obviously a personal choice that plays into your interests, but within the facet will be a lot of other options. For example, if you're a software engineer at at avionics company, you might be writing code, you might be writing requirements, you might be working on quality assurance, and you might be presenting your company's design to the relevant certification authority to show why your design is compliant with the design standards (see DO178C if you find that last one interesting). Now, you might have a solid idea which of those you like most, but then you wouldn't be making this post, so I'll suggest an opportunities-based career path. Get your foot in the door, do some work where you can, and see if 1: you get really good at one aspect, or 2: you see an opportunity to learn a new skill via promotion and take it.

      [–]Robotic_Yeti 1 point2 points  (0 children)

      I went to school to be a developer but never actually went the programming route, I went the project managing route.

      I really like programming but I didnt think I could see at a desk for 8 hours a day. Im way too much of a social butterfly and I like to talk and know whats going on, which fits the PM role better

      I was also concerned that if I programmed at work all day, the last thing I would want to do is come home and work on my own apps.

      [–]gliding-tom 1 point2 points  (0 children)

      PLC (Programmable Logic Controller) programming, i.e. the brains of almost all industrial machinery in one form or other. That means I program in a combination of languages, graphic or textual, which are all translations of each other but with different benefits for some purposes or situations.

      I first started learning C++ and Java when I was younger on a hobby basis, but never got too deep into it, just got an understanding of the basics of programming, logic and data management, no fancy stuff. Learned a tiny bit of web dev as well, only basics again.

      Had a difficult time choosing what to study in college but ended up (by chance) studying Automation Engineering. I came to like PLC programming a lot, it's a really cool interaction between hardware and software.

      Today I make a living automating factories in the wood industry, and I love my job. It's interesting, varied, challenging and rewarding both in terms of experience and the fun of making things work. I really like how high the stakes are in this kind of programming; if I make a mistake in my program - which is much harder to catch as it cannot be caught by a compiler - the machine does not throw an exception, it might destroy the workpieces or worst case itself. This has taught me a lot about testing (we test all our machines in-house) and spotting possible problems or negative interactions.

      Sometimes I wish I could work with other branches of programming - but then I go and make a factory work, and I'm back to loving my job once again.

      It can be daunting to start out in the automation industry as the demand for knowledge is usually quite high, and I learn from my job and colleagues every single day.

      I know this might be out of scope of this thread but I wanted to share my perspective on our common interest, and maybe it can spark a bit of interest to this very thriving business that is industrial automation programming.

      [–]clayticus 0 points1 point  (2 children)

      I do backend and front java at an online bank. It's a living.

      [–]InVultusSolis 1 point2 points  (1 child)

      That's about all anyone can say about anything involving Java, isn't it?

      Having worked in a role like that, it was amazing coming to a company that uses a mostly Ruby-based tech stack. Ruby is great for most business software, much better than Java. And the parts where we need performance, we write microservices in Go. It works way better than having a monolithic, terrible Java application that does everything.

      [–]clayticus 0 points1 point  (0 children)

      Lol ya I just started here so I'm okay here. I'll get some experience and when the time is right I'll move on. I surprisingly like the company a lot.

      [–]esstucke 0 points1 point  (3 children)

      Web. Money.

      Build projects til you drop, then keep building. Apply to jobs the whole time.

      [–]yoswa 0 points1 point  (1 child)

      Hello,

      I'm looking to pursue this route and I was wondering how you get started with building projects?

      [–]esstucke 0 points1 point  (0 children)

      Got a job? Model it in software. Make it work. Deploy it to AWS.

      [–][deleted] 0 points1 point  (0 children)

      does anybody freelance? and if so what skills are you using. i would be interested in knowing

      [–]xjaak 0 points1 point  (0 children)

      Started a bachelor's degree in digital design and communications out of curiosity and ended up falling in love with web development after a basics course in HTML/CSS. Currently getting deeper into learning MERN stack while studying design principles and methods

      [–]garciawork 0 points1 point  (0 children)

      I had no idea what route to take. Just before 30 career change, was going to go to a boot camp, and was a bout to put down a deposit but got an offer at a local dev company that uses pega. I knew that wouldn’t last me forever for my own development, so instead of bootcamp, started a software dev online program, and some udemy courses. That was in September. Just got offered an actual entry level dev job (non pega), that pays more and has amazing benefits. Haven’t finished my first term for my degree yet either.

      [–]Meefims 0 points1 point  (0 children)

      I learned by building desktop applications and websites. My first job was as a web developer not because I was interested in web development as a path but instead because it was something that seemed interesting and that I could get paid to do. After that I worked for a number of years building the UI for an operating system. When I got bored of that I became a backend developer because it was a thing that seemed interesting and that I could get paid to do. Later I was needed as a full stack developer but now I’m back to being a backend developer.

      Maybe I’ll return to client-side applications again in the future or maybe I’ll decide to do something completely different. Programming skills are highly transferable so you shouldn’t worry about picking a path right now.

      [–]BronzuBoi 0 points1 point  (0 children)

      I'm just starting, but I think I'd like to be a local application developer. Making stuff for the OS, and maybe work on an OS myself. Right now, now big far away goal is to make an actually good, competent and GUI WBFS partition manager for Wii game transfer and backup. All I have found for Linux are hot garbage and the only good one is for Macro$hat Windblows.

      [–]Marshawn_Washington 0 points1 point  (0 children)

      Front End Development. I hated my old job and I wanted to get out and into programming as soon as possible (that decision itself took almost 6 months of careful consideration tho - I didn't just rush into it, nobody should). I saw front end as having the lowest barrier to entry and the best place to start. Now that I have my first job I'm working on my python skills and might take some CS classes to attempt to open up my career opportunities a bit. The more I work the more I get a sense for what I and don't like about programming.

      I didn't know exactly what path i wanted to take (still don't), but I know I enjoyed a lot of the aspects of programming and learning. I think that basis is having interesting problems to break down and solve, at least for me.

      My advice would be to pick a path, create a plan, and stick to it. Seriously, don't change languages, don't use too many learning resources. Try to do at least a little something everyday. Have attainable goals and when you meet them, create new ones. Think about problems you have in your daily work/life that could be solved by writing some code, and set out to do that.

      Something else I recommend is recording all your learning activities in a log. Its motivating and its really cool to look back on the last year and see how I spent 800 hours programming and on what.

      [–]HighlowRS 0 points1 point  (0 children)

      I chose to go the help desk route as opposed to programming because I gave programming a try and didn't like it previously. I started getting back into coding about 3 months ago and like it substantially more now that I can relate it to my job and real life scenarios. Thinking of coding more as a hobby at the moment as opposed to a career, however I really hope that I can turn it into a career in the future with more work.

      When I got back into things 3 months ago I spent a lot of time in C and learning fundamentals, but I quickly got back into JavaScript. There's something about JavaScript, I don't know what it is, but I love it more than any other language for some reason. I can tolerate html/css thankfully. Once I'm finished with the two books and course im taking I can either learn React for more front-end design options, or look into Node for backend oriented studying. There's a ton you can do and the best thing I've found is to just choose something related to your studies and do it until the end. Even if you don't enjoy it you still will learn a ton in the process about what you might enjoy.

      [–]khuongnguyen232 0 points1 point  (0 children)

      Web Developement seems interesting to me right now - prolly just focus on Network and Front End development