Learning Swiftly: How coding in a new language transformed my skillset as an engineer

Over the past few weeks, I have been working on an internal Johnson & Johnson application. Prior to this internship, most of the coding I had done was individual and never really dealt with user interfaces. When you’re coding with a team, you feel much more inclined to keep everything clean and follow good practices. It is important for any team member to look at any piece of code and know exactly what is going on.

Form has to follow function

Most of my experience in school and at home has been with Java, but everything that our team has been working on is in Swift. It can be intimidating to learn a new language, but it has been enjoyable. I’ve found that most of the concepts are the same with differences in syntax, but I have grown to like Swift during the time I’ve spent here.

The ability to work with user interfaces is one crucial skill that I’ve learned. Most classes in school are more concerned with concepts and less so with user interaction. Functional code is only half of the battle. If it isn’t aesthetic, then nobody will feel comfortable using it.

Learning through challenges

One of the biggest challenges that I have faced while working on the application is the lack of resources that exist in regards to Swift. Languages that I am used to such as Java or C++ have existed for decades and nearly every issue that you could encounter has happened to somebody else before. Swift is only a year old and still has a lot to work out. Not many people are using it at the moment, but it is likely to be very relevant in the future.

The way I have overcome this obstacle has allowed me to develop some important coding skills. I find myself debugging conceptually instead of syntactically. With other languages, it can be far too easy to find the same issue online and copy a line of code. With Swift, you might find yourself researching a similar issue in objective-C and applying it to your situation. While this may not solve the problem as quickly, I find myself developing a better understanding for why the problem arose and how it can be solved.

"A dragster themed stop light, a number of license plates, street signs, and even an area of wires and devices themed to be a wall of tools. These are just some of the interesting touches that make developers truly feel like they are in a garage."

The more you know...

My inspiration for learning and overcoming obstacles is the ease that comes along with it. Every new language that I learn is even easier than the previous one, and every obstacle I face is one that I’ll never need to solve again. All coding knowledge is cumulative, and the frustration that is involved decreases as your ability improves. The exposure to real world coding that I am getting at Johnson & Johnson has completely transformed my skillset as a computer engineer.