Kiến Thức Tin Học Con đường và sự nghiệp của một lập trình viên rất ...

Xem trong 'Làng Tin Tức' đăng bởi Kiến Thức Tin Học, 4/6/16, [ Mã Tin: 45510 ] [73 lượt xem - 0 bình luận]

  1. SĐT :
    01248121289
    Địa Chỉ :
    TP. Hồ Chí Minh
    Gửi tin nhắn
    Có một sự thật đắng lòng mà nhiều lập trình viên không muốn phải đối mặt đó là sự nghiệp lập trình của họ sẽ tiến đến một đỉnh cao và sau đó là một sự suy tàn không thể tránh khỏi.
    Một nghiên cứu cho thấy khoảng thời gian sự nghiệp làm việc hiệu quả của một lập trình viên là có giới hạn.

    laptringvien.jpg

    Tất cả mọi người đều biết rằng cuối cùng các lập trình viên có thể trở thành người quản lý (manager) hoặc lãnh đạo (leader).

    Khi bạn đang ở độ tuổi 20, bạn có thể ghét ý tưởng về việc trở thành một nhà quản lý, nhưng khi ở tuổi 40 thì bạn có thể lại ghét công việc ngồi viết code. Tuy nhiên, việc biết và hiểu rõ các lựa chọn của mình và kết quả mà chúng mang lại là điều rất cần thiết.

    Một con đường sự nghiệp tiềm năng từ sự khởi đầu trong lĩnh vực kỹ thuật như một Junior Programmer cho đến đỉnh cao nhất là trở thành một CTO (Giám đốc công nghệ).

    Junior Developer

    • 0-3 năm kinh nghiệm ( thường là người vừa bước chân ra khỏi giảng đường đại học )
    • Có thể viết các script đơn giản
    • Hiểu biết sơ bộ về toàn bộ một vòng đời ứng dụng
    • Hiểu biết sơ bộ về cơ sở dữ liệu và các dịch vụ ứng dụng (queues, caching, v.v...)
    • Không cảm thấy thoải mái trong bất cứ phần nào của một ứng dụng phức tạp

    Phần lớn sự nghiệp của một lập trình viên có thể với tư cách là một lập trình viên senior. Trong thực tế, nếu bạn ghét làm quản lý và bạn chỉ yêu thích việc viết code, thì bạn có thể là một lập trình viên senior trong suốt sự nghiệp của mình.

    Khi bạn bắt đầu bước chân vào sự nghiệp lập trình, nó có thể đầy khó khăn và nản lòng. Có lúc bạn cảm thấy chiều sâu kiến thức của mình chưa đủ để đáp ứng cho công việc, không chắc chắn về việc làm thế nào mà người ta có thể viết ra những ứng dụng lớn và phức tạp đến như vậy.

    Lap-trinh.jpg

    Một khi bạn hiểu công nghệ đủ để trở thành một lập trình viên senior, thì bạn có thể đã có những bí quyết kỹ thuật để trở thành một technical founder hoặc CTO (Giám đốc công nghệ) của một startup.

    Nhưng một dấu hiệu của lập trình viên junior chính là sự thiếu kinh nghiệm. Ngay cả các lập trình viên junior thông minh và học hỏi nhanh nhất cũng không được tiếp xúc với nhiều code hoặc các trường hợp hóc búa mà cần có sự khôn ngoan của một lập trình viên senior.

    Lead Developer hoặc Architect
    • 7-10+ năm kinh nghiệm
    • Có các kỹ năng cơ bản giống như một lập trình viên senior
    • Lead Developer: là vai trò chuyển tiếp vào một chức vụ quản lý cấp trung (Mid-Level Manager)
    • Architect: là một vai trò kỹ thuật thuần túy
    Các architect đôi khi viết code, nhưng họ thường thiết kế các hệ thống phức tạp mà sẽ được thực hiện bởi các nhóm lập trình viên senior và junior. Công việc của một architect là sử dụng những kiến thức kỹ thuật của mình thu được sau nhiều năm kinh nghiệm (nghiêng về lập trình patterns và anti-patterns) để tạo ra cấu trúc cho một dự án phần mềm thành công.

    Mặc dù các lead developer thường không đảm nhiệm công việc tuyển dụng và sa thải các lập trình viên, nhưng họ làm rất nhiều công việc tương tự như các nhà quản lý.

    Lap-trinh-vien.jpg
    Mid-Level Manager (Quản lý cấp trung)
    • Chức danh này thường bao gồm các từ như Manager hoặc Director (Developer Manager, * Product Manager hoặc Project Manager)
    • Là sếp (có thể thuê/sa thải) của các lập trình viên
    • Báo cáo công việc tới một Senior Leader
    Quản lý thường là nấc thang tiếp theo trong sự nghiệp dành cho các kỹ sư. Nếu bạn bị ám ảnh về các tính năng và cải tiến sản phẩm, thì trở thành một product manager là rất phù hợp.

    Vai trò điển hình của developer manager là để dàn xếp các nhu cầu của product manager và project manager với các thành viên của nhóm phát triển. Vai trò này đòi hỏi kỹ năng mềm rất lớn, tài năng để dàn xếp các xung đột.

    Senior Leader (Quản lý cấp cao)
    • VP, CTO hoặc CEO
    • Là sếp (có thể thuê/sa thải) các quản lý cấp trung
    • Báo cáo công việc tới một Senior Leader khác hoặc tới Ban giám đốc
    Các manager thường không cần phải quản lý. Họ cần phải được dẫn dắt. Các mid-level manager cần biết định hướng cấp cao mà họ cần phải đi theo, chứ không phải là chỉ hướng đi chi tiết.

    Công việc của một senior leader là đưa ra những quyết định cấp cao và truyền cảm hứng cho lực lượng lao động của họ đi cùng với những quyết định đó, và tin vào sứ mệnh đó.

    Công việc của một senior leader là một công việc rất khó khăn. Công việc này đầy nguy hiểm, đau khổ và cạm bẫy.

    Kết luận

    Cơ hội cho các lập trình viên ngày nay là rất phong phú và dồi dào. Và lập trình viên hiện nay đang có nhu cầu cao hơn so với bất kỳ giai đoạn nào trong lịch sử. Đây là một thời điểm tuyệt vời để trở thành một lập trình viên.