Home Always Keep the Enthusiasm for Exploring New Things
Post
Cancel

Always Keep the Enthusiasm for Exploring New Things

Always Keep the Enthusiasm for Exploring New Things

The life opportunity from stepping into the information field to switching to iOS APP development

Bangkok 2018 - [Z Realm — You are not alone on the road to solving problems](https://medium.com/u/8854784154b8){:target="_blank"}

Bangkok 2018 - Z Realm — You are not alone on the road to solving problems

Time flies, it’s been a year since I switched from Back End to developing Mobile iOS APPs, and a month since I started writing on Medium. For this 10th small milestone, let me write about my experience of breaking through and switching tracks.

Always Keep the Enthusiasm for Exploring New Things

“The instinct to explore drives great human achievements.” From Columbus exploring the oceans and discovering new continents, the Wright brothers improving airplanes to conquer the skies, to now leaving Earth to explore outer space; only by being passionate about new things can we continuously surpass ourselves. Perhaps we cannot be as great as Armstrong, but as he said, “One small step for a man, one giant leap for mankind.” Do not underestimate your creativity and talents.

Opportunity

When opportunities come, grasp them well because there is no guarantee of a second chance. You might hesitate, thinking the next one might be better or fearing you made the wrong decision, but “Who knows? Will the sun rise first or will an accident happen first” If there are no negative impacts, then open your arms and seize the opportunity!

Going back to 2009, when I just entered the first year of high school at Chang Kung Comprehensive High School, I learned by chance that the school was training students to participate in competitions. My initial thought was, “Since there’s nothing to do at home, why not learn something?” So I signed up and joined; this was the first turning point in my life, stepping into the information field. Joining the training was tough, practicing every day after school, on weekends, and during winter and summer vacations for three years. The risk was high; if you didn’t place in the competition, you almost got nothing. But looking back, I’m glad I seized this opportunity (I’ll share more about the journey of being a contestant later).

[National Skills Competition](https://sc.wdasec.gov.tw/home.jsp?pageno=201111010001){:target="_blank"} - Ministry of Labor Workforce Development Agency

National Skills Competition - Ministry of Labor Workforce Development Agency

This opportunity taught me many skills for making a living, such as design tools like Illustrator/Photoshop/Flash, and engineering tools like PHP/MySQL/HTML/CSS/JavaScript/jQuery. I also got admitted to National Taiwan University of Science and Technology through the competition champion qualification. Looking back, I’m really glad I seized this opportunity!

Fast forward to 2017, after graduating from university, I entered the workforce as a back-end engineer. In terms of web development, I mainly specialized in back-end (Laravel) during university, and didn’t research much on the front-end, using ready-made frameworks (Bootstrap/Semantic UI).

At this point, I hit a bottleneck, being in the same field for too long without any breakthrough development. So I set new goals for myself:

  1. Continue to delve deeper into the back-end
  2. Switch to marketing (GA)/planning field
  3. Learn a new language/write an APP

At this time, another opportunity appeared. The project I joined was about to start developing a mobile platform application. Initially, my plan was to write the API back-end, using Laravel with some new technologies, which would also be a kind of breakthrough for me. Here, I must mention that when making decisions, you should look far ahead. My initial choice to continue with the back-end was due to inertia and the high perceived cost of stepping into a new field, as I didn’t have a Mac and it was a completely new area. Fortunately, with my supervisor’s guidance, I eventually chose to step into iOS APP development.

Now, in 2018, it’s been exactly a year since I started developing iOS APPs. The gains include learning a new language, Swift, iOS APP development, the sense of achievement from launching my own APP, and starting to write on Medium. I’m glad I seized this opportunity, as it opened another window for my career!

Insights for Back-End Engineers Switching to iOS APP Development

“Isn’t programming all the same?” Switching fields is like switching mountains…

Having someone guide you initially can speed things up because many concepts are quite different from web development. You’ll go through a period of hitting walls, but hang in there! You’ll see the light of success!

I myself hit walls for almost a month. After getting a bit of a grasp, you’ll encounter the second wall period. At this point, you need to become more resilient, learn from mistakes, and trade time for experience (if you don’t have enough time, consider taking an introductory course or finding a mentor).

  • Development Environment: In the past, writing PHP, we used Sublime, hit Ctrl+S, then Ctrl+Tab to switch to the browser and Ctrl+R to quickly see the results. Now, you need to use Xcode and deploy to a simulator or phone to see the results. This part helps improve my impatience XD.
  • Language: Swift is more modern, strongly typed, and structured. It might be a bit unfamiliar at first, but once you get the hang of it, it’s no problem.
  • Storyboard/Interface Builder: This part lowers the entry barrier for beginners. If you had to code the UI from the start, it would be much harder to learn. You can directly play with the UI visually, learn layout, and connect Outlets.
  • Memory and Page Layout Structure: This is something to pay more attention to and is part of what I mean by trading time for experience. In the past, web development had no limits; you could do whatever you wanted. For example, with tables, you just wrote <table> and ran a PHP loop to display data. But in an app, you need to use the UITableView component to implement it (I remember using UIView to layout and happily telling my supervisor I was done, only to find out it caused a huge memory explosion). Other aspects like memory leaks also need more attention!
  • App Deployment: App development requires more caution and meticulous testing. Unlike web pages where you can fix errors immediately, iOS app versions need to be reviewed, and you can’t downgrade if there are bugs. So fixing a bug takes at least a day, greatly affecting users!
  • User Reviews: Users can give you the most direct feedback.

Five stars warm the heart, one star breaks it

Five stars warm the heart, one star breaks it

Summary

[@returntothesources](http://returntothesources.blogspot.com/2015/02/life-is-like-box-of-chocolates.html){:target="_blank"}

@returntothesources

Life is interesting because of its uncertainties. For the opportunities that come, if you choose to seize them, you’ll gain something; if you choose to let go, the next opportunity might be better. There’s no right or wrong. Just trust your intuition: “Choose what you love, love what you choose.”

Expectations for Myself

Currently still a novice, I will continue to delve into iOS app development, learning and growing towards the future, seeking breakthroughs, and maintaining the habit of writing on Medium. What will the next opportunity be? I’m looking forward to it!

If you have any questions or feedback, feel free to contact me.

===

本文中文版本

===

This article was first published in Traditional Chinese on Medium ➡️ View Here


This post is licensed under CC BY 4.0 by the author.

Handling Push Notification Permission Status from iOS 9 to iOS 12 (Swift)

Add 'App Notification Settings Page' Shortcut in User's 'Settings' on iOS ≥ 12 (Swift)