+++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
「oracle sql in」的推薦目錄:
- 關於oracle sql in 在 โปรแกรมเมอร์ไทย Thai programmer Facebook
- 關於oracle sql in 在 โปรแกรมเมอร์ไทย Thai programmer Facebook
- 關於oracle sql in 在 91 敏捷開發之路 Facebook
- 關於oracle sql in 在 Oracle SQL for Beginners | Great Learning - YouTube 的評價
- 關於oracle sql in 在 [Oracle DB]Oracle SQL select from where用法教學 - Pinterest 的評價
oracle sql in 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 八卦
ลิงนี้ https://www.cp.eng.chula.ac.th/~somchai/ULearn/index.html
เป็นคอร์สวีดีโอสอนฟรี 3 วิชา ของอาจารย์ รศ. ดร. สมชาย ประสิทธิ์จูตระกูล จากจุฬา
1) เริ่มเรียนเขียนโปรแกรม (ฉบับจาวา)
2) โครงสร้างข้อมูล (ฉบับจาวา)
3) การออกแบบอัลกอริทึม
ลืมบอกไปวิชา Java จะเป็นเวอร์ชั่นเก่าหน่อย สมัยยังเป็นของบริษัท Sun microsystems ตอนนี้ก็โดน Oracle เทคโอเวอร์ซื้อกิจการไปแล้ว
+++เพิ่มเติม++++
เนื้อหาวิชาทั้งภาษา C++,C,Java,Android,Swift,HTM,CSS,ภาษาR, ภาษา Go, Agile, JavaScript,Unix,Python,ภาษา R,ภาษา GO,SQL,Network,Server,SQL,Database,MogoDB,IoT, Embedded system, Ai, Machine learning อื่นอีกมากมายๆ
แอดมินก็พยายามรวบรวมให้แล้ว ตามลิงค์นี้ https://github.com/adminho/learning-it
This monkey https://www.cp.eng.chula.ac.th/~somchai/ULearn/index.html
It's a free video course for 3 subjects of the teacher. Dr. Dr. Somchai Prasit Ju family from chula
1) start programming classes (Java Edition)
2) data structure (Java Edition)
3) Algorithm design
I forgot to tell you. Java will be an old version. When I was still belong to sun microsystems company. Now I have been taken by Oracle.
+++ more ++++
Contents in both c ++, c, Java, Android, swift, htm, CSS, r, go language, agile, Javascript, Unix, Python, r, go language, SQL, network, server, SQL, database, database, Mogodb, Iot, embedded system, ai, machine learning many more
Admin is trying to gather. Follow this link https://github.com/adminho/learning-itTranslated
oracle sql in 在 91 敏捷開發之路 Facebook 八卦
NOT IN/NOT EXISTS/EXCEPT 使用注意事項
#SQL
【SQL Tips】之【 NULL處理技巧,使用NOT IN /NOT EXISTS/EXCEPT】
許多時候,兩個資料表要找出差異值的時候,許多人第一直覺就是使用【NOT IN】,當然大部分時候都不會有狀況,但是碰到NOT IN的子查詢資料值,如果有NULL,就全盤皆輸,意思就是找不出任何差異。這樣在小量資料可以藉由眼力觀察的狀況下,還可以找出這樣寫法NOT IN的危險地方,但是碰到背景程式,或是資料量多的時候,幾乎無法觀察到這樣危險。所以,告訴自己不要再用【NOT IN】去找出兩邊資料差異。
反倒是要使用【NOT EXISTS】寫法,雖然是複雜一點,但是跨越SQL Server與Oracle兩種資料庫,都是可以正常找出兩邊資料差異值,不擔心NOT EXISTS的基礎資料表有NULL值狀況。另外值得一提就是,需多人會直接使用SQL Server的【EXCEPT】與Oracle的【MINUS】方式,要留意再留意,這樣的方式雖然可以找出差異值,但是針對回傳值,會自動進行重複資料列移除。
【SQL Server Code】
if object_id('x') is not null
drop table x
go
--建立比對基礎資料
create table x(a int)
go
insert into x values(1)
insert into x values(1) --注意重複
insert into x values(NULL) --注意NULL
go
if object_id('y') is not null
drop table y
go
--建立簡單比對來源資料
create table y(b int not null)
go
insert into y values(1)
insert into y values(1)
insert into y values(2)
insert into y values(2)
insert into y values(2) --注意三個2
go
--三種找出y資料表中(1,1,2,2,2) 然後不存在於 x資料表中的(1,1,null)
--【預期要回傳三個2】
--第一種 使用NOT IN 注意(子查詢有NULL值)
--無法處理對比資料表有NULL狀況
SELECT b
FROM y
WHERE b NOT IN(SELECT a from x)
GO
--第二種 使用NOT EXISTS 注意(SELECT 需要 JOIN)
--忠實回傳三個2
SELECT b
FROM y
WHERE NOT EXISTS (SELECT * FROM x WHERE x.a = y.b)
GO
--第三種 使用EXCEPT (僅回傳一個2)
SELECT b FROM y
EXCEPT
SELECT a FROM x
GO
【Oracle Code】
drop table x purge;
--建立比對基礎資料
create table x(a int);
insert into x values(1);
insert into x values(1); --注意重複
insert into x values(NULL); --注意NULL
drop table y purge;
--建立簡單比對來源資料
create table y(b int not null);
insert into y values(1);
insert into y values(1);
insert into y values(2);
insert into y values(2);
insert into y values(2); --注意三個2
--三種找出y資料表中(1,1,2,2,2) 然後不存在於 x資料表中的(1,1,null)
--第一種 使用NOT IN 注意(子查詢有NULL值)
--無法處理對比資料表有NULL狀況
SELECT b
FROM y
WHERE b NOT IN(SELECT a from x);
--第二種 使用NOT EXISTS 注意(SELECT 需要 JOIN)
--忠實回傳三個2
SELECT b
FROM y
WHERE NOT EXISTS (SELECT * FROM x WHERE x.a = y.b);
--第三種 使用EXCEPT (僅回傳一個2)
SELECT b FROM y
MINUS
SELECT a FROM x;
oracle sql in 在 [Oracle DB]Oracle SQL select from where用法教學 - Pinterest 的八卦
May 1, 2014 - Java JSP Servlet jQuery JavaScript Spring SpringMVC Hibernate、Linux、MySQL、PHP、C/C++、HTML5/CSS3、Android、Struts、Xml、Ajax、Json. ... <看更多>
oracle sql in 在 Oracle SQL for Beginners | Great Learning - YouTube 的八卦
#oraclesql #oracledatabase #oracledatabasetutorial. Oracle SQL Tutorial | Oracle DBA | Oracle SQL for Beginners | Great Learning. ... <看更多>