iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 1
2
自我挑戰組

Swift - 來吧!鐵人三十項系列 第 1

Day01:走進程式的世界裡,你會害怕嗎?

  • 分享至 

  • twitterImage
  •  

前前言

嗨,大家好,我是 Lacie,您現在收看的是 Swift - 來吧!鐵人三十項 系列的第一篇
在鐵人賽完結後,為保持持續做筆記的習慣
將會在我的 Medium 繼續撰寫文章,若有興趣者可前往觀看。


開端

Hello, World!

學習印出這段程式碼,幾乎是所有程式語言的開端
讓我們來看看維基百科是怎麼說的:

好像講了很多廢話
但對於我來說,印出這句話的用意,其實是在對程式這個美妙又深奧的世界說一聲:

我來了!


背景介紹

  • 5歲開始用電腦上豆豆聊天室,8歲開始跟著哥哥玩天堂,從小就喜歡碰電腦,看電腦組裝過程
  • 大學本來想念資訊相關科系,因為電腦玩太瘋,老爸覺得那個沒前途,最後陰錯陽差進入會計系
  • 某四大會計師事務所兩年資歷
  • 因為做工作底稿有強迫症,喜歡統一格式,曾寫VBA來一鍵解決問題
  • 在職時最喜歡跑資訊室和工程師聊天,看各種黑白畫面(CLI)就覺得很興奮很酷

大家為什麼要學寫程式?

每個人要學寫程式的理由都各有不同,大致可以分為以下幾種:

  1. 本科系畢業,且覺得很有趣
  2. 非本科系畢業,因為覺得很有趣
  3. 非本科系畢業,因為原產業之「薪資極限」而轉職
  4. 想要利用程式來解決一些問題
  5. 不知道自己想要幹麻,因為大家一窩蜂往那裡擠,所以你也一起擠

我認為,想清楚自己為什麼踏進這個領域來,才能使你走得又遠又久


寫程式是什麼?

電腦其實並沒有那麼聰明,儘管它可以做很龐大資料量的運算

寫程式,就是在和電腦溝通的過程
電腦不會做你沒叫它做的事情

為了和電腦溝通,為了告訴電腦我們想要它做什麼事情,因此有人開發了程式語言(編譯後成為機器語言)
有人戲稱和電腦溝通,比跟客戶溝通容易,因為電腦不會發脾氣


程式語言怎麼那麼多?

程式語言很多不是重點,重點是你想做到什麼事、你想解決什麼問題,然後你才去選擇

如同它的名稱,它是一種「語言」,用來和電腦溝通的
就好比你今天想跟人家說早安,你可以說:

  • 早安
  • Good Morning
  • おはようございます
  • 좋은 아침

而程式語言的話,儘管有百百種,重點是「你想做什麼」

  • 如果你想寫 Android APP,你可以學 JAVA 或 Kotlin
  • 如果你想寫 iOS APP,你可以學 Objective-C 或 Swift
  • 如果你兩個都想寫,你可以學 React Native 或 Flutter
  • 如果你想寫網頁前端,你可以學 HTML、CSS、JavaScript

寫程式≠工程師?

會寫程式,就可以自稱是工程師嗎?

我認為,這可以這樣解釋,你會煮很多菜,所以你是專業的廚師嗎?

對於工程師的定義,我覺得是這樣的:

有很多會的,也有很多不會的,但能靠自己獨立解決問題
Ctrl+C + Ctrl+V 的時候知道自己為什麼這樣做,因為不知道的叫做碼農


我為什麼要學寫程式?

無邊無際的世界、永遠學不完的東西、大家都有不一樣的解法、追求更好更棒

除了上述以外,我想要寫程式,是因為我想做到以下的事情:

  1. 將自己心中所想到的點子,用程式碼化為一個實體
  2. 希望能解決一些大家沒注意到的事情(回饋社會)
  3. 能有屬於「自己的作品」,證明自己的實力
  4. 希望上班的每一刻,都是一個學習,且我能「帶得走」
  5. 能有全球移動性的能力

寫程式,為什麼會害怕?

對於跨領域轉職的人來說,最害怕的一件事,其實就是失敗

在soft_job版,常會有人問說

  • 我是XXX科系背景,請問我這樣可以轉職成功嗎?
  • 請問想轉職要從哪個程式語言開始?

會有這樣的疑問,其實是正常的,畢竟人們都想尋找和自己相似的成功的案例來加強信心
或是看著其他心得文,然後想著,嗯!他比我廢!他可以!我也可以!

以上完全是錯誤的想法
就算給你完全復刻一次郭台銘的人生,你也未必會成為郭台銘
更何況是素未謀面,你根本不知道他有多努力的人

不要羨慕他人的成功,因為你付不出他那樣的努力。 by柯文哲

所以,看心得文不是用來加強自己可以轉職成功的信心
是用來看他們學了什麼細節、到底有多努力
以及,如果你「真的」想轉職,不要怕,每天開始努力,你就是他人借鏡的案例


開始的勇氣、持續努力的勇氣?

我離職的時候,別人跟我說「你好勇敢」

身為一位財會背景轉職者,我一開始也想著,放下了工作,失去了薪水
開始全心全意的學著程式,夢想成為一位「工程師」,這個開始的勇氣,真的很可貴

一個月後,我才發現,開始的勇氣很貴
但堅持下去持續努力的勇氣,更貴。


為什麼此系列叫鐵人三十項?

因為在參賽期間,有許多事情同時進行著(例如:VoicetubeHero挑戰、青年創新回饋計畫等等)
基本上此系列是以一個跨領域背景新手Swift學習者為出發點,以淺顯易懂的文字,讓我自己記下對電腦科學的基礎、對Swift的基礎、對「不會的」技術的學習,每天不一定有順序,就看當天想學什麼,如有錯誤煩請不吝指教,謝謝。


特別感謝

雖然以前就一直想成為一位工程師,但對於一個陌生領域,總是會覺得那個領域好像很高很遠且在「發光」,且又是自己一直崇拜的「軟體工程師領域」,總是覺得靠自學就能轉職,真的能嗎?
於是開始認真找資源、找資料學習,首次接觸的程式語言是網頁前端的 HTML、CSS、JavaScript,是因為看到胡立大大的從零到一:程式導師實驗計畫十年程式自學之路,於是自己開始嘗試打下幾行程式碼,可以顯示出一個網頁、或者裝飾它、或者彈出一些警告窗,那樣的「感動」,永遠忘不了
後來又持續觀看了初心者的計概與 coding 火球術,一個非常推薦,簡單易懂的電腦科學,更確立了自己真的想成為工程師
雖然沒有機會參與胡立的課程,且現在在寫iOS XD,依然十分感謝。


下一篇
Day02:天馬行空的幻想式開發 - 新手和老闆都在想些什麼
系列文
Swift - 來吧!鐵人三十項30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
ytyubox
iT邦新手 5 級 ‧ 2019-09-17 00:56:47

不會就學,就是那麼簡單!

我要留言

立即登入留言