5 steps to take to become a part of the Swift Open Source movement and improve you coding skills immensely.

Image for post
Image for post
Photo by Fotis Fotopoulos on Unsplash

We are living in a very fortunate times. We have access to more Swift code than we could ever imagine. Code that we can use in our own projects and not have to reinvent solutions for problems that others already solved. Here’s how to do that.

1. Look for interesting Swift packages at the Swift Package Index

Swift Package Index is the place to look for Swift code and it’s experiencing a rapid growth at the moment with more and more packages being added.

Image for post
Image for post
Main page of the Swift Package Index

The project aims to be the best way for Swift developers to search for existing solutions. It provides nice features that allow you to see important details about each package and more are coming soon. When you find a package that catches your eye, you can quickly check if it’s being currently maintained, how many commits it had so far, if there are open issues and if it’s compatible with the latest versions of Swift. …


Why beginner software developers keep getting stuck and are becoming more and more anxious.

Image for post
Image for post
Photo by Nik Shuliahin on Unsplash

I’ve recently stumbled upon this story posted by another member here on Medium:

In her story Asha Rani tells how she went from studying software development, moved to a job after graduating and eventually resigned. Here are the main pieces I’d like you to think about in more detail:

I realized that programming at work is very different from programming at school.

I remember spending countless hours on the W3Schools website learning and testing new fun things.

I just want to say that I still love coding. I still love my brainstorming sessions with the development team, but I think programming was just not the right fit for me. …


Ideas for the new generation of software developers.

Image for post
Image for post
Photo by Kelly Sikkema on Unsplash

We need to rethink how we are teaching and learning programming.

Recent years have seen an explosion of new programming languages and platforms. Along with those, every few years a new generation of programmers is joining the community. Those new programmers read success stories, see a multitude of available tutorials, courses and how-tos and decide to join in, hoping that the available materials will help them reach the same level of success as their older colleagues were able to achieve.

And yet we are stuck. What exactly is happening?

We have an upcoming generation of developers who got completely engulfed in the tutorial culture. Developers who are experiencing high levels of anxiety due to impostor syndrome when they enter the job market. Developers not able to assess their own skill level and feel confident. Years spent learning should not become something that we will look at with regret some day. Yet this seems to be more and more common when we keep telling that tutorials are the main source of knowledge. …


There is a better way to teach that ensures newcomers understand the concept of code quality right from the start.

Image for post
Image for post
Photo by Scott Graham on Unsplash

I would like to propose an important change to the way we teach Swift. The approach that is the most common currently has a flaw that may be locking the upcoming generation of Swift developers in the tutorial purgatory. They may not be able to level up as easily as they should.

And we, technical writers, may be at fault.

When we are writing tutorials, guides and how-tos, we may be forming bad habits and not forming good habits instead. We are teaching developers how to do things, but we aren’t teaching them how those things should actually be done in production-ready code. By necessity, tutorials take shortcuts. …


The baseline is low. Way too low. We need to change the way we share our knowledge with the new generations of WordPress developers.

Image for post
Image for post
Photo by Fikret tozak on Unsplash

WordPress attracts developers by allowing anyone to participate in the ecosystem by creating plugins and themes. There aren’t any systems in place that would assure that the quality of the add-on software meets any guidelines. This is both great, as it allows people with little experience in programming to create new solutions, but it’s also a curse for the community at the same time, as it allows lowest quality code to enter the system.

Don’t get me wrong, I love WordPress and I’ve been participating and working with WordPress-related software for the last 10 years or so now. I’ve seen it grow from a basic blogging platform to the fully-fledged, multi purpose CMS it currently is. I remember the times when it didn’t have custom post types yet, only posts and pages. …


A deep dive into the most basic building blocks of the language.

In this story I’d like to talk about something nobody ever talks about, every tutorial just simply skips, and basically everyone takes for granted without giving it a second thought.

Image for post
Image for post
Photo by Jess Bailey on Unsplash

I do think, however, that to become better at Swift programming, at some point you need to start with the most basic ideas and go up from there. You can break this pattern at the beginning to dive in as quickly as possible and start creating code, but there comes a point where you want to move into more professional level and return to the basics.

At this levelling-up point you start to think not only about how to use the language to create software, you also start to think about how the language itself works, what it means when you write something, what the parser and compiler do with the plaintext source files to turn those into executable code and take advantage of that knowledge to write even better code. …


A summary of what I’ve learned during the first year.

On November 18th, 2019, my first iOS app was accepted by the App Store reviewers to be available for download. To say the least, I was in heaven! I wanted to do that for years now. I’m someone who fell in love with the idea as soon as I checked out the first generation iPhone back in 2008.

Image for post
Image for post

It’s been a year now, so it’s time to look back and compare where I was then and where I’m now. A kind of postmortem.

I’ve certainly learned a few things over the year that I wished I have known earlier.


It may be tempting to simply use Int and String everywhere, but this can quickly turn against you.

Here is a list of four fun reasons you should avoid using data types such as Int and String to pass along and process the data in your Swift code. And a list of alternatives to use instead, so you can write much better code with just a few small changes to your current habits.

Note: I’ll troll around a bit because technical articles can be boring.

Note that I use the word Fun in a slightly sarcastic way, as in: “Losing is Fun”.

Image for post
Image for post
Photo by Josh Marshall on Unsplash

1. Primitive types aren’t documenting your code

When you see a function definition like this one, do you instantly know what both of the String will actually be? …


A tutorial on how to make your package discoverable by adding it to the unofficial Swift Package Index search engine.

Image for post
Image for post
Photo by 🇨🇭 Claudio Schwarz | @purzlbaum on Unsplash

Until recently, it was a matter of searching on GitHub for interesting packages you could use in your Swift project. You can do a few Google searches and it’s possible you will find what you were looking for. But now, it’s become even easier as we have the Swift Package Index available.

As Apple didn’t take care of creating a central repository or a search engine for discovering Swift packages, two developers (Dave Verwer and Sven A. Schmidt) — and a number of contributors — helped to make the process much simpler.

Check it out for yourself at https://swiftpackageindex.com!

Apple is planning to create a package registry, but the Swift Package Index is much more than a list of available packages — it’s a search engine. …


It’s easy to get into designing the UX of a new groundbreaking app and miss a great opportunity right from the start.

Image for post
Image for post
Photo by Yux Xiang on Unsplash

I like to read case studies, both from beginners and from more experienced designers. Especially mobile app case studies — ever since I saw the first iPhone I’ve been captivated by the fact how much potential for making our lives better can be hiding in such a tiny device.

Now, it’s easy to skip the obvious things, especially when we’re just getting into a new field and we want to become UX designers. There’s a lot to learn and the amount of new knowledge required to put a single project on the desk is vast.

But it still baffles me to this day that it’s not really often mentioned in UX design courses that your new app will become a part of a larger ecosystem which has plenty of places we can reach into. …

About

Paul Pela

Future dad, 9to5: tech support agent. I write about the User Experience of learning programming.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store