Highest Rated Comments


VLKN2 karma

I can help answer question two - I've spent the last year and a half specifically learning objective-c and swift to become an iOS developer. Before then, I had a only year of formal CS education in python and Java.

I can tell you right now that the only way to learn how to do it is to find out a very specific thing you want to learn, throw yourself at a specific topic, and start doing tutorials until you know enough to try building your own project.

For example, I wanted to make games. I figured making 2d mobile games would be a great place to start. I settled on iOS games, because I owned an iPhone and a Mac. I figured "hey, flappy bird was a SUPER simple game. I've seen people post videos online where they clone it live. Why don't I watch one of those videos and try to follow along?" Then I realized people made tutorial videos and blog posts about how to do very simple iOS projects. I started doing these tutorials, and I built Flappy Bird, Angry Birds, and 2048. Along the way I had to learn tons of basic CS principles, namely data types, data structures, looping structures, and pointers. I also learned a TON of stuff about Objective-C and how the iOS frameworks are used. Eventually, I set my sights on designing my own iPhone game, and 4 weeks later, had made PushPush.

The same thing can be said for ANY kind of development. My biggest pieces of advice are: * Take the time to set up and learn how to use the right tools. If you want to learn web dev, learn Chrome, a text editor, and the terminal very well. If you want to learn iOS, learn XCode. If you want to do 3D game dev, learn Unity. etc. The in-browser learning is great, but it doesn't replace the feeling of success you get from using the tools the right way, and you'll have to learn it eventually anyway.

  • Don't get caught up in the basics. Start building something first. If you don't get a sense of accomplishment right away, try something else.

  • Start small. Don't try to learn game dev by having your first game try to be an mmo. Don't try to make your first website a "better Google." Set realistic expectations of yourself, and try to understand how long it might take to do something.

  • Don't be afraid to make mistakes! SO many people I meet are scared of having their code crash when they first start. Don't be! Go slowly, do your best to understand what your code does, and learn how to use Git or another source control tool. If something breaks, roll back your changes and try again.

  • Stick to it! Learning a programming language is just as hard, if not harder, than learning some real languages. And like real languages, you need to practice every day.

I hope my advice helps! Of course, you could always just go to Make School's summer academy to jumpstart you into iOS dev, or the Flatiron School to jump you into Web Dev. They're a HUGE help.