Common Beginner iOS Dev Mistakes - From Sr. Developers

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
a couple weeks ago i put out this tweet because i wanted to make sure i was covering everything in my beginner course however as you can see it got over 500 responses went a little viral i did not expect that but some of the answers in this tweet are awesome and i want to share that with you so let's talk about this tweet i said when you were first exposed to the world of ios development what was a basic thing that confused you you know anything with xcode swift you know etc and you know my example was i didn't realize the the ui in front of ui button and ui label meant that that was part of ui kit like i was importing ui kit i didn't know what that meant so i was hoping people would share you know kind of embarrassing things that they stumbled upon as a beginner and again i did not expect the amount of responses i got i mean we got people from all kinds of major companies very well known devs sharing their embarrassing stories about how they got started so i got the idea for this video because i know many beginners watch my channel and they may be frustrated or struggling on basic concepts and the point of this video is to say hey look we all started somewhere so you're going to get some very well known devs at big companies talking about what they struggled with so we're going to start flipping through some of these tweets and sharing this and this tweet really sums up what i hope you get out of this video it says great thread i now feel better about myself and i'm going to link to the tweet in the description i highly encourage you to go check it out and start scrolling through i bet it'll make you smile we're going to go through these pretty rapid fire but we'll start with something i'm sure you can relate with and that is auto layout it says auto layout man i remember learning it as constraining to a container to another container i could just never wrap my head around that concept the only time i understood it properly when i actually started using auto layout regularly in storyboards and here's the key why wanted to feature ollie's uh tweet experience greater than education right you can't just watch one tutorial and expect to know it like many of us developers that are experienced and that know things we know it because we've done it a hundred times or we spent two hours debugging this one thing so like he says experience is greater than education repetition is the key and then also jordana adding on to that jordan is an engineering manager at netflix and by the way you're going to hear me like name drop some companies that is only to let you know that you know even developers at very big companies very experienced all started somewhere so again jordana had trouble with auto layouts at the time it seemed more convoluted than css layouts and here we have paul hudson who i'm sure many of you know says i still have the code for my first project it was made on a train without the internet while he was learning objective c as he went says he thought he had to have zibs for all screens and this is what made me laugh here says i often broke outlets and in order to fix that he just rolled back the code to undo so i thought that was pretty funny and then here we have lena with probably the most common uh tweet again over 500 replies i can't feature them all but delegates was probably the most common so if you're struggling with delegates just know that like we pretty much all did next we have adam who's an ios engineer at nike with another common one and that is closures he says i still periodically screw up the syntax and i've written thousands of them and i can add on to that if i'm creating like a long closure like i almost never type it out from scratch with like ad escaping and whatever parameters and whatever you're returning i pretty much always find an old closure copy and paste and then edit right because like trying to write that brand new from scratch i don't have that in my head and as you can imagine you may be struggling with the two closures was another very common answer in the tweet thread now we have boz who's the author of swift weekly brief a newsletter that follows the evolution of swift if you're not subscribed to that you should be but it says it all started somewhere back in 2012 or 2013 with big nerd ranch's objective c books said he remembers building a bright colored view controller with a button that would show after an alert was tapped very very basic but here's why i wanted to feature his tweet because again this is probably very relatable to a lot of you says a roller coaster from there i understand it no i don't understand it i understand it no i don't and that pretty much sums up your whole development career as you learn new things because you never stop learning no matter how senior you are and it is a roller coaster and with the release of swift ui that's a great example now not all of us of course but many of us are new to declarative programming so learning swift ui is kind of going back to being a beginner again so again we're back on that roller coaster now we have rebecca slatkin with one word sums it up nicely provisioning even experienced developers still have nightmares about provisioning because oftentimes you set up all the provisioning profiles certificates and all that stuff entitlements usually set that up at the beginning of a project and then you're done for the most part so after you fumble your way through that you don't have to do it again until you start a new project which for some people could be years so yes provisioning if you're struggling with that that still trips up even experienced developers and gen k made me laugh with this one because i know i've been there i'm sure many of you have been there but break points you know she said a break point had no idea why her program kept stopping well if you don't know what a breakpoint is you set a breakpoint to tell your program to stop so you can debug and i know i've been there thinking my app was crashing for some reason and like having a little mini panic attack and then oh no i just i just had a break point somewhere next we have dave verwer author of ios dev weekly another great newsletter go sign up to that if you're not it says i remember reading the paragraph in the docs that covered auto release about 20 times and still not really understanding when or why i'd use it now if you're new and you're wondering what auto releases don't worry about it that predates me even that's an objective-c memory management thing but the reason i still wanted to share this was because dave talks about how he went and read the documentation 20 times and still didn't get it so i know many beginners get frustrated after they maybe watch one tutorial or maybe read the documentation once and then they get frustrated like a lot of things will take multiple reads in multiple practice with to finally get it and dave's tweet illustrates that and now we have chris wilson with another very common uh confusion point if you will is the functions like muted load view will appear if you did appear like normally you're used to writing a function and then you have to call that function manually well these ones get called by the system so that is often confusing many beginners are like well where do i call view to load where do i do this well the system calls that now this was another very common answer and i remember being confused about this myself here we have mark securia engineering manager at twitch says uh that was 10 years ago so forgive this egregious one that's the whole point mark this is supposed to be the embarrassing ones right views versus view controllers and i still even guilty even in some of my tutorial videos of saying view when i meant view controller and again that's just an artifact of a bad habit i had that when i was confusing views and view controllers so another very common confusion and i know mark and i know he's really into starcraft 2 and he's a protoss main so i had to fire back with a nice little joke answer saying it's simple it's like a carrier right a view controller can hold and control a bunch of views i guess you have to play starcraft to get that joke but moving on we have keith moon said i've been a professional ios developer for a year before i realized you could create your own protocols in those early days i was very much faking it until i can make it i kind of did the same thing i've said this before in my story that i got hired at my first developer job not for my existing developer skills because i was fresh out of a boot camp they just like me my attitude my work ethic and had confidence that i would learn it but my first year of the job was basically on the job training and i've said many times before like i didn't really understand delegates and protocol pattern until like a year into my career it sounds like keith had the same thing with declaring your own protocols next we have basher almallah passing data that was another very very common answer but i like how he described his initial solution which was kind of funny right it says passing data between view controllers in sprite kit scenes was something i struggled with a lot his solution in quotes was to just use global variables everywhere so everything had access to is variables right you don't got to pass the data if everybody can access it so i thought that was funny but again passing data was a very very common uh answer to this moving on to chris idoff of objc.io author of many many great books all about swift and ios development you can check them out but uh how to best organize my code even in my very first project the view controllers were way too large and that was another common answer the whole massive view controller right a lot of people when they start they just do everything in one view controller and then eventually you'll learn how to like break things out and compartmentalize but again another common mistake so if you're making that one still try to fix it but just know that a lot of people started out doing that another one that i used to be very guilty of from shahab or jay penguin optionals i used to force and wrap all the things without realizing like that's why you had so many crashes in your app so again a lot of beginners will start off like not fully understanding when and how to unwrap your optionals uh so you just say whatever xcode's telling me to force unwrap because that was it used to be like the the fix it in x code where you would tap it and it would just force and wrap it for you so i know a lot of people would do that just to get rid of the air and it would end up you know forcing rapping at the wrong time and crashing the app so i used to be very guilty of that now we have jp simard of lyft and the swift unwrap podcast says i remember first dragging images onto interface builder with xcode 3 running in the simulator and now thinking now what right i got i got my pixels onto the screen but how do i make it work and i remember that vividly like because i started off you know just dragging and dropping stuff in interface builder i can make the screen look like i wanted and then i was like okay how do i how do i make it work right so i remember that exact feeling uh vividly just not in xcode 3 i think i started in xcode 6. but anyway i'm sure i'm sure we've all been there sticking with interface builder i like this tweet um interface builders structure file owner responder again that predates even me but interface builder used to be a separate app from xcode right now many of you knew people may not remember that again that predates my time as well but here's a nice picture of it that i thought would be fun to share how interface builder had a lot of floating screens it was a separate app from xcode uh rough times back in the day rough times next we have jordan morgan of buffer and independent app developer of spenstak but he says that ui kit could only run on the main thread and what exactly that meant right main thread background thread what did that all mean so threading was another common answer and then we have simon rice with another common one something i've addressed in a recent video was probably seemingly random crashes that turned out to be ib outlets i forgot to hook up so again that is another common thing for beginners you know you're creating all these outlets and actions and then you're making changes and then things get all out of whack and your app crashes so i'm sure you've run into that before but this was another super common answer now we have a fun one from ken here a little apple history for you he says how might it be possible to type quickly and accurately on a touch screen so during the iphone development you know they were competing with blackberry and people could type real quickly on a physical keyboard so how do you type quickly and accurately on a touch screen because it was really tough so if you don't know what ken and the team did was they would kind of predict what you were typing for example if you typed a t it was very likely that you were going to type an h next so they would make the hit target for the h key a lot bigger and then if you type th that was way more likely that you're gonna have an e after that so the e would be bigger so it's not actually bigger on the screen but just the actual touch target is bigger so that allowed for quick accurate typing using like it was like predictive so that was a fun answer i enjoyed seeing ken chime in here and another one from back in the day oh my god what do you mean we can't discuss this in public like even with our co-workers our friends you know you can't publish books about it so again a little bit of a history if you were working on ios apps like before the app store even launched like you were part of like the launch process you had to sign an nda you couldn't say anything about it and then here we have mario with one about navigation back in 2011 i decided to build my first app on ios 4.3 i had no idea how to handle navigation so the whole app was built in a single view where the elements were like hidden and shown based on the user state and i always like hearing these stories about how people built these really really weird apps because they didn't really fully understand it you know they got it working but uh definitely not the way it's supposed to be and then finally we have alan wickstead here i was essentially terrified of all the build settings and such menus i still don't know what i'm doing in there at least i'm not terrified i'm a little terrified like here i'm putting up on the screen like i'm not gonna lie if i'm digging in here and doing stuff like i'm walking a tightrope like i'm usually following some tutorial or some stack overflow post uh i don't know what i'm doing when i really really dig into here and i bet a lot of other people don't either so if you don't understand all this stuff like don't worry i bet a vast majority of developers feel the same way so that's all the tweets again to put up this tweet the whole point of this video was to let you know that even experienced developers working at well-known companies like we all started somewhere we all have these embarrassing stories that we did at the beginning this is targeted at you out there that is at the beginning so hopefully this makes you feel a little bit better again as this tweet shows so again pretty much every developer has been there just fight through it it will get easier you
Info
Channel: Sean Allen
Views: 18,472
Rating: undefined out of 5
Keywords: Swift, Swift Tutorial, iOS Developer, iOS Development, Swift Code Tutorial, Swift app tutorial, iOS Development for beginners, iOS Development beginner mistakes, Swift beginner mistakes, mistakes learning swift, mistakes learning iOS development, iOS development beginner tutorial, swift beginners guide, swift lessons beginner, swift beginner tutorial, iOS Dev mistakes, iOS Dev, Sean Allen
Id: -8PquirNfEY
Channel Id: undefined
Length: 12min 30sec (750 seconds)
Published: Sun Apr 19 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.