UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

Struggling. Need advices/opinions

Forums > 100 Days of SwiftUI

Hi guys. I know time to time topics like these occur here, I'm not an exception. Although I think I reached a line where I clearly need advice, help from audience. So straight to the topic ->

I had no experience in coding before I started 100Days. Complete 0. But I decided to try myself in Swift to change my life through succeding in this field.

I reached day 77 few days ago and I got stuck. Completely. I'm not able to make the app Paul wants us to make. I have no clue how to put all that info he has taught us previously. Though I'm sure he would do that app for an hour max and it would look quite simple in the end. But I just cant do it. Not only that I hardly understand and can put together all that new knowledge after we've been introduced to JSON and work with DATA (data models, Core Data, relationships between Structs and Classes, all those property wrappers, also work with errors (do/try?/catch or if let = try? guard let try?). That was the place where the things became really complicated to me.

While watching his tutorials one by one it was kinda ok. But if I would sit and try to code something myself without looking to examples - I cant do almost anything. That's a bad sign. I can't even make a custom Extension.

I started to be mostly unable to proceed WrapUPs by my own. I failed with Multiplication App too. I couldnt understand how to do it without finding examples of solutions here on forum. That helped a lot ! Guys ! You're awesome for helping people on forum !!! I took a lot of knowledge and answers from Forum !

After that I've bought HWS+ for a month to be able to see the solutions Paul prepared for us. That helped, it has taught me some things and has saved me much time and brain neurons from not warrying.

But that didn't fix the problem. It's difficult for me to understand all this as the complexity level raises. And I started to have doubts if that all is my thing.

I have motivation and persistence. But it's not the same as to learn a new foreign language( which I did myself). Coding is more complicated and specific thing. You either understand it or not. So I dont know if I should continue to try if I wont get it eventually.

Then what's the point ?

What are the red flags to understand that maybe person needs to stop this and leave it ? Please, give me some advices. I feel really shitty. Thanks !

2      

Can you cook?


Do you own a Five Star Restaurant in the middle of Paris? Do you star in your own cooking show on prime time cable?

No?

However, I'd bet that you can cook a decent pasta dinner, with side dishes, salad, and pick a tasty beer.

Do you drive?


Have you won a Formula One race this year? Is your Grand Prix vehicle sponsored with a major endorsement?

No?

However, I'd bet you know how to drive to work, the stores, and probably to a great hiking spot near you home.

Skills


You have some of the skills to make a decent meal, but not all of the skills you need to compete with Gordon Ramsey. You can drive around town and mostly not get into accidents, or get pulled over by the police for reckless endangerment.

What skills do you need?


To get to a Gordon Ramsey level, what cooking skills do you need? I'd suspect you'd need to beef up (ha! cooking pun!) your cutting skills quite a bit. So you'll need to study different styles of knives, and practice a lot with chicken, fish, and lots of vegetables. Practice skinning, dicing, and slicing. Buy several pounds of onions, carrots, and potatoes. Don't use just ONE knife. Use all of them. Practice a lot!

I'd also suspect you'll need to learn to make sauces and batters from scratch. You'll start with standard recipes, and make a lot of sauces that are too watery, too salty, or tasteless. Throw them out, and start again. Only after following the recipe a few hundred times will you gain the experience to make one on your own without a recipe.

As you ruin a few hundred dishes, you'll slowly build up your cooking knowledge. You'll soon have the skills to look at some fresh beef, a few vegetables, and the spices in your cabinet to know how to build a delicious meal way above your previous skill level.

But until you've burned a few hundred biscuits, you won't have the skills to mix the right ingredients, in the right proportions, and cook them with the right heat to make a fluffy, tasty treat. You need to burn a lot of biscuits.

Your Plan


Take inventory of the coding skills you're comfortable with. Buttons? Sliders? Text fields? Structs? Enums? If this is what you're comfortable with, build a dozen simple applications with these skills. Keep making simple applications until you can cook one without a recipe.

Make a calculator that converts hours to minutes. Use just a text field. Then do it again and use a slider. Then do it again and use buttons to increase or decrease the input values. Then do it again, and combine all three into one app. Keep coding!

Make another that converts dollars to pounds. Make another that accepts a first and last name, an address, a title, cell numbers, email addy, and generates a simple business card. Use SFSymbols to add a logo to the business card. Add a feature allowing your user to pick a business card format. Make an app that collects sleep and waking times. Trash that app, and build it again, but allow the user to save daily data to user preferences. Then trash that app, and write it again, but now integrate the data with Swift charts to plot sleep patterns.

Keep making simple apps, until it's easy for you.

Then, like cooking, think of a new ingredient to add. Save your sleep data as JSON? Load color preferences from user defaults? Find additional UI elements to master.

Keep coding!

4      

Thanks for your reply @Obelix. I appreciate!

As usual you're into metaphors and it's good that you're trying to concentrate me on a positive side of things like if let conditions do instead of guard let 🙃. But negative side is also important. I prefer to be prepared to a worst case scenario too if things will not go along the plan that I drew for myself.

I clearly understand what you refer to: PRACTICE and also -> Gradual increase of difficulty level along this practice. This approach works everywhere including cooking, driving skills as well as programming.

Although I still see a difference between cooking and coding: cooking does not require specific way of thinking and understanging. Practice can make 99% of people be able to cook. That doesn't work with coding, at least from my experience. If you can't do this - you just cant. At some point you will stuck and fail to progress further. Not everyone can be nuclear phisicist(software dev). And it's ok. But persistence won't be a key part to become one.

I think it's important to mention in my case:

I'm Ukrainian living in Ukraine. I can't leave the country for who knows how long. Since the war started there's not too many things left to do to provide yourself a decent income. Coding here is one of such things. IT guys do have great salaries and it's a promising career. So I took a decision to choose this path and spend as much time as possible to learn it as fast as possible and become a Junior Dev in a company and then step by step to grow further but being sure I can cover all basic needs. I knew about the cases that it's possible to get from 0 to freshly hired Jun Dev in 7-8 months. So I've been ready to go all in and try it. Anyway there's not too many paths here you can take to have Coding salary. So I've spent $1050, quater of my savings, on Mac to be able to study Swift. Otherwise I'd never have bught this (beautiful, yeah. and enjoyable) toy. Yes, Mac is an expencive toy to me if you're poor and don't earn money using it. (I like my windows laptop and happy with it)

But what I think I started to understand now - not everybody can do it in 7-8 months. Not even in a year or maybe more. And you need a constant PRACTICE A lot of it!


So I think I was just not ready to this, I didn't know how I would take the studies, how fast I'd be able to learn new things. And most important - I just cornered myself with those strict time limits. And that is making a strong pressure on me leading to more doubts and worries .

I already determined this to be my path without trying first wether I like it or feel passionate about. And yes, I don't feel a huge passion to coding. Even after 5 months of studies. I like studies, but I'm not in love with coing itself. At least - not yet.

So after this I'm not even sure I can implement your strategy - "KEEP CODING" out of curiosity only experementing with this and that and spending so much time on this. I don't have much time for simpy experimenting and playing around in a sandbox 🫤 But I see that without this it won't be possible to embrace Coding and to become proficient in it.

2      

BUILD THE ULTIMATE PORTFOLIO APP Most Swift tutorials help you solve one specific problem, but in my Ultimate Portfolio App series I show you how to get all the best practices into a single app: architecture, testing, performance, accessibility, localization, project organization, and so much more, all while building a SwiftUI app that works on iOS, macOS and watchOS.

Get it on Hacking with Swift+

Sponsor Hacking with Swift and reach the world's largest Swift community!

Archived topic

This topic has been closed due to inactivity, so you can't reply. Please create a new topic if you need to.

All interactions here are governed by our code of conduct.

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.