Spotlights
Kỹ sư phần mềm, Nhà phát triển ứng dụng, Kiến trúc sư phần mềm, Lập trình viên máy tính, Lập trình viên trò chơi, Nhà phát triển phần mềm trò chơi
Các nhà phát triển phần mềm là những bộ óc sáng tạo đằng sau các chương trình máy tính. Một số phát triển các ứng dụng cho phép mọi người thực hiện các tác vụ cụ thể trên máy tính hoặc thiết bị khác. Những người khác phát triển các hệ thống cơ bản chạy các thiết bị hoặc kiểm soát mạng.
- Khả năng phát triển trong công ty lựa chọn
- Khả năng phụ trách các dự án và ảnh hưởng đến người khác
- Mở rộng kiến thức công nghệ mỗi ngày
- Khả năng ảnh hưởng trực tiếp đến sự phát triển của công ty
- Phân tích nhu cầu của người dùng và sau đó thiết kế, thử nghiệm và phát triển phần mềm để đáp ứng những nhu cầu đó
- Đề xuất nâng cấp phần mềm cho các chương trình và hệ thống hiện có của khách hàng
- Thiết kế từng phần của ứng dụng hoặc hệ thống và lập kế hoạch cách các phần sẽ hoạt động cùng nhau
- Tạo một loạt các mô hình và sơ đồ (chẳng hạn như sơ đồ) cho các lập trình viên thấy mã phần mềm cần thiết cho một ứng dụng
- Đảm bảo rằng một chương trình tiếp tục hoạt động bình thường thông qua bảo trì và kiểm tra phần mềm
- Ghi lại mọi khía cạnh của ứng dụng hoặc hệ thống làm tài liệu tham khảo cho việc bảo trì và nâng cấp trong tương lai
- Cộng tác với các chuyên gia máy tính khác để tạo ra phần mềm tối ưu
Các loại nhà phát triển khác nhau
- Back-end developer - chịu trách nhiệm xây dựng kỹ thuật tổng thể của website
- Front-end developer - chịu trách nhiệm về giao diện của một trang web (bố cục và đồ họa)
- Quản trị viên web - duy trì các trang web và cập nhật chúng
- Nồng độ
- Sáng tạo
- Kỹ năng dịch vụ khách hàng
- Định hướng chi tiết
- Hiểu biết sâu sắc về HTML, các công cụ xuất bản đa phương tiện và ngôn ngữ lập trình
- Linh hoạt
- Người học nhanh
- Khả năng thích ứng nhanh với sự thay đổi
- Kỳ vọng: khả năng học hỏi nhanh chóng và cung cấp mã chất lượng và có thể duy trì
- Hy sinh: phải lấp đầy các lỗ hổng và giúp đỡ các thành viên khác trong nhóm, trên hết trách nhiệm của chính mình, đặc biệt là khi làm việc với các yêu cầu không rõ ràng từ các công ty sản phẩm
- Công ty công nghệ (không quan trọng đó là một công ty lớn hay một công ty khởi nghiệp): tức là Google, Facebook
- Các tổ chức xử lý các hoạt động có thể được thực hiện theo chương trình (ngày càng có nhiều tổ chức phù hợp với mô tả này)
- Tùy chọn tạo khởi động riêng
- Có thể phát triển freelance cho nhiều công ty
- Cửa hàng phát triển
- Trí tuệ nhân tạo giúp phần mềm/ứng dụng/hệ thống thông minh hơn từng ngày
- Học máy tích hợp giúp máy móc suy nghĩ như con người
- Ví dụ về phần mềm này: Trợ lý Google, Siri, Alexa
- Dữ liệu lớn
- Phát triển phần mềm nguồn mở: Mã nguồn gốc của mã nguồn mở được cung cấp sẵn có và có thể được phân phối lại và sửa đổi, làm cho nó trở thành chìa khóa cho sự đổi mới trong nhiều lĩnh vực khác nhau. Phát hành mã nguồn mở không chỉ nuôi dưỡng các doanh nghiệp riêng lẻ mà còn phát triển, tạo ra và đôi khi gây lãng phí cho toàn bộ ngành công nghiệp. Sử dụng mã nguồn mở, biến các dự án của bạn thành mã nguồn mở và trở thành một phần tích cực của cộng đồng nguồn mở là một cách cần thiết để theo kịp công nghệ và trở thành một phần của cộng đồng lớn hơn. [www.oreilly.com]
- Phá vỡ cơ sở hạ tầng và lắp ráp lại: Các chương trình mới này cho phép các kỹ sư phần mềm tập trung vào việc phát triển doanh nghiệp thay vì lo lắng về việc liệu các "cơ quan nội tạng" có hoạt động bình thường hay không: XaaS, kiến trúc phi máy chủ, hệ thống phân tán, vùng chứa và vi dịch vụ. Sử dụng các dịch vụ của bên thứ ba như OpenStack vì sức mạnh tính toán của nó, xây dựng các vi dịch vụ phản ứng để phân chia và tập trung các phân đoạn kiến trúc của bạn nhằm tạo ra một môi trường linh hoạt và có thể mở rộng hơn nhiều, đồng thời triển khai phần mềm liên tục với các công cụ dành cho đám mây như Docker và Kubernetes. [www.oreilly.com]
- Học máy: OpenAI (Elon Musk), Watson (IBM), TensorFlow (Google) và CNTK (Microsoft) đã tạo ra các sản phẩm thú vị mới (Alexa) và mô hình (ứng dụng điều khiển bằng giọng nói), và tự động hóa cơ sở hạ tầng, khiến Machine learning chính thức nóng lên trở lại và tốt đẹp trong khoảng thời gian này. [www.oreilly.com]
- Thiết kế lấy khách hàng làm trọng tâm: "Đặt khách hàng lên hàng đầu dẫn đến thành công mọi lúc" [www.oreilly.com]
- Thích chơi trò chơi / giải quyết vấn đề
- Quan tâm đến khoa học
- Đam mê lập trình
- Mong muốn khám phá những ý tưởng mới và tiếp thu càng nhiều kiến thức càng tốt
- Thư viện thường xuyên
- Thích nói chuyện với bạn bè hàng giờ về ý tưởng, khám phá, sách
- Quan tâm đến việc phát triển kỹ năng, động não, đọc sách và nhận thức về môi trường
"Tôi khá thích trò chơi, và tôi chắc chắn rằng đó cũng là một yếu tố vào cuối trận, nhưng tôi thực sự thích khoa học hơn khi còn trẻ. Tôi đã học đại học về kỹ thuật hóa học trước khi tôi chuyển sang. Tia lửa và niềm đam mê lập trình có lẽ đến từ khóa học lập trình trung học của tôi, nơi tôi hoàn toàn thích thú với các vấn đề đã được trình bày, cũng như chia nhỏ chúng một cách hợp lý, chẳng hạn như sự phức tạp của việc tạo ra một bể cá mô phỏng. Leon Ho, Kỹ sư phần mềm tại OpenX
- Kỹ sư phần mềm có thể bắt đầu với bằng cử nhân khoa học máy tính hoặc lĩnh vực nghiên cứu liên quan
- Các vị trí nâng cao có thể yêu cầu thạc sĩ
- Thực tập Kỹ sư phần mềm rất hữu ích cho việc học tập trong khi tích lũy kinh nghiệm thực tế
- Có rất nhiều chứng chỉ liên quan đến Kỹ sư phần mềm có sẵn, bao gồm:
- Springboard Kỹ thuật phần mềm Bootcamp
- Được chứng nhận Secure Software Lifecycle Professional
- Chứng nhận nhà phát triển phần mềm chuyên nghiệp
- Chuyên gia phát triển web CIW
- Thạc sĩ được chứng nhận Oracle
- Kiến trúc sư giải pháp Azure được chứng nhận của Microsoft
- O * Net liệt kê một loạt các kỹ năng công nghệ cần thiết, bao gồm một số loại phần mềm như truy cập, phân tích, máy chủ ứng dụng, sao lưu, thông tin kinh doanh, truy cập dữ liệu dựa trên đám mây, máy chủ truyền thông, quản lý cấu hình, quy trình làm việc nội dung, quản lý cơ sở dữ liệu, khai thác dữ liệu, môi trường phát triển, lập kế hoạch tài nguyên doanh nghiệp và nhiều hơn nữa
- Giải các câu đố, chơi cờ vua và các trò chơi chiến lược khác và đọc
- Phân tích cách mọi thứ hoạt động trong cuộc sống hàng ngày; Ví dụ: Trọng lực
- Bắt đầu khám phá cách tiếp cận vấn đề và giải quyết chúng một cách hợp lý, cùng với cấu trúc dữ liệu và thuật toán
- Các dự án mã phụ luôn là một điểm cộng
- Các chủ đề phổ biến của lớp bao gồm toán nâng cao, AP Calculus, AP Statistics, AP Physics, kỹ thuật, vật lý và nhiều khóa học khoa học máy tính như nguyên tắc cơ bản về lập trình, cấu trúc dữ liệu, giới thiệu về thuật toán, hệ điều hành, kiến trúc máy tính, Tương tác giữa người và máy tính và toán học rời rạc
- Nghiên cứu các framework như React, Angular, Express và Rails
- Các ngôn ngữ lập trình phổ biến cho Kỹ sư phần mềm là Java, Python, JavaScript, C ++ và Scala
- Quyết định xem bạn có muốn dừng lại ở một cử nhân sau đó nộp đơn xin việc hay tiếp tục với bằng thạc sĩ trước
- Làm việc trên các chứng chỉ liên quan mà bạn muốn hoàn thành trước khi tìm kiếm việc làm
- Xây dựng một trang web danh mục đầu tư để giới thiệu công việc của bạn với các nghiên cứu điển hình
- Tham gia các câu lạc bộ máy tính của trường, nơi bạn có thể trao đổi thông tin và duy trì động lực
- Tự học hỏi thời gian của riêng bạn từ video, sách và các dự án phụ
- Ứng tuyển vào các công việc thực tập sinh Kỹ sư phần mềm để tích lũy kinh nghiệm thực tế
- Làm việc trên sơ yếu lý lịch dự thảo của bạn khi bạn loại bỏ các mốc học tập và công việc
- Hỏi giáo viên giới thiệu
- Tận dụng các cơ hội làm việc tự do
- Ứng tuyển vào các cơ hội việc làm tại các công ty công nghệ
- Thử nghiệm với các ngành công nghiệp khác nhau
- Bắt đầu khởi nghiệp riêng với tầm nhìn và kế hoạch kinh doanh rõ ràng (có thể sử dụng Kickstarter để gọi vốn)
- Sử dụng phương tiện truyền thông xã hội để tạo kết nối ngành
- Xây dựng hồ sơ trên các cổng thông tin việc làm như Monster, Indeed, Glassdoor, Zippia, cũng như các trang web liên quan đến CNTT như Machine Hack, MLconf Job Board, Stack Overflow, AngelList và DataJobs. Đừng quên sử dụng LinkedIn!
- Ứng tuyển vào các vị trí đã có ít kinh nghiệm cho đến khi bạn có đủ kinh nghiệm để đủ điều kiện cho các vị trí nâng cao
- Hãy chú ý đến các từ khóa được sử dụng trong quảng cáo việc làm. Kết hợp những thứ đó vào sơ yếu lý lịch của bạn
- Xem các mẫu sơ yếu lý lịch Kỹ sư phần mềm để biết ý tưởng về cách đặt câu
- Hỏi trước các tài liệu tham khảo tiềm năng trước khi cung cấp thông tin liên hệ của họ
- Chuẩn bị cho các cuộc phỏng vấn bằng cách đọc các câu hỏi phỏng vấn Kỹ sư phần mềm
- Hãy là chính mình trong các cuộc phỏng vấn và để cá tính của bạn tỏa sáng! Năng lực kỹ thuật là quan trọng, nhưng văn hóa cũng phù hợp. Bạn muốn đảm bảo rằng bạn và công ty bạn đang ứng tuyển là một kết hợp tốt với nhau
- Đọc về công nghệ mới
- Không nhất thiết phải giới hạn trong công việc của bạn, có thể là bất cứ điều gì mài giũa kỹ năng giải quyết vấn đề của bạn
- Khả năng thích ứng thực sự quan trọng
- Những bộ óc sáng suốt, những người có thể xoay trục nhanh chóng
Yêu cầu:
- Đào tạo trong các trường dạy nghề, kinh nghiệm làm việc liên quan hoặc bằng cao đẳng
- Kỹ năng, kiến thức hoặc kinh nghiệm liên quan đến công việc trước đây ne hoặc hai năm đào tạo liên quan đến cả kinh nghiệm làm việc và đào tạo không chính thức với những người lao động có kinh nghiệm, tức là một chương trình học nghề được công nhận
- Kỹ năng giao tiếp và tổ chức mạnh mẽ để phối hợp, giám sát, quản lý hoặc đào tạo người khác để hoàn thành mục tiêu, tức là quản lý sản xuất thủy điện, hướng dẫn du lịch, thợ điện, kỹ thuật viên nông nghiệp, thợ cắt tóc, bảo mẫu và trợ lý y tế
Các trang web
- Hiệp hội máy tính
- Hiệp hội kiểm thử phần mềm
- Hiệp hội Máy tính IEEE
- Hiệp hội nghiên cứu máy tính
- CompTIA
- Trung tâm Quốc gia về Phụ nữ & Công nghệ Thông tin
Sách vở
- Trở thành người quản lý kỹ thuật phần mềm hiệu quả: Làm thế nào để trở thành người lãnh đạo mà nhóm phát triển của bạn cần, bởi Tiến sĩ Stanier, James
- Kỹ thuật phần mềm bắt đầu, bởi Rod Stephens
- Kỹ thuật phần mềm tại Google: Bài học kinh nghiệm từ lập trình theo thời gian, của Titus Winters và Tom Manshreck
- Nhà phân tích bảo mật thông tin
- Người sáng lập công ty công nghệ
- Đại lý bằng sáng chế
- Luật sư sáng chế