Tôi đã nhận được một số email từ những người hỏi tôi lời khuyên. Nhiều người đi thẳng vào một chủ đề như: “Tôi có kĩ năng lập trình trong Java, C++ và một số kinh nghiệm mạng, thầy cho rằng tôi có thể kiếm được việc tốt trong thị trường hiện thời không?”, “Tôi có chứng chỉ Microsoft và Cisco, thầy có cho rằng tôi có thể đi làm việc cho các công ti này không?” “Có đúng là có thiếu hụt toàn cầu về người phát triển phần mềm không? Làm sao tôi có thể kiếm được việc làm như một người phát triển phần mềm với công ti nước ngoài?” và nhiều câu hỏi tương tự. Tất nhiên, tôi không thể cho bạn câu trả lời cho những câu hỏi như vậy mà không có thông tin thêm.

Sau đây là một số bình luận của tôi mà bạn có thể xem xét:

  1. Bằng cấp giáo dục của bạn là gì? (Tốt nghiệp phổ thông? Bằng hướng nghề hai năm? Bằng cử nhân đại học? Bằng thạc sĩ hay cao hơn?) Không có bằng đại học là tối thiểu, không thể kiếm được việc làm tốt ở đâu cả vì ngày nay cạnh tranh là gay gắt.
  2. Kinh nghiệm làm việc của bạn là gì? Bao nhiêu năm làm việc, và loại công việc nào bạn đã làm? Kinh nghiệm của bạn có liên quan tới giáo dục của bạn không? Kinh nghiệm làm việc của bạn có liên quan tới việc làm bạn đang tìm không? Không có kinh nghiệm việc làm nào đó, rất khó cạnh tranh với các ứng cử viên khác người có vài năm kinh nghiệm làm việc. Một số công ti coi làm việc bán thời để có kinh nghiệm trong lĩnh vực được chọn của họ là được ưa chuộng vì bạn có khả năng giữ việc làm khi còn trong trường. Nhiều công ti nước ngoài coi không có kinh nghiệm làm việc là “lười”.
  3. Bạn đã bao giờ làm công việc tình nguyện chưa? Bạn đã bao giờ làm công việc từ thiện chưa? Nhiều công ti coi người sẵn lòng làm việc không vì cái gì như người tình nguyện, dành thời gian cho công việc từ thiện là tích cực hơn nhiều so với người không có kinh nghiệm công việc.
  4. Nhu cầu của thị trường việc làm địa phương của bạn là gì? Trước khi nhìn ra chỗ khác, bạn nên tìm cái gì đó gần nhà trước. Bạn có biết nhu cầu thị trường việc làm địa phương là gì không? Cơ hội là gì cho ai đó như bạn? Họ có thuê người mức mới vào việc không? Nếu bạn không thể kiếm được việc làm trong thị trường địa phương, cơ hội để làm việc trong thị trường toàn cần có lẽ bị giới hạn.
  5. Bạn có kĩ năng nào khác bên cạnh lập trình? Có kĩ năng ngôn ngữ lập trình trong Java, C++ là KHÔNG đủ để phân biệt bạn với các đương đơn khác. Mọi ứng cử viên trong công nghiệp phần mềm cũng có kĩ năng lập trình. Bạn cần nhiều kĩ năng hơn là chỉ kĩ năng lập trình để cạnh tranh. Bạn cần tri thức về vòng đời phần mềm, phương pháp luận và công cụ là tối thiểu.
  6. Bạn có kĩ năng đặc biệt và ngoại lệ nào? Các công ti phần mềm lớn như Microsoft hay Google rất lựa chọn trong việc thuê người của họ do quá nhiều ứng cử viên. Yêu cầu tối thiểu là bằng đại học hay thạc sĩ trong lĩnh vực chuyên từ các trường chuyên. Chứng chỉ về các sản phẩm Microsoft, Cisco phần lớn là các hỗ trợ kĩ thuật, việc làm mức vào nghề ở các công ti khác có dùng các sản phẩm của họ, KHÔNG trong công ti của họ.
  7. Có ít nhất hai tình huống với công ti nước ngoài mà phải được giải thích ở đây: Một số công ti nước ngoài mở văn phòng ở khu vực địa phương, thuê người phát triển địa phương để làm việc trong khu vực địa phương. Trong trường hợp đó, bên cạnh các kĩ năng kĩ thuật, tiếng nước ngoài phụ thêm sẽ được yêu cầu. Tình huống khác là các công ti nước ngoài thuê người phát triển từ các nước ngoài và đem họ về nước của họ để làm việc, điều này còn nhiều hơn tình huống đặc biệt mà yêu cầu các ứng cử viên ngoại lệ có kĩ năng cao mà những công ti nước ngoài đó cần.
  8. Tiếng Anh của bạn tốt ra sao? Bạn có thể đọc, viết hay tiến hành đối thoại với họ quãng mười lăm phút bằng tiếng Anh không? Nếu bạn không đọc hay viết bằng tiếng Anh hay tiến hành đối thoại bằng tiếng Anh, bạn sẽ có cơ hội nào để làm việc với các công ti nước ngoài nói tiếng Anh?
  9. Bạn có kĩ năng nào khác bên cạnh kĩ năng kĩ thuật mà bạn đã học trong trường? Kĩ năng kĩ thuật một mình nó là KHÔNG đủ, bạn cần có kĩ năng mềm nào đó. Bạn có nhận diện loại kĩ năng mềm nào bạn có không?
  10. Nếu bạn đã làm việc như người phát triển phần mềm nhưng muốn tìm vị trí khác, bạn có quan tâm tới việc quản lí hay ưa thích vẫn ở trong việc kĩ thuật? Bạn cần biết đích xác bạn muốn gì và phát biểu rõ ràng chủ định. Chuẩn bị trả lời nhiều câu hỏi về lí do tại sao bạn muốn chuyển việc làm.
  11. Bạn đang làm loại việc làm nào bây giờ? Bạn muốn làm loại việc nào? Tại sao bạn muốn đổi việc làm? Lương quan trọng thế nào với bạn? Sự thoả mãn việc làm quan trọng thế nào? Nếu bạn có thể có bất kì việc làm nào, nó sẽ là cái gì? Phải cẩn thận khi trả lời những câu hỏi này. Bạn phải sẵn sàng và biết đích xác bạn muốn gì bởi vì chúng là những câu hỏi then chốt để xác định có thuê hay không thuê một người. Khi đổi việc làm, đổi công ti bạn phải được chuẩn bị để trả lời những câu hỏi như thế này.
  12. Tại sao bạn tìm cùng công việc như vị trí hiện thời của bạn? Tại sao bạn muốn tìm cùng vị trí? Bạn KHÔNG thoải mái với công ti hiện thời của bạn? Bạn mong đợi gì từ công ti của bạn? Tại sao bạn muốn làm việc với chúng tôi? Bạn phải rất cẩn thận về những câu hỏi này. ĐỪNG BAO GIỜ tiêu cực về bất kì cái gì, ĐỪNG BAO GIỜ nói điều gì xấu về bất kì cái gì. Bao giờ cũng duy trì tích cực và trả lời theo cách rõ ràng rằng bạn đang tìm thách thức mới, cơ hội mới mà có thể giúp bạn học nhiều thêm.
  13. Bạn đã bao giờ quản lí dự án phần mềm chưa? Phải chuẩn bị để thảo luận về kinh nghiệm của bạn và loại kĩ năng nào bạn đã học về quản lí. Bạn sẽ cần giải thích mọi pha của dự án và cách bạn lập kế hoạch, cách bạn giám sát và theo dõi, cách bạn ước lượng v.v. Quản lí dự án là được tìm kiếm cao, bao giờ cũng có nhu cầu cao, có lương tốt nhưng nó đòi hỏi “kinh nghiệm thực hành” có ý nghĩa dựa trên năm quản lí dự án.
  14. Mục đích nghề nghiệp dài hạn của bạn là gì? Bản thân bạn thấy gì trong năm năm kể từ bây giờ? Nếu bạn KHÔNG biết bản thân mình, nếu bạn KHÔNG có bản kế hoạch cho nghề nghiệp của mình thì bạn KHÔNG sẵn sàng.

Với câu trả lời cho những câu hỏi này, bạn sẽ biết nhiều hơn về bản thân mình cũng như năng lực của bạn mà bạn đang suy nghĩ. Bằng việc đi qua một số trong những câu hỏi và trả lời này, điều đó sẽ giúp bạn chuẩn bị bản thân mình trong việc tìm công việc là tạo ra “lộ trình nghề nghiệp” có thể hướng dẫn bạn làm điều bạn muốn. Tôi hi vọng điều đó có thể giúp bạn xác định các mục đích ngắn hạn và dài hạn của bạn mà bạn có thể áp dụng vào bất kì vị trí hay tình huống đặc biệt nào.

—-English version—-

Questions about jobs

I have received some emails from people ask me for advice. Many go directly to a subject such as: “I have programming skills in Java, C++ and some network experiences, do you think I can get good job in current market?”, “I have Microsoft and Cisco certificates, do you think  I can go to work for these companies?” “Is it true that there is a global shortage of software developers? How can I get a job as software developer with foreign companies?”  and many similar questions. Of course, I cannot give you answers to such questions without additional information. Following are some of my comments that you may want to consider:

  1. What is your education degree? (High school diploma? Two year vocational degree? Bachelor’s degree? Master degree or higher?) Without a bachelor degree as minimum, it is impossible to get a good job anywhere because today the competition is fierce.
  2. What is your work experience? How many years of work, and what kind of work have you done? Is your work experience relates to your education? Is your work experience relates to the job that you are seeking? Without some work experiences, it is very difficult to compete against other candidates who have several years of working experiences. Some companies consider part-time work to get experience in their chosen fields is preferable because you have the ability to hold a job when in school. Many foreign companies consider no work experience as “laziness”.
  3. Have you ever do volunteer work? Have you ever do any charity works? Many companies consider people who are willing to work for nothing as volunteers, to spend time in charity works more positively rather than people with no work experience.
  4. What is the demand of your current local job market? Before looking elsewhere, you should look for something close to home first. Do you know what your local job market need? What skills are in high demand? What is the opportunity for someone like you? Are they hiring entry-level people? If you cannot get job in local market, the chance to work in global market is probably limited.
  5. What other technical skills beside programming do you have? Having programming language skills in Java, C++ is NOT enough to distinguish you from other applicants. Every candidates in software industry also have programming skills. You need more than just programming skills to compete. You need knowledge of software life cycle, methodologies and tools as minimum.
  6. What kind of special and exceptional skills do you have? Large software companies like Microsoft or Google are very selective in their hiring due to the overwhelming of candidates. The minimum requirements are a bachelor or master degrees in specific fields from specific schools. Certificates in Microsoft, Cisco products are mostly for technical supports, entry-level jobs at other companies who use their product, NOT in their companies.
  7. There are at least two situations with foreign company that must be explained here: Some foreign companies open offices in local area, hire local developers to work in the local area. In that case, beside technical skills, additional foreign language would be required. The other situation is foreign companies that hire developers from a foreign countries and bring them to their countries to work, this is more of a special situation that require exceptional candidates who have highly skills that these foreign company need.
  8. How good is your English? Can you read, write or carry a conversation for about fifteen minutes in English? If you do not read or write in English or carry a conversation in English, what would be your chance to work for a English speaking foreign company?
  9. What are other skills that you have beside the technical skills that you learned in school? Technical skills alone is NOT enough, you do need to have some soft-skills. Have you identified what soft skills that you have?
  10. If you already working as a software developer but want to seek another position. Are you interested in management job or prefer to stay in technical job? You need to know exactly what you want and state your purpose clearly. Be prepare to answer more questions on the reason that you want to switch job.
  11. What kind of job are you doing now? What kind of job would you like to be doing? Why do you want to change job? How important is salary to you? How important is job satisfaction? If you could have any job at all, what would that be? Be careful when answer these questions. You must be prepared and know exactly what you want because they are key questions to determine hiring and not hiring a person. When changing job, changing company you must be prepared to answers questions like these.
  12. Why are you seeking the same work as your current position? Why do you want to seek the same position? Are you NOT happy with the current company? What do you expect from our company? Why do you want to work for us? You must be very careful about these questions. NEVER be negative about anything, NEVER say any bad things about anything. Always stay positive and answer in a clear manner that you are seeking new challenge, new opportunity that can help you to learn more.
  13. Have you ever manage any software project? Be prepare to discuss your experiences and what kind of skills you learned as management. You will need to explain all the phases of project and how do you plan, how do you monitor and track, how do you estimates etc. Project Management is a highly sought after, always in high demand, have good salary but it requires significant “practical experience” based on years of managing project.
  14. What are your long-term career goals? What do you see yourself five years from now? If you do NOT know yourself, if you do NOT have a plan for your career than you are NOT ready.

With answers to these questions, you will get to know more about yourself as well as your capabilities that your are pondering. By going through some of these questions and answers, it will help you to prepare yourself in seeking work and create a “career roadmap” that can guide you to do what you want. I hope it can help you to determine your short and long terms goals that you can apply to any specific location or situations.