#1 tech recruiter in thailand

9 สิ่ง ที่ช่วยเสริมให้เป็น Developer มืออาชีพ

See the original English version of this article here

สำหรับคนไอทีที่อยากพัฒนาตนเองให้เป็น “มืออาชีพ” อยากให้อ่านบทความนี้ครับ เพราะคุณ Germán Cutraro ได้เขียนถึงสิ่งที่ช่วยเสริมให้คุณเป็น Developer มืออาชีพยิ่งขึ้น การจะทำสิ่งเหล่านี้ไม่ง่าย ต้องใช้เวลาและความพยายาม และคุณไม่จำเป็นต้องเป็น “Expert” ในเรื่องเหล่านี้ไปเสียทุกเรื่อง แต่แน่นอนว่าการรู้รอบด้าน มันช่วยทำให้คุณ “เก่งรอบด้าน” ยิ่งขึ้นแน่นอน

1. Mathematics

ความรู้ทางด้านคณิตศาสตร์ จะช่วยส่งเสริมให้คุณคิดอย่างมีตรรกะ ทำให้คุณมีพื้นฐานความเข้าใจการเขียนโปรแกรมที่ดีขึ้น เรื่องที่ควรรู้ เช่น Arithmetic, Algebra, Discrete Mathematics, Geometry และ Statistics

Online Resources เกี่ยวกับ Mathematics: Saylor Academy, Khan Academy, Coursera, edX

2. Algorithms and Data Structures

นี่เป็นหนึ่งในพื้นฐานที่สำคัญที่ Developer ควรรู้ ความรู้เกี่ยวกับ Algorithms และ Data Structures (ไม่ขึ้นอยู่กับภาษา) จะทำให้คุณมีประสิทธิภาพในการแก้ปัญหาที่ต้องเจอมากขึ้น ควรควรศึกษาพวก Piles, Trees, Linked List, Queue, Ordering Methods, Graphs เป็นต้น

Online Resources เกี่ยวกับ Algorithms and Data Structures: Introduction to Algorithms, Programming Pearls, Cracking the Coding Interview, CodeFights, Udemy

3. Databases

เป็นอีกเรื่องที่ถือเป็นความรู้พื้นฐานที่สำคัญอีกเช่นกัน ในฐานะของ Developer มีความเป็นไปได้สูงที่ต้องมีการใช้งานเชื่อมต่อฐานข้อมูล ควรรู้ SQL, NoSQL และรู้ว่าเมื่อใดควรใช้แบบไหน ยิ่งคุณเชี่ยวชาญเรื่องนี้ ก็ช่วยให้คุณทำงานได้สะดวกขึ้น

Online Resources เกี่ยวกับ Databases: Database System Concepts, Database Management Systems, Understanding MySQL Internals, NoSQL Distilled, Elasticsearch: The Definitive Guide, The Ultimate MySQL Bootcamp: Go from SQL Beginner to Expert, The Complete Developers Guide to MongoDB

4. Computer Architecture

การรู้วิธีการทำงานของคอมพิวเตอร์จะช่วยทำให้คุณเห็นในภาพที่กว้างและเข้าการทำงานของแต่ละสิ่ง เรียนรู้วิธีการทำงานของ Microprocessor, Hierarchy of Memories, Hard Drives เป็นต้น

Online Resources เกี่ยวกับ Computer architecture: Computer Organization and Design, Computer Architecture: A Quantitative Approach, Computer — High Performance Computer Architecture

5. Operating Systems

คุณควรรู้ว่า Operating System ของคุณทำงานอย่างไร โดยทั่วไป OS ถือเป็น Software ที่สำคัญที่สุด เรียนรู้วิธีการทำงานของมัน จะช่วยให้คุณมีแนวทางในการพัฒนาโปรแกรมหรือ Software ที่ดีขึ้น ควรเรียนรู้เกี่ยวกับ Commands, Memory Management เป็นต้น

Online Resources เกี่ยวกับ Operating systems: Operating System Concepts, Operating Systems, Modern Operating Systems, Udemy

6. Networks

ปัจจุบันทุกสิ่งทุกอย่างใช้การเชื่อมต่อกันแทบทั้งสิ้น ดังนั้น การรู้ Computer Networks ถือเป็นพื้นฐานสำคัญ ควรเรียนรู้เกี่ยวกับ Protocol เช่น TCP / IP, FTP, HTTP, การทำงานของ Internet, Server เป็นต้น

Online Resources เกี่ยวกับ Networks: Computer Networking: A Top-Down Approach, TCP/IP Illustrated, Vol 3: TCP for Transactions, HTTP, NTTP, and Unix, Udacity, Cisco

7. Paradigms and Design Patterns

สิ่งนี้จะช่วยให้คุณพัฒนาโปรแกรมคอมพิวเตอร์ได้ดียิ่งขึ้น ในแต่ละภาษาก็มี Paradigms และ Design Patterns ที่แตกต่างกันแต่บางภาษาก็อาจมีส่วนคล้ายกัน ควรเรียนรู้เกี่ยวกับ Object-Oriented Programming, Functional Programming, Reactive, SOLID Principles เป็นต้น

Online Resources เกี่ยวกับ Paradigms and Design Patterns: Head First Design Patterns, Design Patterns: Elements of Reusable Object-Oriented Software, Clean Code: A Handbook of Agile Software Craftsmanship, Functional Programming in JavaScript

8. English

แน่นอนว่ามีหลายประเทศที่ภาษาอังกฤษไม่ใช่ภาษาหลักที่ใช้ในการสื่อสาร แต่มันก็มีความสำคัญมากในยุคนี้ และเป็นภาษาที่ทั่วโลกยอมรับ สำหรับคนไอทีภาษาอังกฤษก็มีความสำคัญโดยเฉพาะทางด้าน Technical เพราะ หนังสือ, Documentation, Blog หรือ Article ดีๆ ส่วนใหญ่มักเป็นภาษาอังกฤษ ดังนั้น คุณควรฝึกฝนทุกทักษะทั้ง ฟัง พูด อ่าน เขียน ให้คล่องแคล่ว มันจะช่วยเปิดโอกาสความก้าวหน้าให้คุณได้มากยิ่งขึ้น

Online Resources เกี่ยวกับ English: edX, Duolingo etc.

9. Teamwork

ปัจจุบันเชื่อว่า คนไอทีแทบทุกคน คงเคยได้ยินและรู้จักคำว่า “Version Control” ซึ่งมันสิ่งจำเป็นในการทำงานเป็นทีมไปแล้ว มันหลีกเลี่ยงไม่ได้ที่ควรจะรู้เกี่ยวกับ Git, Github, SCRUM เป็นต้น อีกเรื่องที่เกี่ยวข้องคือ ทักษะ Soft skills ก็มีความจำเป็นในการทำงานร่วมกับคนอื่น และอีกอย่างที่ทุกคนในทีมควรทำคือ การช่วยเหลือกันและกระตุ้นหทุกคนเรียนรู้ตลอดเวลา ก็มีส่วนช่วยทำให้การทำงาน ประสบความสำเร็จได้มากยิ่งขึ้น

Online Resources เกี่ยวกับ Teamwork: Pro Git, Git & GitHub Tutorial for Beginners, Scrum.org, How to Win Friends & Influence People, Humility: True Greatness

นอกจากนี้ยังมีเรื่องอื่นๆ ที่อยากให้คุณศึกษาไว้(ถ้ามีโอกาส) คือ Ux Design, Computer security, Robotics เป็นต้น

Online Resources เรื่องอื่นๆ: Teach Yourself Computer Science, Network & Security, User Experience, UX: Don’t Make Me Think, Software Development, SoloLearn

ISM Technology Recruitment Ltd. (#1 Tech Recruiter in Thailand) เราเชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการกว่า 25 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย หากคุณเป็นคน IT ที่อยากทำงานท้าทายและร่วมงานกับองค์กรชั้นนำ สามารถฝากประวัติการทำงาน (Resume) ของคุณไว้กับ ISM ได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่

Source:  https://hackernoon.com/

en