#1 tech recruiter in thailand

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

สำหรับคนไอทีที่อยากพัฒนาตนเองให้เป็น “มืออาชีพ” อยากให้อ่านบทความนี้ครับ เพราะคุณ 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/

th