【極速開發+】熱血學員的典範之一
今年 #極速開發 開始支援 python/pycharm 的版本,其實我自己一開始不是多有信心,畢竟我在今年以前 python 是沒經過實戰歷練的,只是就我在其他語言跟 IDE 的相關設定體驗,試著在 pycharm 上用 python + TDD 進行 Tennis kata 的練習。(現在倒是有一些實戰經驗了,慶幸自己在今年元旦就把基本功練好,在客戶這邊就能掌握機會、展現價值。)
這次六月份的梯次,有幾位寫 python 的同學來上課,在之前他們用 vscode 開發,從這門課開始試著用 pycharm 來練習。
為什麼說他熱血?
1) 他的影片從第一天練習 31:xx 還寫不完,被我加在待辦理面還沒協助 review,到第 11 天的練習,他靠自己的努力,以課程建議的練習模型,自我 review, 自我持續改善瓶頸,第11天的結果已經能壓到 15 分鐘之內完成。
2) 當他 python 練完之後,他開始用 webstorm 在練 javascript 了。雖然 javascript 的第一天還是需要 29 分鐘,但他還是持續在練習跟 review。
3) 今年 4/9 他跟另外一位朋友兩個人上去 PTT 的 Soft_Job 版上,揪第三個人來團報這門課,被蠻多人酸得很慘。還被誤會成打廣告,這種東西還要花錢去上課,反正極盡所能的酸。
我覺得很內疚,因為我沒辦法幫他們說什麼話,PTT 本來就不是個說理的地方。
但他們用成果證明了,他們的與眾不同。兩個月過去了,那些出張嘴酸人的鄉民,不曉得變強了多少?但是他們很清楚知道,累積在自己身上的技能不會不見,在實務工作上開始享受學習跟練習的成果,而且已經能開始舉一反三去優化自己其他的開發環境跟生產力的瓶頸了。
用成果來證明自己,是一件值得自豪的事。
那些眼睛只盯著其他人說些五四三的,從來就只能當追隨別人背影的角色,真正衝在最前面的,目標永遠是在超越自己,而不是別人。
【註1】 第 11 天的 python 影片這裡去:https://www.youtube.com/watch?v=3Bq9oUZS_jE
【註2】PTT Soft_Job 版 4/9 揪人上課的文章連結:https://www.ptt.cc/bbs/Soft_Job/M.1586440140.A.FEC.html
【註3】這門課從 2018 年 1 月 20日,開始第一梯次上課,受過的酸言酸語沒停過,但到現在每個梯次內外訓都是爆滿(今年最後一個梯次在十一月,也已經額滿,目前等待隊列已有 2 位排隊中),值得一提的是,兩年半的現在,上課內容比之前多了 2/3,支援的版本也從 C# + Visual Studio,到現在的 IntelliJ (含 Android Studio), PhpStorm, WebStorm, PyCharm, Rider/Visual Studio+ReSharper, VSCode。
感觸良多。
很謝謝願意相信、願意練習、願意讓自己發光發熱、願意用成果讓其他人閉嘴的大家,你們的練習成果,在實務上所發揮自己的練習成果,就是這門課最大的價值,謝謝你們。
「vscode c++ 20」的推薦目錄:
- 關於vscode c++ 20 在 91 敏捷開發之路 Facebook 的最佳貼文
- 關於vscode c++ 20 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最佳貼文
- 關於vscode c++ 20 在 91 敏捷開發之路 Facebook 的最佳解答
- 關於vscode c++ 20 在 How do I use C++20 in vscode? - Stack Overflow 的評價
- 關於vscode c++ 20 在 Embedded C++20: VSCode Setup for C++ and ... - YouTube 的評價
- 關於vscode c++ 20 在 IntelliSense giving errors when C++20 features are used ... 的評價
- 關於vscode c++ 20 在 VS Code 新增C++ 標頭檔路徑 的評價
vscode c++ 20 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最佳貼文
+++8 ทักษะที่โปรแกรมเมอร์ควรมี (มือใหม่) ในปี 2020 +++
ใครที่อยู่ในสาย Tech คงหนีไม่พ้นเรื่องของการปรับตัว เตรียมตัว และเปิดรับเทคโนโลยีใหม่ๆ แต่ก่อนจะไปเริ่มไล่ดู 8 ทักษะที่โปรแกรมเมอร์ควรมี ลองมาดูเรื่องความต้องการของบริษัทในไทยดีกว่า ว่าอาชีพไหนมาแรง และเงินเดือนเริ่มต้นเยอะที่สุด!!
ขอต้อนรับเข้าสู่ปี 2020 ปีแห่งความต้องการ อาชีพโปรแกรมเมอร์ แน่นอนว่า เด็กจบใหม่ต่างก็ต้องหางานทำ และหนึ่งในอาชีพที่บริษัททั่วไทยต้องการมากที่สุดในปีนี้ ก็หนีไม่พ้น อาชีพโปรแกรมเมอร์ ....
อีกทั้ง อาชีพโปรแกรมเมอร์ ยังเป็นอาชีพที่มีรายได้เริ่มต้นมากที่สุดอีกด้วย
มาเข้าเรื่องกันเลยดีกว่าว่า 8 ทักษะที่โปรแกรมเมอร์ควรมี (มือใหม่) ในปี 2020 มีอะไรบ้าง??!!
_____________________________
1 Containers (Docker & Kubernetes)
ทักษะด้าน Containers : Containers หรือเครื่องมือที่ใช้ช่วยจัดการให้สามารถปรับนู่นนี่นั้นได้ง่ายขึ้น เช่น การใช้ Containers ของ Docker หรือ Kubernetes (ตัวที่โปรแกรเมอร์ส่วนใหญ่ใช้กัน) ไม่ว่าจะในแอพพลิเคชั่น หรือเว็บไซต์
เมื่อแอพเป็น Container ถ้าในอนาคตบริษัทอยาก Scale หรือโยกย้ายเครื่อง ก็จะสามารถเอาทั้ง Container ไปวางบนเครื่องใหม่ได้เลย โดยที่ไม่ต้องมานั่ง Setup อะไรใหม่อีก
จากทั้งหมดที่กล่าวมา คือ Containers นี้จะช่วยให้โปรแกรมเมอร์ทั้งหลาย สามารถ Deploy งานได้ง่าย สะดวก และเร็วขึ้น
#เครื่องมือที่แนะนำ
- Docker
- Kubernetes
_____________________________
2 Cloud Platform (AWS, GCP & Azure)
ทักษะด้าน Cloud Platform : Cloud Platform คือ การเลือกใช้แพลตฟอร์มที่ให้บริการด้าน Cloud นั่นแหละ โดยแต่ละแพลตฟอร์มก็จะมีความสามารถที่แตกต่างกันออกไป แต่โดยรวม Cloud Platform จะมีหน้าที่ช่วยประมวลผล จัดเก็บข้อมูลอันมหาศาล โดยผ่านระบบ Cloud ที่สามารถใช้งานได้ทุกทีทุกเวลาตลอด 24 ชม. ผ่านอินเทอร์เน็ต
อีกทั้งยังช่วยลดความยุ่งยาก และลดต้นทุนในการติดตั้งระบบคอมพิวเตอร์ หรือเครือข่ายของตัวเอง ซึ่งการใช้งานไม่ได้มีความซับซ้อนอะไรมากมาย แถมยังสะดวก รวดเร็ว และใช้งานได้ง่ายอีกด้วย
อีกทั้งยังสามารถเพิ่ม หรือลดจำนวนทรัพยากร (ขนาดความจุ) ได้ ตามความต้องการในการใช้งาน อาจมีค่าใช้จ่ายในส่วนของจำนวนทรัพยากร
#เครื่องมือที่แนะนำ
- Amazon Web Service (AWS)
- Google Cloud Platform (GCP)
- Microsoft Azure (Azure)
_____________________________
3 Data Structure & Algorithm
ทักษะด้าน Data Structure & Algorithm : Data Structure & Algorithm คือ พื้นฐานที่โปรแกรมเมอร์ หรือนักพัฒนาซอฟต์แวร์ ควรมีอยู่แล้ว โดย Data Structure & Algorithm ที่ว่า...มัน หมายถึง พื้นฐานด้านกระบวนการคิดที่เป็นขั้นเป็นตอน สามารถจัดเรียงข้อมูล และวางโครงสร้างระบบ หรืออะไรก็ตามได้อย่างเป็นระเบียบเรียบร้อย
โดยส่วนใหญ่ทักษะด้านนี้จะช่วยให้ โปรแกรมเมอร์ ทั้งหลาย มองเห็นถึงปัญหาที่เกิดขึ้น และมองเห็นถึงวิธีการแก้ไขปัญหาเหล่านั้นได้ง่ายขึ้น
อีกทั้งยังสามารถช่วยให้ทำงานได้รวดเร็ว และมีประสิทธิภาพมากขึ้นอีกด้วย
#เพิ่มเติม
Data Structure คือ โครงสร้างของข้อมูล เป็นกระบวนการจัดการข้อมูลให้อยู่ในโครงสร้าง หรือ การจัดเตรียมรูปแบบในการจัดเก็บข้อมูลให้มีความเป็นระเบียบ และถูกต้อง
Algorithm คือ ขั้นตอนวิธีการ หรือที่เรียกว่า อัลกอริทึม นั้น เป็นกระบวนการในการแก้ปัญหาที่สามารถเข้าใจได้ง่าย มีขั้นตอน ลำดับวิธี หรือวิธีในการแก้ไขปัญหาใดปัญหาหนึ่ง โดยอาศัยความเป็นระเบียบเป็นขั้นเป็นตอน และชัดเจน (ต้องมีจุดประสงค์ในการทำ) จะต้องรู้ว่าสุดท้ายแล้ว จะต้องได้ผลลัพธ์อะไรในการทำ Algorithm
_____________________________
4 Version Control Tool (Git)
ทักษะด้าน Version Control Tool : Version Control Tool คือ อีกหนึ่งเครื่องมือที่เหล่าโปรแกรมเมอร์ทุกทีมต้องใช้กัน และต้องใช้เป็นด้วย อธิบายให้ง่ายๆอีกก็คือ Version Control เป็นเครื่องมือที่จะช่วยให้โปรแกรมเมอร์ทำงานเขียนโค้ด หรือโปรแกรมร่วมกันได้ และง่ายต่อการเก็บข้อมูลที่มีการเปลี่ยนแปลง ผ่านการ Backup และจัดเรียง Source Code อย่างเป็นระบบ และมีประสิทธิภาพมากที่สุด
เรียกได้ว่า เป็นการแก้ไขปัญหาได้ตรงจุดมากๆ สำหรับในการแก้ไขโค้ดไม่ให้ไปทับกับงานของโปรแกรมเมอร์คนอื่นๆภายในทีม นี่จึงเป็นอีกหนึ่งใน 10 ทักษะที่โปรแกรมเมอร์ควรมี นั่นเอง
#เครื่องมือที่แนะนำ
- Git (Distributed Version Control System)
- SVN (Centralized Version Control System)
_____________________________
5 IDEs (Eclipse, NetBeans, IntelliJ IDEA, Jupyter Notebook, Visual Studio Code)
ทักษะด้าน IDEs : IDE จริงๆแล้วย่อมาจาก Integrated Development Environment คือ เครื่องมือที่จะช่วยให้โปรแกรมเมอร์ หรือนักพัฒนาซอฟต์แวร์ มีความสะดวกมากขึ้นสำหรับการพัฒนาโปรแกรม เช่น การใช้คำสั่ง Compile หรือ Run โปรแกรม ซึ่งการเลือกใช้ IDEs มีความสำคัญมาก หากเลือกใช้ได้ถูก และตรงตามมาตราฐานการใช้งานของคนภายในทีม ก็จะยิ่งทำให้ทำงานร่วมกับโปรแกรมเมอร์คนอื่นๆได้ง่ายมากขึ้น
#เพิ่มเติม
การเลือกใช้เครื่องมือ IDEs ย่อมแตกต่างกันออกไป แล้วแต่โปรแกรมเมอร์ หรือนักพัฒนาซอฟต์แวร์ แต่ละคนว่าดูแลในส่วนไหนอยู่ ซึ่งแต่ละคนก็มีความถนัดที่แตกต่างกันออกไป จึงอาจจะใช้เครื่องมือ IDEs ที่ต่างกัน
#เครื่องมือที่แนะนำ
- Eclipse, NetBeans, และ IntelliJ IDEA สำหรับ ภาษา Java
- Jupyter Notebook สำหรับ ภาษา Python
- Visual Studio Code (VSCode) สำหรับ ภาษา C, ภาษา C++ และ ภาษา C#
_____________________________
6 Database & SQL
ทักษะด้าน Database & SQL : Database และ SQL คือ สิ่งที่อยู่กับโปรแกรมเมอร์มาตั้งแต่ไหนแต่ไรแล้ว ซึ่งเรื่องของ Database และ SQL ถือเป็นพื้นฐานที่โปรแกรมเมอร์ต้องมีอยู่แล้ว ที่สำคัญสำหรับโปรแกรมเมอร์ที่ต้องทำในยุคนี้ ก็คือ ความรู้พื้นฐานในด้านการทำ Create / Read / Update / Delete หรือ CRUD นั้นเอง และสามารถเขียน SQL เพื่อดึง Database หรือข้อมูลที่ต้องการออกมาใช้งานได้
เหล่าโปรแกรมเมอร์ควรศึกษา และเรียนรู้อย่างละเอียดว่าจะทำยังไง เมื่อดึงข้อมูลปุ๊ปต้องได้ปั๊ป ฐานข้อมูลเป็นเรื่องที่สำคัญมากๆ หากพลาด หรือเขียนผิดไปนิดเดียวอาจทำให้พังทั้งระบบก็ได้ ที่สำคัญอีกอย่างไม่แพ้กัน คือ ควรจะวิเคราะห์อย่างละเอียดก่อนว่าระบบที่กำลัฃจะพัฒนาขึ้นมา เหมาะกับฐานข้อมูลแบบไหน...จงให้ความสำคัญกับเรื่องข้อมูลเป็นอันดับต้นๆจะดีที่สุด
#เครื่องมือที่แนะนำ
- Oracle
- MySQL
- Microsoft SQL Server
- PostgreSQL
_____________________________
7 OOP Programming language (C++, Java or Python)
ทักษะด้าน OOP Programming language : OOP หรือ Object Oriented Programming คือ การเขียนโปรแกรมเชิงวัตถุ ยิ่งกว่าคำว่าพื้นฐาน เพราะมัน คือ พื้นฐานของพื้นฐานสำหรับโปรแกรมเมอร์ หรือนักพัฒนาอีกทีนึง การเขียนโปรแกรมแบบ OOP ยกตัวอย่าง เช่น ภาษา C++, ภาษา Java, ภาษา JavaScript และ ภาษา Python เป็นพื้นฐานสำหรับผู้ที่เพิ่งจะเริ่มต้นเขียนโปรแกรม ก่อนจะเข้าสู่นักพัฒนาอย่างเต็มตัว ถ้าหากโปรแกรมเมอร์มือใหม่สามารถเขียนโค้ดพวกภาษาที่เป็น OOP ได้แล้ว นั้นหมายความว่าคุณได้มีทักษะ Skill เพิ่มขึ้นมาแล้ว เมื่อคุณคิด หรือต้องการสร้างอะไรขึ้นมาก็สามารถเขียนขึ้นได้เลย ทำให้สามารถเอาไปต่อยอดในอนาคตต่อไปได้อย่างแน่นอน
_____________________________
8 Networking (Basics)
ทักษะด้าน Networking : Networking คือ ระบบเครือข่ายที่เป็นส่วนสำคัญของการทำงานสายโปรแกรมเมอร์อย่างมาก เนื่องจากการทำงานในส่วนของการพัฒนาเว็บไซต์ หรือแอพพลิเคชั่น ของโปรแกรมเมอร์ หรือนักพัฒนาซอฟต์แวร์ ต้องอาศัยระบบ Network อยู่แล้ว เพื่อที่จะเชื่อมต่อระบบที่พัฒนาไปยัง Server การทำงานของเหล่านักพัฒนาจึงจำเป็นที่จะต้องรู้เรื่องหลักการทำงานของระบบ Network เป็นพื้นฐานคร่าวๆอยู่แล้ว ทักษะด้าน Networking จึงเป็นอีกทักษะที่โปรแกรมเมอร์ในยุคนี้ขาดไม่ได้
_____________________________
ไม่ว่าจะเป็น Dev โปรแกรมเมอร์ หรือนักพัฒนาระดับไหน ถ้าขาด ทักษะที่โปรแกรมเมอร์ควรมี ทั้ง 8 ข้อนี้ คงจะทำงานยากขึ้นหน่อย อย่าลืมที่จะเพิ่มทักษะเหล่านี้ขึ้นมาด้วย!!
หากใครสนใจอ่านเพิ่มเติมบทความนี้แบบเต็มๆได้ที่นี่ bit.ly/8SkillsProgrammerNOWASUCO
_____________________________
แล้วคุณหละ??
มี ทักษะที่โปรแกรมเมอร์ควรมี อะไรแนะนำเราบ้าง...
ลอง comment, share หรือ tag บอกให้เรารู้ที!!
_____________________________
Source
+++ 8 ทักษะที่โปรแกรมเมอร์ควรมี (มือใหม่) ในปี 2020 +++ - NOWASU
https://nowasu.co/…/8-skills-programmer-should-learn-in-20…/
11 Essential Skills Software Developers should Learn in 2020 - Javin Paul
https://dev.to/…/11-essential-skills-software-developers-sh…
_____________________________
#บทความที่เกี่ยวข้อง
9 ทักษะที่ควรมี ก่อนเรียนจบ เพื่อก้าวข้ามยุค "หุ่นยนต์ แย่งงาน"
http://bit.ly/9SkillsNOWASUCO
9 อันดับ งานด้านคอมพิวเตอร์ IT ที่บริษัทต้องการมากที่สุด!!
http://bit.ly/9JobsComputerNOWASUCO
ทักษะที่บริษัทต้องการมากที่สุด ในปี 2019 จากข้อมูลของ LinkedIn พร้อมเหตุผล!!
http://bit.ly/SoftAndHardSkills2019NOWASUCO
8 อาชีพมาแรง แซงทุกโค้ง ที่บริษัททั่วโลกต้องการ!! ภายในปี 2020
http://bit.ly/8Jobs2020NOWASUCO
5 งานด้านคอมพิวเตอร์ ที่เจ๋งที่สุด…และไม่ต้องเขียนโค้ด!!
http://bit.ly/5JobsComputerNOWASUCO
5 อาชีพอยู่รอด จากโลกยุค "หุ่นยนต์แย่งงานมนุษย์"
http://bit.ly/5JobsNOWASUCO
10 เทคโนโลยีใหม่ ที่จะเกิดขึ้นภายในปี 2019 และในอนาคต
http://bit.ly/Report10Tech2019NOWASUCO
MIT Technology Review เผย 10 เทคโนโลยีเปลี่ยนโลก ในปี 2019 (Bill Gates ช่วยเลือก)
http://bit.ly/MITReport10TechNOWASUCO
8 เทรนด์ Digital Marketing มาแรง แซงทุกโค้ง ที่ควรนำมาใช้ ภายในปี 2019
http://bit.ly/8TrendsDigitalMarketingNOWASUCO
vscode c++ 20 在 91 敏捷開發之路 Facebook 的最佳解答
過年避免到人多擁擠的公共空間去,那就來欣賞一下別人的 #刻意練習 的 #熱血 練功過程吧。
2019年五月梯次的極速開發,Kochi 在上完課之後連續練習了 40 天,一共錄了 57 支影片,最後一版影片壓在 13:47 完成 tennis kata。(每支影片的 timebox: 30 分鐘)
中間也有蠻多支影片我會在影片下方給予 review 的 comments,有興趣的朋友可以參考這張 trello card:
https://trello.com/c/9M6op0Lx/186-kochi-%E8%AA%B2%E5%BE%8C%E7%B7%B4%E7%BF%92
系列影片請見:https://www.youtube.com/watch?v=k6reknnOL_0&list=PLfNmyamgAH9HF89FAMNoOLecukgAGeyTU&index=57
下一梯極速開發在六月,已支援 vscode 與 pycharm,簡介、影片、報名,請見:https://dotblogs.com.tw/hatelove/2019/11/23/extreme-developing-training-202006
用對方法刻意練習,最後就可以在戰場上展現平時練習累積的成果。
--
有些人說,真正在寫程式時,80~90% 是在思考,而不是在 coding。
或許吧,但在那 10%~20% 如果我們的速度差了 10 倍以上,而那 80~90% 的思考又不相上下,那帶著 #極速 狀態的工程師就是能多很多時間出來,用來嘗試更多解決方案而找到最剛好的那一個,能多時間出來學習與整理知識和技能,能多時間出來調整架構、重構設計、撰寫自動測試。
長久以往,彼此之間的檔次就會不斷拉鋸開來,用對方式的刻意練習與持續改善,讓自己進入正向的增強迴路,油門一路踩下去,那些停滯成長的人跟只能出張嘴酸你的人,最後就連你車尾燈都看不見了。
--
PS: 我的賣點從來就不在我的技術是最高超的,而是我能讓大家在上課的過程中透過提問與引導思考,幫助大家了解全面、系統化的知識,了解來龍去脈的整體脈絡,並讓大家在上課之後熱衷於實務應用,從 #知識 到 #技能 的過程,才是真正的價值。
#首席熱血點火師
vscode c++ 20 在 Embedded C++20: VSCode Setup for C++ and ... - YouTube 的推薦與評價
In this video we go through my VSCode setup which I use for embedded C++.Code is here:https://github.com/howroyd/embedded_cpp20. ... <看更多>
vscode c++ 20 在 IntelliSense giving errors when C++20 features are used ... 的推薦與評價
Bug type: Language Service Describe the bug OS and Version: Windows 10 VS Code Version: 1.62.3 C/C++ Extension Version: 1.8.0-insiders If ... ... <看更多>
vscode c++ 20 在 How do I use C++20 in vscode? - Stack Overflow 的推薦與評價
... <看更多>