1. Trang chủ
  2. » Công Nghệ Thông Tin

Người kĩ sư phần mềm giỏi nhất

6 96 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 88,01 KB

Nội dung

Người kĩ sư phần mềm giỏi Người kĩ sư phần mềm giỏi Bởi: John Vu Người kĩ sư phần mềm giỏi người cẩn thận viết mã việc tập trung vào chất lượng không số lượng Người kĩ sư phần mềm trung bình thích viết mã, họ dường ngồi lì trước máy tính hầu hết thời gian để sinh hàng đống mã chương trình họ hay làm việc nên họ phải sửa chúng lặp lặp lại Việc “viết mã sửa” làm phí hoài nhiều nỗ lực chẳng đạt tới chất lượng khách hàng mong đợi Mã tốt tạo người kĩ sư phần mềm có kỉ luật, họ biết vấn đề phải bao lâu, lập kế hoạch cẩn thận cách tiếp cận để đảm bảo họ hoàn thành nhiệm vụ tương ứng Là người quản lí, thấy hai kiểu kĩ sư phần mềm này, bảo họ “Tôi cần nhiệm vụ hoàn thành trước thứ sáu” trước thứ sáu, tới cho biết họ kiểm thử mã họ sẵn sàng cho kiểm thử tích hợp Với người cảm thấy có ít, không nói lỗi tìm tổ kiểm thử Tuy nhiên, có người bảo “Tôi viết mã xong vào cuối ngày thứ sáu hay đầu ngày thứ hai” với họ, chắn họ bỏ qua số kiểm thử để đáp ứng hạn chót hầu hết thời gian mã họ đầy lỗi Vì sao? Bởi người kĩ sư phần mềm tốt biết công việc cần thời gian lập kế hoạch công việc cẩn thận cho biết liệu họ đáp ứng hạn chót hay không người kĩ sư phần mềm trung bình ngồi viết mã trước hỏi câu hỏi sau Với vấn đề có nhiều cách giải người kĩ sư phần mềm giỏi cố gắng hiểu vấn đề trước làm Bằng việc hiểu vấn đề, người nghĩ cẩn thận cách giải thảo luận với tổ giải pháp tốt Người biết có nhiều tuỳ chọn điều người đề nghị tốt người tìm kiếm lời khuyên từ người khác tới cách tiếp cận logic tốt Bằng việc nhìn vào vấn đề, hình dung kết cần phải gì, người hình dung cần giải bao lâu, loại phẩm chất mong đợi trước người chí bắt đầu làm việc giải pháp Ngược lại, người kĩ sư phần mềm trung bình bắt đầu viết mã trước mà không nghĩ sửa nó không đáp ứng yêu cầu Kiểu “viết mã sửa” “sửa viết 1/6 Người kĩ sư phần mềm giỏi mã” chẳng tạo phần mềm chất lượng họ sửa nó, họ đưa thêm nhiều lỗi vào giải pháp Người kĩ sư phần mềm giỏi chia sẻ điều với tổ học lẫn Họ biết việc chia sẻ, họ học nhiều họ học điều mới, công nghệ mới, họ thảo luận với tổ có tác dụng không tác dụng người tránh phạm phải sai lầm Họ trở nên tốt việc làm cho người khác tốt Họ tìm kiếm lời khuyên từ người thâm niên người có kinh nghiệm, trải qua nhiều dự án biết theo để định Người kĩ sư phần mềm trung bình giỏi điều họ làm họ giống anh hùng, người khác thừa nhận họ không thích chia sẻ giữ thông tin cho riêng mình, trường hợp họ đánh giá trị công việc phần mềm công việc tổ tổ mà có nhiều anh hùng chung anh hùng người thất bại Cho dù họ giỏi kết thúc công việc hạn tổ không làm dự án thất bại Khi dự án thất bại, chả thành vấn đề hoàn thành công việc trước làm công việc tốt, thất bại tổ mục đích toàn thể đạt tới Một kĩ đem thứ vào dự án kĩ tổ chức Người kĩ sư phần mềm trung bình giỏi kĩ thuật họ không tổ chức, họ khả làm cho thứ thực cuối bị tràn ngập sức ép dự án Người kĩ sư phần mềm giỏi giữ kế hoạch dự án với nhiệm vụ hàng ngày chi tiết có khả ưu tiên chúng cách tương ứng Họ biết nhìn hàng ngày họp nhiệm vụ cập nhật thứ mà họ phải đạt tới vào ngày không bị trì hoãn sang ngày sau Họ giữ dấu vết tất công việc chèo lái dự án, báo cáo cho họp, cung cấp chi tiết khác yêu cầu Bằng việc làm cho thực ngày họ biết lịch biểu mong đợi có khả điều chỉnh chúng để đáp ứng cho mục đích dự án Ngược lại, người kĩ sư phần mềm trung bình không nghĩ xa trước mà làm việc tương ứng với điều người quản lí bảo họ điều lịch biểu ấn định ngày Khi thay đổi, họ phải ưu tiên kế hoạch hoàn thành chúng mà dựa vào người quản lí dự án phân công cho họ việc tương ứng Người kĩ sư phần mềm giỏi không nghĩ mục đích dự án, mà hình dung hiểu hoàn thành họ thấy đích xác điều họ phải làm ngày, tuần, tháng để đáp ứng mong đợi Người kĩ sư phần mềm giỏi thường xuyên cải tiến kĩ họ Họ tìm kiếm tri thức thường không đợi người quản lí yêu cầu họ nhận việc huấn luyện thêm Họ học điều theo cách riêng họ họ muốn người giỏi Họ thấy lớp huấn luyện mà họ muốn học yêu cầu người quản lí cho phép tham dự họ học đóng góp thêm cho tổ chức Người kĩ sư phần mềm trung bình không thích học nhiều họ tin họ tốt nghiệp đại học, có cấp biết “đủ để làm việc mình” Họ lòng với 2/6 Người kĩ sư phần mềm giỏi điều họ biết họ không hiểu kiện công nghệ thay đổi sau vài năm làm việc họ lo lắng nghề nghiệp họ kĩ mà công ti cần khả giữ việc Phần mềm lĩnh vực động người ta không giữ nhịp với thay đổi công nghệ, họ bị loại Có nhiều kĩ sư phần mềm trung bình công nghiệp ngày có “kĩ sư phần mềm giỏi nhất” Lí thật đơn giản: ngày trường dạy trao đổi công việc tổ chương trình kĩ sư phần mềm Kĩ sư phần mềm trung bình giỏi kĩ thuật lại nghèo nàn trao đổi công việc tổ Họ cách thảo luận qua email, đặc biệt họp SCRUM, chia sẻ “Thực hành giỏi nhất: kiểm điểm kĩ thuật, trình bày cho khách hàng giải pháp kĩ thuật quảng cáo cho hàng trăm người sản phẩm phần mềm chiến dịch tiếp thị Năng lực trao đổi rõ ràng hiệu mấu chốt cho kĩ sư phần mềm Kĩ trao đổi bạn tốt, bạn xa người kĩ sư phần mềm giỏi dành hầu hết thời gian vào trao đổi, giải thích mục đích công ti, thu hút kinh doanh khách hàng, giải vấn đề, cho hướng dẫn, động viên công nhân khác v.v Tất nhiên số bạn nghĩ người lí tưởng kĩ nghệ phần mềm kinh doanh phần mềm 35 năm thấy nhiều kĩ sư phần mềm giỏi kĩ sư trung bình Tôi tự tin mà nói bạn cải tiến kĩ phần mềm tốt hơn, làm cho thân dự ứng học tập, chia sẻ, cải tiến bạn có hội tốt để trở thành kĩ sư phần mềm giỏi mà bạn hình dung Nếu bạn chọn nghĩ thân “đủ tốt”, chẳng có để học, bạn nơi bạn đã qua thời gian, bạn bắt đầu lo nghĩ bạn không tiến lên, bạn chí không đứng yên đâu mà thực tế bạn lùi giới nhanh lên trước Là người kĩ sư phần mềm giáo sư, lời khuyên cuối với bạn bạn phải có đam mê điều bạn làm Không có đam mê, bạn không người kĩ sư phần mềm lớn được, hay không lớn Thiếu đam mê lí số nhiều kĩ sư phần mềm chưa trở thành giỏi điều họ làm điều lí số mà nhiều người không thành công nghề nghiệp Bằng việc tuân theo lời khuyên này, bạn có vị trí bạn muốn, cải thiện điều bạn chờ đợi, bạn hạnh phúc với nghề công nghiệp phần mềm đời hỏi người kĩ sư giỏi điều tuyệt vời biết bạn số họ —-English version—The best software engineer 3/6 Người kĩ sư phần mềm giỏi My friend asked me: How you know a best software engineer from an average one? Following is my personal opinion: The best software engineer is very careful when writing code by focusing on the quality not the quantity The average software engineers like to code, they seem to stay in front of the computer most of the time to generate a lot of code but their programs may or may not work so they have to fix them over and over This “code and fix” wastes lot of efforts and never achieve the quality as expected by the customers Good code is done by software engineers that are disciplined, they know how long each problem should take, and carefully planning their approaches to make sure that they complete their task accordingly As a manager, I have seen both types of software engineer, when I told them “I need this task completed by Friday” then by Friday, someone come and let me know that they have tested their code and it is ready for integration testing With these people I can feel that there will be very little, if any, defects found by the testing team However, there are people that told me “I am still coding but it will be done late Friday or early Monday” then with them, I can be sure that they may have skipped some tests to meet the dateline and most of the time their codes are full of defects Why? Because a good software engineer know how long it takes and plan the work carefully and will let me know whether they can make the dateline or not when an average software engineer would rather code first then ask question later For every problem there are many ways to solve it but the best software engineer would try to understand the problem first before doing anything By having understood the problem, he will be carefully thinking on how to solve it and discuss it with their team on the best solution He knows that there are many options and what he proposes may not be the best so he is seeking advises from others and come up with a logical and better approach By look at the problem, figure out what the outcome needs to be, he will figure how much time he need to solve it, and what kind of quality being expected before he even starts to work on the solution On the contrary, average software engineers would immediately start to code first without much thinking then fixing it if it does not meet the requirements This type of “code and fix “then “fix then code” will never create quality software because the more they fix, the more defects they will injected into the solution Best software engineers always share things with the team and learn from each others They know that by sharing, they learn more so when they learn new things, new technologies they will discuss with the team about what works and what not work so people can avoid making mistakes They are better by making other better They always seek advises from senior people because these people have experiences, been through many projects and know by instinct to make the right decision Average software engineers may be very good in what they but they like to be a hero, to be recognized by others so they not like to share and keep information to themselves, in this case they are losing their value because software work is teamwork and a team that have too 4/6 Người kĩ sư phần mềm giỏi many heroes eventually will have no hero at all because everybody will fail Even if they are good and could finish their works on time but if the team did not then the project still fail When a project fail, it does not matter who is finishing the work first and who can good work it is a team’s failure because the overall goal can not be achieved One of the skills that can bring everything in the project together is organization skill Average software engineers are very good in technical but if they are not organized, they will not be able to get things done and eventually will be overwhelmed by the project pressure Best software engineers always keep a project plan with detailed daily tasks and are able to prioritize them accordingly They know their daily outlook of meetings and tasks and keep up to date everything that they must achieve on that day so things will not get postponed into the next day They keep track of all their works and can instantly pull up projects, meeting reports, and other details when asked By getting things done each day they know their schedules and expectations and be able to adjust them to meet project’s goals On the contrary, average software engineers not think far ahead but only work according to what the manager tell them and what the schedule dictated each day When things change, they not know what to prioritize and have no plan to accomplish them but rely on the project manager to assign them works accordingly Best software engineers not only thinking about the project goals, but also visualizes it and understands how to accomplish it because they can see exactly what they must be doing each day, each week, each month to meet the expectation Best software engineers will constantly improving their skills They always seeking new knowledge and usually not wait for managers to ask them to take additional training They learn new things on their own because they want to be the best They find new training classes that they want to go and ask managers for permission to attend so they can learn some thing new and contribute more to the organization Average software engineers not like to learn new things much because they believe that they already graduated from universities, have degrees and know “enough to their jobs” They are content of what they know but they not understand the fact that technology always changes so after few working years they will worry about their career because they may not have the skills that the company need and may not be able to keep the jobs Software is a very dynamic field and if people not keep up with the technology change, they may be eliminated There are many average software engineers in the industry today but there are very few “best software engineers” The reason is simple: today very few schools would teach communication and teamwork in the software engineer program Average software engineers may be good in technical but poorly in communication and teamwork They not know how to discuss things over emails, participate in SCRUM meetings, share “Best practices: in a technical reviews, present to the customer about a technical solution and promote hundreds people about the software product in a marketing campaign The ability to communicate clearly and effectively is very critical to all software 5/6 Người kĩ sư phần mềm giỏi engineers The better your communication skill, the farther you will go because best software engineers spend most of the time in communication, explaining the company’s goal, solicit customer’s business, solving problems, giving directions, motivating other workers etc Of course some of you may think that I am so idealistic about software engineering but I have been in this software business for over 35 years and have seen a lot of good software engineers as well as average engineers I can confidently stated that the better you can improve your software skill, make yourself proactive in learning, sharing, improving then the better chance you will become one of the best software engineer that you have ever imagined If you choose to think of yourself as “good enough”, and have nothing more to learn, you will always staying where you are then over time, you will start to worry because if you are not moving forward, you are not even standing still but actually you are moving backward because the world is moving fast forward As a software engineer and a professor, my last advice to you is you must have passion on what you Without passion, you will not be a great software engineer, or great at anything Lack of passion is the number one reason so many software engineer never become good for what they and it is also the number one reason many people not succeed in their career By follow these advises, you may get the position you want, improve what you have been waiting for, and you will be happier with your career because the software industry always demand the best engineer and it is great to know that you are one of them 6/6 ... nhiều kĩ sư phần mềm trung bình công nghiệp ngày có kĩ sư phần mềm giỏi nhất Lí thật đơn giản: ngày trường dạy trao đổi công việc tổ chương trình kĩ sư phần mềm Kĩ sư phần mềm trung bình giỏi kĩ. .. Tất nhiên số bạn nghĩ người lí tưởng kĩ nghệ phần mềm kinh doanh phần mềm 35 năm thấy nhiều kĩ sư phần mềm giỏi kĩ sư trung bình Tôi tự tin mà nói bạn cải tiến kĩ phần mềm tốt hơn, làm cho thân... đạt tới Một kĩ đem thứ vào dự án kĩ tổ chức Người kĩ sư phần mềm trung bình giỏi kĩ thuật họ không tổ chức, họ khả làm cho thứ thực cuối bị tràn ngập sức ép dự án Người kĩ sư phần mềm giỏi giữ kế

Ngày đăng: 29/12/2015, 09:59

TỪ KHÓA LIÊN QUAN

w