10 kiến thức cần biết để trở thành lập trình viên thành công (2016)

Software-Engineering-645x400

Hãy cùng điểm qua những công nghệ mà một Lập trình viên như chúng ta cần nắm được để có thể thành công vào thời điểm này (2016)

1. Công nghệ Web. Tối thiểu cần nắm được cơ bản về HTML, CSS và JavaScript.

2. Ngoài ra cần biết các framework cốt lõi của Web như là Angular, React/Redux. Hiểu về các quy chuẩn thiết kế API, REST, Promises và lập trình không đồng bộ (asynchronous programming).

3. Có kiến thức về các công nghệ quan trọng như ES2015, PostCSS, SVG, Long Polling và WebSockets. Cụ thể thì cần hiểu được hoạt động của long polling và làm sao để kéo giãn (scale) các hệ thống như vậy.

4. Công nghệ Back end. Tối thiểu hiểu được một web framework (Express, Flask, DropWizard, Spray), và cơ sở dữ liệu quan hệ (Postgres, MySQL.)

5. Bên cạnh đó, phải nắm rõ các hệ thống statless, caching (redis, memcached, hazelcast, hay là một phần của hệ thống akka), một cơ sở dữ liệu không quan hệ (Cassandra, ElasticSearch, MongoDB) và một hệ thống hàng đợi (RabbitMQ, Kafka.)

6. Xây dựng và deploy hệ thống. Biết sử dụng ssh. Có thể cấu hình CircleCI/Travis. Cấu hình Jenkins, tích hợp github vào các tiến trình build và release, và hiểu cách tuân theo luồng xử lý của git. Bash scripting. Ít nhất biết về Puppet, chef, ansible, hay salt để có thể thực hiện các quá trình tự động và quản lý cấu hình. Hiểu được làm thế nào để xây dựng nên hệ thống “đường ống vận chuyển liên tục” và tầm quan trọng của hoạt động bền vững (robust operational plane).

7. Hệ thống Cloud. Bởi vì chúng đang dẫn đầu thị trường. Hiểu sâu về AWS; ít nhất 2 trong số EC2, S3, ELB, SQS/Kinesis, DynamoDB/Redshift.

8. Analytics. Tối thiểu hiểu sơ lược về các hệ thống xử lý luồng/mảng quy mô lớn: Hadoop, Spark, Spark streaming, vân vân.

9. Thông thạo ngôn ngữ. Í nhất 3 trong số JavaScript, Python, Scala, Java, C#, Go.

10. Các kỹ năng cốt lõi về thiết kế. OOP/SOLID, lập trình hướng chức năng, TDD, hệ thống phân lớp, design patterns, IoC containers, cùng với nền tảng vững chắc về xử lý song song.

Tất nhiên là còn nhiều thứ nữa :D, nhưng vì danh sách chỉ có 10, nên tôi tạm liệt kê ở đây. Hiển nhiên là chỉ có ít người có thể biết tất cả danh sách trên, và càng ít người có cơ hội làm việc với những công nghệ trên. Chúc các bạn thành công!

Nguồn: quora.com

Leave a comment