Most of this is going to be rather straight forward. Most developers will have done this plenty of times. So why bother writing about it? In my case, there are several things that I tend to do for most projects. I find that, if don’t do these things up front, I’ll usually end up in a place that I’ll need to do it at that time. These steps don’t always need to be done at the start of the project and some projects don’t require every step.
This is an attempt at creating a repeatable process that can work for the majority of projects.
Creating a repository
For any serious project, the first thing I like to do is create a repository. For the last several years I’ve used git and will continue using git for the foreseeable future. My favorite host is GitHub.
It’s easy enough to create a local git repository, however GitHub lets me create the repository directly from the site. The really nice thing about their interface is that they can take care of some light setup for you. I find it convenient that I can have GitHub add a README, add a .gitignore that’s common for the language you are working with, and even add a license file if you want.
Creating a new Xcode Project
For this project I’m going to create a new SpriteKit game, however these steps can work for any other application with slight adjustments.
Open Xcode and select Create a new Xcode Project on the welcome screen.
Or using the menu select File > New > Project…
Select the desired OS (usually iOS). Then select Game under the Application section and click Next.
Enter an appropriate Product Name and review the remaining fields. Swift, SpriteKit and Universal are defaults here and that’s exactly what I want. It’s usually a good idea to include Unit Tests and UI Tests as well. Click Next.
Now select a location to save the project.
This is going to create a file structure inside of the location folder that you choose.
- ProjectName ProjectName.xcodeproj - ProjectName source files - ProjectNameTests test files - ProjectNameUITests test files
If you have already created a folder and/or repository for the project, you’ll want to set your Project Name to match the folder and select it’s parent as the location.
If you haven’t set up a repository, I recommend selecting the option to do it here.
Next you’ll want to configure the project, more on that soon…
How this blog came to be.
I’ve wiped out this site several times now. Each time thinking that I’d eventually create a site that is worthwhile.
I started this site toward the end of my college years as a portfolio of all the work I was proud of. It also held my resume and a page with a description of myself.
This was actually really great for me at the time. My first few jobs out of college, I had prospective employers telling me that they had seen my website (I always submitted it with me resume) and that they were impressed with one project or another that I had worked on.
Then the site became stale. I tried including my profession projects. Those projects often took a long time and weren’t very interesting. In many cases I was under contract to not talk about certain projects. I just stopped updating it.
My first blog.
Flash forward a few more years. I feel like I’ve hit some ceiling in my career. So I start to look for ways to smash through it. One way that I found interesting was to create a blog. Since I’m an iOS applications developer I figured that would be an easy topic. So I came up with a few topics to talk about, installed WordPress and proceeded to fiddle with themes for the next few days.I figured that I’d just write when I felt like and about whatever topic was interesting to me in the moment. After a few months I had written only a couple posts about iOS development and about a dozen posts about the stock market. This wasn’t turning out to be a very good blog and by now I had found another way to pass that ceiling. Once again I abandoned the site.
It didn’t take long before another ceiling was in sight. I really needed to up my game. So I started looking for inspiration. I started reading lots of books. One book that stood out in particular was Soft Skills: The software developer’s life manual by John Sonmez. I would highly recommend this book to any software developer.
On my second read through I was inspired by how he advocates blogging and its importance. Blogging is a topic that brought up multiple times throughout the book. I decided to visit his website simpleprogrammer.com to look for additional resources.
That’s where I discovered a Free email course. The course is short, only 7 lessons. The lessons are delivered to your email twice per week one lesson at a time so that the course lasts approximately 3 weeks.
I didn’t sign up for the email course though. I cheated a little. It turns out that there’s also a Workbook available for $5 which includes all of the emails.
The workbook suggests following along at the pace of the emails. Having gone through creating a blog on my own previously I had already done some of this previously. The course ended up taking me the better part of a Sunday afternoon to get through. There were only a couple remaining “homework” tasks to get done once the day was complete as well as a handful of notes about things that I’d like to focus on improving.
Although I had previously created a blog this course really helped me. Admittedly, my last blog was a complete failure. While reading through the material I was surprised at how often he would say, many blogs fail because or x or y, and I’d think, yeah I had that problem. I found many suggestions on how to fix these issues.
Of course… only time will tell if my new blog is successful or not.