Git Product home page Git Product logo

belikemike-swift's Introduction

Swift Work

If you can't explain it to a six year old, you don't understand it yourself. ~Albert Einstein

The goal here is to provide you with a list of tasks that should be completed by YOU. This isn't a race to the finish, but it also shouldn't be something you take lightly. Consistently approach the subject on a daily or every other day basis. Keep the planning of a mature adult, but retain the curiosity and attitude of a child. When a child is unable to spell the word "immediately", she will continue to eat her pop tarts, smile and go about her day. That's how I want you to approach this subject matter. Don't get frustrated when times get tough. Keep on smiling, eat those pop tarts and learn!

Step 1

The Swift Programming Language

You need to start reading this book. It's a must. It's a ... stop thinking about and click this link to download it must. It's important to make this book part of your daily routine. If you're reading Harry Potter for the 5th time.. it's time to put it down for a few months. Does it mean yo should stop leisurely reading all together? No. But it's important at this stage in your career, to keep the train moving. Bounce around between topics that challenge you, that are most unfamiliar to you. Don't stick around in your comfort zone only approaching topics most familiar to you. After a week or two of possibly finishing the book, re-read it. Re-read the sections that were challenging. Re-create some sections in code. This isn't about seeing it once and understanding it completely. It's about taking the necessary steps to get this knowledge in your head. Reading this book often and consistently is crucial.

Step 2

Build a side project. You don't have an idea? Make a weather app. Don't like that idea.. build a to-do list. To be honest, I would prefer that you put more thought into it and make an attempt to build something you have some passion about. You love board games, build an app that helps you play one of them. Are you obsessed with the planets? Build an app educating people about the planets. If you're still stuck, take a pen/pencil and grab a piece of paper and start drawing stuff. Draw an iPhone screen, draw some circles/squares in it.. see what comes to mind. If not, call up your Mom and say.. "Mom, if you could make an app.. what would it do?"

You should be working on this daily (or every other day). Draw/sketch out what this app looks like on paper and execute it in code. Instead of working along with a friend, you should be building this app on your own. It might be good to have a friend review your code here and there or to provide feedback as to the direction you're going in. Don't look to jump around between projects. Stay focused and realize the end goal is to produce an app in the App Store with code you're proud to speak about.

Step 3

Create an account on hackerank.com

Begin with the Data Structures section. It's important to stay on top of this. Solve at least one problem a day. Also, in your progression through this material.. feel free at times to go back and re-implement a problem you solved from a few days prior or week earlier to stay on top of the material. Similar with what I stated above, don't rush through these problems. If any of these problems brings up a core concept, make an attempt to implement it on a white board or in a Google Doc challenging yourself to solve it without using auto-complete from the compiler.

When a problem is asked, open up a playground file and make an attempt at solving it. These are questions that can and will very well be asked of you on an interview.

Step 4

Check out my YouTube channel here. I think it's important to watch someone step through code solving problems unfamiliar to you. Or they might be familiar to you and you want to see how someone else solves the problem. Don't just watch my video, look to see others on YouTube who communicate a topic you're struggling with.

Step 5

I pay for a subscription on https://www.raywenderlich.com and I highly recommend it. The videos they have amongst the countless articles they release are super helpful. This site is crucial to your success.

Step 6

https://www.objc.io Creates videos and has books that have helped me become the developer I am today. This site (and their books) are more on the advanced side. Feel free to not include this in your daily routine until you feel ready. The Advanced Swift book they have is incredible.

Step 7

This should be something you hold off on until you really find a comfortable groove with all of the above steps first. When that moment comes, you should learn about data structures and sorting algorithms (more computer science stuff) as they become crucial when going on certain types of interviews.

This YouTube channel explains it incredibly well. https://www.youtube.com/user/mycodeschool

Watch these videos and then implement what he's referring to in the video in Swift in a playground file.

Step 8

Have fun. Go get it!


Books I HIGHLY Recommend (Swift)

belikemike-swift's People

Contributors

jimcampagno avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.