Swift Playgrounds is for Everyone
You don't need to be an engineer to learn Swift
Ever since joining Lickability as an Account Manager three months ago, my responsibilities have included finding and pursuing leads, working with potential clients through every stage of a project, drafting estimates and contracts, and sending lots and lots of emails. It’s my job to help clients figure out how we can meet their unique needs with the services we can provide.
Although my background is in engineering — I studied mechanical engineering and engineering management — my education and the first four years of my career were outside of tech. Because of that, I’m somewhat of a novice when it comes to software development. For the past three months, I’ve been working on improving that so I can talk to our engineers and clients about app development. I learn best by doing, so I’ve been using Apple’s Swift Playgrounds Learn to Code modules on an iPad here in the office to learn the fundamentals.
The Learn to Code series has three modules, accompanied by additional lessons, developed both by Apple and third parties, in the Swift Playgrounds app. Learn to Code 1 focuses on the fundamentals of coding and Swift, covering topics like commands, functions, bug fixing, loops, conditional code, and operators. Learn to Code 2 starts to get into the meat and potatoes of Swift with topics like variables, types, initialization, parameters, and arrays. I’m just scratching the surface of Learn to Code 3 now, but I can say that this module is really starting to feel like code that could be used in real world app development.
The lessons are presented as a series of puzzles that can be solved with code, with makes them fun to complete and great for any skill level. I sailed through most of the first module pretty easily (although I did run into some trouble with infinitely repeating while loops that I had to ask our engineers for help with 😅) and had a slightly tougher time with the second module. I started AirPlaying my code in our conference room so engineers could stop by and pair with me while I talked through my thought processes.
What I’ve learned
Learning to code with Swift Playgrounds has several benefits that make it worth the effort for someone in a sales role at a software company. First, it gives me a better understanding of and appreciation for the work that our engineers do. This context makes it easier for me to evaluate potential clients — we want our engineers to work on interesting and fulfilling projects, and learning about programming has helped me seek out the best clients for us.
Second, I have a better understanding of clients’ needs, which can help me answer their questions and find solutions that best meet those needs without always having to consult with our engineers. Showing clients that I have a baseline knowledge about the services they need helps us establish trust early, and makes the rest of the sales process much smoother.
Finally, learning how to code is a rewarding and enjoyable experience! Solving puzzles and learning new things are some of the reasons I got into engineering in the first place, and diving into Swift has been a great way to continue to experience that. I’ve gotten a lot of personal and professional value out of Swift Playgrounds, not just because I’m learning a new skill, but because I’m learning about the process and best practices involved in coding. Here are some of the most important things I’ve learned from Swift Playgrounds that I use every day:
- Pattern recognition: I look for and automate processes that I find myself repeating a lot — this is especially useful when sending lots of emails. I use email templates for common messages I send, Calendly for scheduling client meetings, and document templates for project estimates and contracts.
- Pair programming: I’m more proactive about asking for help and working with my teammates on everything from writing up client documents to sending important emails.
- Source control & documentation: I make sure all client documents are up to date and filed correctly, document any changes I make to documents and flag them for review, and write down important workflow processes in Notion.
- Iteration: I recognize that things are always changing and there are always ways to improve my work, so I actively solicit feedback from teammates and clients to figure out what works and what doesn’t. After evaluating feedback, I develop solutions to address any problem areas in my workflow, and then continuously iterate over those solutions to improve more over time.
Getting started with Swift Playgrounds is as easy as grabbing an iPad, downloading the Swift Playgrounds app, and diving into the Learn To Code 1 module. If you have any questions about it, I’m just a tweet away!