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 được lựa chọn
- Có khả năng chịu trách nhiệm về các dự án và gây ả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 một ứ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 nhiều mô hình và sơ đồ khác nhau (chẳng hạn như sơ đồ) hiển thị cho các lập trình viên 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
- Phối hợp 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 trang web
- 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 phục 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, ngoài 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 giải quyết 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 công ty khởi nghiệp của riêng mình
- Có thể phát triển tự do 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. Sử dụng mã nguồn mở, làm cho các dự án của bạn trở 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]
- Gián đoạn 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 cho 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 vùng và tập trung các phân đoạn trong kiến trúc của bạn để 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ụ hoạt động trên đá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 và mô hình 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 một lần nữa 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 các kỹ năng, động não, đọc 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ố cuối cùng, nhưng tôi thực sự đam mê 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 bằng thạc sĩ
- Thực tập Kỹ sư phần mềm rất hữu ích cho việc học 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
- Chứng nhận Secure Software Lifecycle Professional
- Chứng chỉ nhà phát triển phần mềm chuyên nghiệp
- CIW Web phát triển chuyên nghiệp
- 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, kinh doanh intel, 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 học 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ư kiến thứ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 con người và máy tính và toán học rời rạc
- Các framework nghiên cứu 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 hay không thì hãy nộp đơn xin việc, hoặc 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ể giao dịch thông tin và duy trì động lực
- Học theo thời gian của riêng bạn từ video, sách và các dự án phụ
- Nộp đơ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 quan trọng trong học tập và công việc
- Yêu cầu giáo viên đề xuất
- Tận dụng các cơ hội làm việc tự do
- Nộp đơn xin việc 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 để tài trợ)
- Sử dụng mạng xã hội để tạo kết nối trong 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ó kinh nghiệm cho đến khi bạn có đủ kinh nghiệm để đủ điều kiện cho các vai 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 chúng 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ề đặ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 Software Engineer
- Hãy là chính mình trong các cuộc phỏng vấn và hãy để 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 phù hợp với nhau
- Đọc về công nghệ mới
- Không cần phải giới hạn trong công việc của bạn, có thể là bất cứ điều gì làm sắc nét 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 tại 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 trong công 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ẽ để điều phối, 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à giám đốc sản xuất thủy điện, hướng dẫn viê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
- Bắt đầu kỹ thuật phần mềm, 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, bởi 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ế