Upskilling & Adapting - JR's Journal

I’m a newbie here, but I hope this will be the start of a fantastic journey.

I’ve coded in a small way on the web (PHP & stuff) as a necessity of my work, for quite some time. Recent circumstances have left me with more time and less work, and with no real positive outlook for the future.

After doing quite a bit of soul-searching over the last couple of weeks, I realised that the one thing I would really like to do is to build on the little coding knowledge/experience I have and do something productive with it, something relevant in today’s world.

With “today’s world” seemingly centred around “apps”, the logical choice was to see if I could “upskill” my old knowledge to something more modern.

A bit of searching brought me to Xcode and CodeWithChris. Without much in the way of available funds, Chris’ 14-day challenge has proven to be right up my street.

App coding/Xcode looked pretty impossible to me, even with the knowledge/experience I already had, but Chris’ step-by-step lessons have made me realise that a lot of what I already know is still relevant. It’s about adapting what I know into what I need to know, and Chris has done a great job in showing me how to do this.

When I’ve finished the challenges, I hope to be able to sign up to CWC+ but that may be a while due to cost.

I’m glad I’ve started on this journey, and I’m grateful to Chris for providing his 14-day challenge at no-cost so that I could decide if this is the path I want to be on. And, it is!

1 Like

Good luck in your journey. You’ve got the right attitude which will always help.

1 Like

Four days to do the Beginners Challenge, and I’m hooked.

Signed up to CWC+ and raring to go now.

Fulfilling my desire to learn new things.

1 Like

Learning new things is so much fun!! Chris also has tons of free content on YouTube!

Excited to see what you build with all your new knowledge

1 Like

Today my journey really begins.

I feel that I’m standing at the shoreline of a great ocean. The ocean represents everything yet to learn.

Behind me sits a small tide pool, representing the little that I’ve learned to date.

My toe in the water’s edge is the Beginner’s 14-day challenge. Today, I start to get my foot wet…

I’ve been methodically recording my journey over on my blog site (currently well into the CitySights app) but, right now, I’m finding myself facing the perils of running Xcode on an old outdated Mac.

Sure, it works (when it wants to), but there are times like right now that I’m glad I had a haircut recently (otherwise I’d have pulled it all out by now).

I’ve only been able to code for one day out of the last four. For three of those days, my Mac mini became so slow and unresponsive that it was impossible to do light tasks – never mind expect it to run Xcode. It got to a point that Xcode wouldn’t even launch, never mind run. The icon in the docker would just bob about for a while, then stop. No amount of rebooting helped.

Yesterday, however, things went back to normal. No idea if the Mac had been updating anything (no indication if it was or wasn’t). I managed to get two lessons done in the afternoon (mostly through fear that the Mac might have another wobbly if I dare stop!).

This morning, I start the next lesson and, in the middle of typing, Xcode spontaneously crashes out.

I restart it, and it pops up with a window saying it needs to install additional components. No idea what they are but, hey, I’m sure Apple knows best, so I let it install them.

When done, I get back to coding. Xcode opens fine and we’re away …

However, when I get to the point in the lesson to try the code out (just after doing the enum bit), Xcode reports that it can’t because there’s no simulator loaded. I look at the drop-down list and, sure enough, all the simulators have disappeared. No idea what that’s all about.

So, more through hope than expectation that it’ll solve anything, I go for a reboot (code for “oh, it must be time to go off and make a slow coffee again”), and launch Xcode again (code for “no, I can’t get a second cup so soon”).

Anyway, now I have Xcode loaded, all the simulators are present, and I’m ready to go again.

I think I’ll go for a run first (I’ll probably be back before that simulator finally loads and runs the app!), and get my head clear from all this sitting around and waiting…

Mac specifications:

  • Mac mini (Late 2014)
  • macOS Monterey 12.2.1
  • Processor: 2.8GHz Dual-Core Intel Core i5
  • Memory: 16GB 1600 MHz DDR3
  • Graphics: Intel Iris 1536 MB
  • Storage: 1.12 TB Fusion Drive (over 130 GB free space)
  • Display: 27-inch LG monitor (1920×1080)
  • Xcode: 13.3

Well, as of yesterday, I completed the CWC+ iOS Foundations Course. It’s taken a little under two months (including the 14-day Beginner’s Challenge).

There have been a lot of ups and downs during this course, most of it my own aged brain being reluctant to accept that there are different coding languages, but some of it the foibles of Xcode changing on a whim when it’s updated, and also enough hair-pulling frustration from running Xcode on an 8-year old mac to have me thinking I should glue a hat to my head.

But, on the whole, I end the course in a positive frame of mind.

Yesterday, and today, I’ve been printing out the code for the apps that we’ve covered in this course - often surprising myself with just how much the course has covered. I’d almost forgotten some of the earlier apps (requiring some frantic folder-searching around my cloud storage, whilst constantly saying to myself “I know there was an app that did that - I didn’t just imagine it!”), which is testament to just how much we’ve done.

I’m stunned that, in this course, I’ve created (with Chris’ - ahem - “help” :wink: :grinning:) a half-dozen or more apps less than two months after I had no clue how to even begin writing an app. It’s definitely not an easy process, but gaining knowledge of something that previously seemed so obscure that it may as well have been magic is no small thing.

Two months ago, the code I’d read for App Development was nothing more than incomprehensible gibberish. Today, well, it may still mostly be incomprehensible but, when I look at the code, it’s no longer gibberish. I come away in the belief that I can take the code and at least have a stab at “figuring out what it does”, even if I don’t get it right.

I conclude the iOS Foundations course in the belief, and the knowledge, that I can do this.

To all newcomers starting this course - yes, it does often feel overwhelming and impossible, but just follow what Chris does. No one’s expecting you to learn it all overnight (so don’t expect it of yourself) but, with repetition will come understanding and, with understanding comes knowledge. You most definitely can do this!

3 Likes

Love this!! :clap::clap::clap:

Everything seems difficult until you end up doing it.

You got this!

1 Like

Today I finished the iOS Design Course (Swift UI).

Once again, it’s not until you go back and look through your notes that you realise just how much we’ve covered. I’d almost forgotten than d*mn “gradient planet” (:laughing: ) from early in the course because, despite some minor struggles early on with Figma, I got so wrapped up in JC’s tutorials that I just spent wayyy too much time on the App Design Challenge (I really enjoyed getting my teeth into that, and nipping back through JC’s videos to refamiliarise myself with each stage).

Finishing up with Chris translating from Figma to Xcode (despite yet another of Xcode 13’s “unnecessary changes” requiring a hunt around the menus!), it’s been 20 days that have covered a lot. I’m so glad that I’ve been taking notes. There hasn’t been as much code to print out as before, but the App Design Challenge looks pretty good in my Lever Arch file.

Next up - onto iOS Databases. I’ve used databases when coding for the web in the past and I hope that’ll prove to be more help than hindrance. :wink:

1 Like

Having a familiarity with databases can only help! Databases are all the same, they hold data.

It’s different in how you interact with them

1 Like

Thanks for the reassurance.

Before I begin, I see that there’s an update to Xcode. The last time it updated, I couldn’t do anything with my Mac for 3 days. Let’s hope it doesn’t take that long this time… :slight_smile:

You should use XcodeReleases.com

  • Delete the current Xcode.app
  • Download The new version of Xcode from that website
  • Unzip it
  • move the new Xcode.app to the applications folder
  • Open it!

Thank-you. If it hasn’t updated by the time I’m back from my run tomorrow, I’ll do just that. :slight_smile:

1 Like

Also I would delete the derived data folder!

I do that frequently! :laughing:

1 Like

I can’t believe it’s been over three months since my last Journal post here. You must think I’ve dropped out or something. :smile:

After finishing up the CWC+ iOS Databases course in May, I took a bit of a breather to rest my head and get my thoughts around some of the confusion going on in my mind. The shock of going “from HStacks to CoreData/Firestore” knocked the wind out of me.

When I returned, I’d had many thoughts for starting my own app and so I took some time out to utilise part of what I’d learn from JC to come up with my own “journey map”.

Before getting onto wire framing (which WAS my next step, honest :wink: ), I got sidetracked by the videos on Views and Shapes by Mark Moeykens. I thought I’d learned enough about these from Chris but, boy, Mark’s friendly presentation style, bite-sized videos, and building up of “blueprints” and “portfolios” just takes that to a whole new level.

I very much enjoyed going over some of the things Chris had taken us through early on, as well as covering a lot of new stuff. I can’t rate Mark’s videos highly enough.

I then discovered Mark’s presentation-style books. They’ve been so useful and they’ve become my “go to” resources. I got so wrapped up his books on Views, Data, and Core Data that the number of posts on my own blog site dropped massively. :smiley:

The more I read, the more confident I started feeling and I decided it was time to get back to that app I’d “journey mapped” in May. I’ve spent a lot of time “getting my hands dirty” with data, JSON, Core Data, the raw guts of my app, building on that which I learned from Chris and constant referencing back to Mark’s books to help clarify the more complicated aspects. I also created a web-based back-end, using PHP to add data to and pull data from MariaDB, creating the JSON file that the app downloads, loads into Core Data, and displays in SwiftUI Views ready for the next stage of my app.

Over the last couple of days, I’ve been working on the app design, including a little animated menu. It’s this that I’m having fun with right now.

I had a moment today when I actually heard myself saying “You know what, I’m actually enjoying writing this code.” That’s the first time since before my first tentative steps into SwiftUI / Xcode, and those little playground practices that were the first lessons with Chris, that I’ve been confident with my SwiftUI coding.

I’ve no idea where this road is going to take me now, but I feel as confident now with SwiftUI as I do with PHP, in that, although I’ve still so much to learn, I’m confident that I can and will learn. This is all thanks to everyone who contributes to CodeWithChris, especially Chris himself, and to BigMountainStudio (Mark).

My membership to CWC+ will expire soon, and I don’t have the finances to renew, and I don’t know what access I’ll have here after that, but I wanted to post a word of “thanks” to everyone here. When I began, even just that “Hello World” default in Xcode was more baffling than some arcane magic. I could barely even hope to be as confident with SwiftUI as I feel today and I can’t express my “thanks” to everyone here in any other way.

I hope that, one day, I’ll be able to give back to the community and help others as you have all helped me. My skill is more in learning than in teaching, but I don’t underestimate the importance of helping others.

1 Like