<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Code ở Nhật]]></title><description><![CDATA[Cộng đồng IT Việt Nam ở Nhật Bản.]]></description><link>https://codeonhat.jp</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1696837874532/Ls__l43io.png</url><title>Code ở Nhật</title><link>https://codeonhat.jp</link></image><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 09:41:28 GMT</lastBuildDate><atom:link href="https://codeonhat.jp/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Algos 101: Tìm số nguyên bị thiếu tại vị trí K trong mảng đã sắp xếp]]></title><description><![CDATA[Hôm nay mình muốn giới thiệu với các bạn một bài toán nhỏ nhưng rất có giá trị trong việc rèn luyện khả năng phân tích và giải quyết vấn đề.Bài toán này cũng có nhiều ứng dụng trong thực tế, chẳng hạn]]></description><link>https://codeonhat.jp/algos-101-find-kth-positive-in-sorted-arr</link><guid isPermaLink="true">https://codeonhat.jp/algos-101-find-kth-positive-in-sorted-arr</guid><category><![CDATA[algorithms]]></category><category><![CDATA[codeonhat]]></category><category><![CDATA[Developer]]></category><category><![CDATA[Japan]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Fri, 06 Mar 2026 05:34:12 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/65234ebceb822c7cad94b08f/c123374b-58a8-4f50-b792-6cfbd3feb0dd.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hôm nay mình muốn giới thiệu với các bạn một bài toán nhỏ nhưng rất có giá trị trong việc rèn luyện khả năng phân tích và giải quyết vấn đề.<br />Bài toán này cũng có nhiều ứng dụng trong thực tế, chẳng hạn như :</p>
<ul>
<li><p>Kiểm tra xem trong 1 chuỗi giao dịch có thứ tự, tìm mã bị thiếu K .</p>
</li>
<li><p>Tìm nhanh mã sản phẩm còn thiếu trong hệ thống</p>
</li>
</ul>
<h2>Bài toán:</h2>
<blockquote>
<p>Cho một mảng <code>arr</code> gồm các số nguyên dương được sắp xếp theo thứ tự <strong>tăng dần nghiêm ngặt</strong> và một số nguyên <code>k</code>.</p>
<p>Hãy tìm và trả về số nguyên dương thứ k bị <strong>thiếu</strong> trong mảng này.</p>
<h3>Ví dụ 1:</h3>
<ul>
<li><p><strong>Đầu vào:</strong> arr = [2, 3, 4, 7, 11], k = 5</p>
</li>
<li><p><strong>Đầu ra:</strong> 9</p>
</li>
<li><p><strong>Giải thích:</strong> Các số nguyên dương bị thiếu là [1, 5, 6, 8, 9, 10, 12, 13,...]. Số bị thiếu thứ 5 là 9.</p>
</li>
</ul>
<h3>Ví dụ 2:</h3>
<ul>
<li><p><strong>Đầu vào:</strong> arr = [1, 2, 3, 4], k = 2</p>
</li>
<li><p><strong>Đầu ra:</strong> 6</p>
</li>
<li><p><strong>Giải thích:</strong> Các số nguyên dương bị thiếu là [5, 6, 7,...]. Số bị thiếu thứ 2 là 6.</p>
</li>
</ul>
</blockquote>
<h3>Tiếp cận đơn giản với Vét cạn (BruteForce)</h3>
<p>Một cách đơn giản nhất mà ai cũng sẽ nghĩ đến đầu tiên đó là BruteForce (vét cạn) , cách làm này khá đơn giản và trực quan.</p>
<ol>
<li><p>Mình có thể đếm từ số 1 trở đi</p>
</li>
<li><p>với mỗi số đếm ở trên , duyệt qua mảng để kiểm tra xem số hiện tại có nằm trong mảng hay không, nếu không, tăng biến missing_count lên 1.</p>
</li>
<li><p>Tăng số đếm lên 1 và lặp lại quá trình trên.</p>
</li>
</ol>
<p>Đánh giá: Tuy cách làm này khá dễ thực hiện, nhưng rất chậm, đặc biệt với tập dữ liệu lớn và k lớn. độ phức tạp: O(k * n) ?</p>
<pre><code class="language-python">def findKPositive(arr: List[int], k:int):
    missing_count = 0
    curr = 1
    while missing_count != k:
        found = False
        for nu in arr:
            if nu == curr: # phần tử có trong mảng
                found = True
                break
        if not found: missing_count+=1
        curr+=1 
    return curr - 1 # when missing_count == k, số trước đó chính là số thứ k. còn thiếu.
</code></pre>
<h3>Cải thiện thuật toán Bruteforce</h3>
<p>Trong thuật toán bên trên, có 1 bottleneck đó là khi chúng ta kiểm tra số X có ở trong mảng hay không thì chúng ta phải duyệt toàn bộ mảng n lần (n là số phần tử có trong mảng).</p>
<div>
<div>💡</div>
<div>Nếu có thể cải thiện việc kiểm tra này từ O(n) -&gt; O(1) thì thuật toán có thể chạy với độ phức tạp O(n).</div>
</div>

<p>Để kiểm tra 1 phần tử có trong mảng hay không, thay vì duyệt qua hết các phần tử trong mảng, chúng ta có thể sử dụng Hash set như bên dưới.</p>
<pre><code class="language-python">def findKPositive(arr: List[int], k:int):
    missing_count = 0
    curr = 1
    s = set(arr)
    while missing_count != k:
        if curr not in arr: missing_count+=1
        curr+=1
    return curr - 1 # when missing_count == k, số trước đó chính là số thứ k. còn thiếu.
</code></pre>
<p>Trong cách tiếp cận Brute Force thông thường, thuật toán có độ phức tạp là O(k*n)Với cách dùng <strong>Hash Set</strong>, chúng ta đã đưa nó về O(k) . Tuy nhiên, hãy tưởng tượng nếu mảng <code>arr</code> chỉ có vài phần tử nhưng k lại lên tới 1 tỷ? Việc tiếp tục vòng lặp để đếm từng đơn vị cho đến khi chạm mốc k sẽ cực kỳ lãng phí tài nguyên CPU.</p>
<p><strong>Ý tưởng tối ưu:</strong> Khi biến <code>curr</code> (số đang xét) đã vượt qua giá trị lớn nhất trong mảng (<code>arr[n-1]</code>Chúng ta biết chắc chắn rằng từ đây trở đi sẽ <strong>không còn số nào xuất hiện trong mảng nữa</strong>. Thay vì tiếp tục đếm "thủ công", ta có thể dùng một phép tính để "nhảy" thẳng đến kết quả.</p>
<h3>Thuật toán cải tiến</h3>
<ol>
<li><p><strong>Duyệt mảng:</strong> Chạy vòng lặp và tăng <code>curr</code> như bình thường.</p>
</li>
<li><p><strong>Điều kiện dừng sớm (Prune):</strong> Nếu <code>curr &gt; max(arr)</code>, ta dừng vòng lặp ngay lập tức.</p>
</li>
<li><p><strong>Tính toán kết quả tức thì:</strong> Tại thời điểm dừng, ta đã có:</p>
<ul>
<li><p><code>missing_count</code>: Số lượng số bị thiếu đã tìm được cho đến nay.</p>
</li>
<li><p><code>curr</code>: Giá trị hiện tại bắt đầu vượt quá mảng.</p>
</li>
</ul>
</li>
</ol>
<p>Số lượng số còn lại cần phải tìm thêm là: k - missing_count</p>
<p>Vì kể từ <code>curr</code> trở đi không còn số nào bị chặn nữa, kết quả sẽ là:</p>
<p><strong>Kết quả = k - missing_count + (curr - 1)</strong></p>
<pre><code class="language-python">def findKPositive(arr: List[int], k:int):
    missing_count = 0
    curr = 1
    s = set(arr)
    while curr &lt;= arr[-1] and missing_count != k:
        if curr not in arr: missing_count+=1
        curr+=1
    return k - missing_count + curr - 1
</code></pre>
<p>Đến đây thì các bạn thấy là thuật toán chạy tốt, độ phức tạp : O(n), bộ nhớ sử dụng thêm: O(n). Nhưng thực sự thì chúng ta có thể làm tốt hơn rất nhiều.<br />Chúng ta có thể thực thi thuật toán này với độ phức tạp O(logn) và không cần phải sử dụng thêm bộ nhớ.</p>
<h3>Aha moment !!!</h3>
<p>Hãy cùng quan sát mảng <code>arr = [2, 3, 4, 7, 11]</code>. Nếu đây là một mảng hoàn hảo <strong>không thiếu số nào</strong>, nó sẽ trông như sau:</p>
<table style="min-width:150px"><colgroup><col style="min-width:25px"></col><col style="min-width:25px"></col><col style="min-width:25px"></col><col style="min-width:25px"></col><col style="min-width:25px"></col><col style="min-width:25px"></col></colgroup><tbody><tr><td><p><strong>Chỉ số (i)</strong></p></td><td><p><strong>0</strong></p></td><td><p><strong>1</strong></p></td><td><p><strong>2</strong></p></td><td><p><strong>3</strong></p></td><td><p><strong>4</strong></p></td></tr><tr><td><p><strong>Giá trị kỳ vọng</strong> (\(i + 1\))</p></td><td><p>1</p></td><td><p>2</p></td><td><p>3</p></td><td><p>4</p></td><td><p>5</p></td></tr><tr><td><p><strong>Mảng thực tế</strong> (<code>arr[i]</code>)</p></td><td><p>2</p></td><td><p>3</p></td><td><p>4</p></td><td><p>7</p></td><td><p>11</p></td></tr><tr><td><p><strong>Số lượng số bị thiếu</strong></p></td><td><p><strong>1</strong></p></td><td><p><strong>1</strong></p></td><td><p><strong>1</strong></p></td><td><p><strong>3</strong></p></td><td><p><strong>6</strong></p></td></tr></tbody></table>

<p><strong>Phân tích:</strong></p>
<ul>
<li><p>Tại i = 0: Giá trị là 2, nhưng kỳ vọng là 1. Vậy thiếu 2 - 1 = 1 số (số 1).</p>
</li>
<li><p>Tại i = 3: Giá trị là 7, nhưng kỳ vọng là 4. Vậy trước vị trí này đã thiếu 7 - 4 = 3 số (các số 1, 5, 6).</p>
</li>
</ul>
<blockquote>
<p><strong>Công thức vàng:</strong> Số lượng số bị thiếu tính đến chỉ số i là:<br /><em><strong>missing_count = arr[i] - (i + 1)</strong></em></p>
</blockquote>
<h3>Chiến thuật: Tìm kiếm Nhị phân (Binary Search)</h3>
<p>Vì mảng đã được sắp xếp, hàm <code>missing_count</code> của chúng ta cũng sẽ tăng dần. Thay vì đi bộ từng bước O(n), ta có thể "nhảy cách" bằng Tìm kiếm nhị phân để tìm vị trí mà tại đó số lượng số bị thiếu vừa đủ hoặc vượt qua k.</p>
<p><strong>Các bước thực thi:</strong></p>
<ol>
<li><p>Khởi tạo <code>left = 0</code>, <code>right = len(arr) - 1</code>.</p>
</li>
<li><p>Khi <code>left &lt;= right</code>:</p>
<ul>
<li><p>Tính trung điểm <code>mid = (left + right) // 2</code>.</p>
</li>
<li><p>Tính số lượng số bị thiếu tại <code>mid</code>: <code>missing = arr[mid] - (mid + 1)</code>.</p>
</li>
<li><p><strong>Nếu</strong> <code>missing &lt; k</code><strong>:</strong> Nghĩa là số bị thiếu thứ \(k\) nằm ở phía bên phải, ta thu hẹp phạm vi: <code>left = mid + 1</code>.</p>
</li>
<li><p><strong>Ngược lại:</strong> Số đó nằm ở bên trái hoặc chính là vị trí này: <code>right = mid - 1</code>.</p>
</li>
</ul>
</li>
</ol>
<h3>kết quả cuối cùng</h3>
<p>Sau khi vòng lặp kết thúc, vị trí <code>right</code> là chỉ số cuối cùng mà số lượng số bị thiếu vẫn còn nhỏ hơn \(k\). Số chúng ta cần tìm sẽ được tính từ giá trị tại <code>right</code> cộng thêm phần còn thiếu:</p>
<p><strong>Kết quả = arr[right] + k - Missing(right)</strong></p>
<p>Thay công thức Missing(right) = arr[right] - (right + 1) vào, ta có:</p>
<p><strong>Kết quả = arr[right] + k - (arr[right] - (right + 1) = k + right + 1</strong></p>
<p>Vì khi kết thúc vòng lặp, <code>left = right + 1</code>, nên công thức rút gọn cực kỳ đẹp mắt là:</p>
<p><strong>Kết quả=left + k</strong></p>
<pre><code class="language-python">def find_kth_positive(arr, k):
    left, right = 0, len(arr) - 1
    
    while left &lt;= right:
        mid = (left + right) // 2
        # Tính số lượng số bị thiếu tính đến vị trí mid
        missing = arr[mid] - (mid + 1)
        
        if missing &lt; k:
            left = mid + 1
        else:
            right = mid - 1
            
    # Kết quả cuối cùng
    return left + k
</code></pre>
<h2>Kết luận</h2>
<p>Đừng vội vàng gõ những dòng code đầu tiên ngay khi vừa đọc xong đề bài. Bí quyết của một lập trình viên giỏi không nằm ở tốc độ viết code, mà ở <strong>khả năng quan sát đặc điểm dữ liệu</strong>.</p>
<p>Như chúng ta đã thấy qua bài toán trên:</p>
<ul>
<li><p>Nếu dữ liệu <strong>xáo trộn</strong>, ta dùng sức mạnh của <strong>Hash Set</strong> hoặc <strong>vét cạn</strong>.</p>
</li>
<li><p>Nếu dữ liệu <strong>đã sắp xếp</strong>, ta tận dụng mối liên hệ giữa <strong>chỉ số (index) và giá trị</strong> để đột phá với <strong>tìm kiếm nhị phân</strong>.</p>
</li>
</ul>
<p>Việc phân tích kỹ lưỡng giúp bạn không chỉ giải quyết được bài toán mà còn tìm ra giải pháp "thông minh" nhất. Hãy luôn bắt đầu từ những cách tiếp cận đơn giản nhất, hiểu rõ từng bước đi, rồi dần dần tối ưu hóa. Đó chính là lộ trình để bạn đạt được khoảnh khắc <strong>"AHA!"</strong> – khi mọi nút thắt logic được tháo gỡ và bạn thực sự làm chủ được thuật toán của chính mình.</p>
<hr />
<div>
<div>💡</div>
<div><strong>Bạn có muốn thử sức với một biến thể khác?</strong> Ví dụ: Nếu mảng có các số trùng lặp nhau hoặc chưa sắp xếp thì thuật toán trên sẽ cần thay đổi như thế nào? Các bạn sẽ rất bất ngờ khi thấy các cách tiếp cận rất khác</div>
</div>]]></content:encoded></item><item><title><![CDATA[Những thói quen giúp lập trình viên thành công]]></title><description><![CDATA[Lập trình viên cũng giống như một vận động viên marathon. Công việc đòi hỏi sự bền bỉ, dẻo dai và kiên trì. Ngoài việc hoàn thành dự án với deadline luôn cận kề, các bạn còn phải học để theo kịp công nghệ thay đổi nhanh chóng mỗi ngày.
Vậy làm thế nà...]]></description><link>https://codeonhat.jp/se-daily-todo-list</link><guid isPermaLink="true">https://codeonhat.jp/se-daily-todo-list</guid><category><![CDATA[effective engineer]]></category><category><![CDATA[codeonhat]]></category><category><![CDATA[Software Engineering]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Sat, 22 Jun 2024 00:00:39 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/0xpFNUjzdbw/upload/969c88fddf2a596f40816a3c188d10ea.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Lập trình viên cũng giống như một vận động viên marathon. Công việc đòi hỏi sự bền bỉ, dẻo dai và kiên trì. Ngoài việc hoàn thành dự án với deadline luôn cận kề, các bạn còn phải học để theo kịp công nghệ thay đổi nhanh chóng mỗi ngày.</p>
<p>Vậy làm thế nào để không bị bỏ lại phía sau trong đường đua khắc nghiệt này? Mình nghĩ trước tiên chúng ta phải sống giống như một vận động viên marathon thực thụ.</p>
<h2 id="heading-ngu-du-giac">Ngủ đủ giấc</h2>
<p>Giấc ngủ quan trọng với tất cả mọi người, không chỉ với lập trình viên. Ngủ đủ giấc giúp chúng ta tỉnh táo và minh mẫn, đồng thời giúp chúng ta bình tĩnh và điềm đạm hơn. Một lập trình viên ngủ đủ 8 tiếng mỗi ngày sẽ làm việc hiệu quả hơn và đưa ra quyết định đúng đắn hơn so với một lập trình viên ngủ không đủ giấc. Và lập trình viên phải đưa ra quyết định hầu như mỗi ngày.</p>
<h2 id="heading-an-uong-lanh-manh">Ăn uống lành mạnh</h2>
<p>Bộ não và cơ thể đều bị ảnh hưởng hoặc nhận lợi ích từ những gì chúng ta ăn uống hàng ngày. Có những món ăn rất tốt cho não, nhưng cũng có nhiều món không. Những món ăn như cá hồi, quả bơ xanh, chocolate đen, trứng, blueberry, và súp lơ rất tốt. Cà phê cũng có chất chống oxy hóa tốt cho não. Tuy nhiên nước uống có cồn và thuốc lá là những thứ chúng ta nên hạn chế. Thức khuya cũng là thói quen xấu không tốt cho não.</p>
<h2 id="heading-van-dong">Vận động</h2>
<p>Đặc thù công việc của lập trình viên là ngồi nhiều, thường là 8 - 10 tiếng mỗi ngày. Vừa làm dự án vừa phải dành thời gian học công nghệ mới, quỹ thời gian của chúng ta ít đi và dần dần trở nên lười vận động.Mình luôn cố gắng dành ra 30 phút mỗi ngày để chạy bộ. Có một cơ thể khoẻ mạnh mới giúp chúng ta làm việc hiệu quả. Mình cũng có 1 mẹo nhỏ đó là tập thể dục nhiều nhất có thể, thể dục tranh thủ. Thay vì đi cầu thang máy khi đi làm thì mình sẽ leo cầu thang bộ. Những lúc bí giải pháp, ý tưởng thay vì ngồi 1 chỗ để nghĩ, mình sẽ đi dạo bộ. Đôi khi nhiều giải pháp hay lại sinh ra trong lúc mình đi bộ. 1 công đôi việc.</p>
<h2 id="heading-doc">Đọc</h2>
<p>Kỹ năng đọc rất quan trọng với lập trình viên, vì chúng ta phải đọc hàng ngày. Đọc code của đồng nghiệp, đọc tài liệu dự án, đọc công nghệ mới .... Đọc hiệu quả sẽ giúp chúng ta giảm thời gian và tiếp thu được lượng kiến thức tốt nhất. Ngoài đọc về kỹ thuật, mình cũng hay đọc thêm sách non-fiction, selfhelp. Nó giúp mình xây dựng tư duy tốt hơn và không còn khô khan cứng nhắc mà lập trình viên hay mắc phải.</p>
<h2 id="heading-viet">Viết</h2>
<p>"WHAT"!!! Viết là công việc lập trình viên làm hàng ngày từ sáng đến tối. Giờ mình lại khuyên các bạn nên viết thêm? Đúng vậy, mình nghĩ Viết là kỹ năng chúng ta yếu nhất. Những gì chúng ta viết là viết cho máy hiểu chứ không phải cho con người. mình phải thừa nhận 1 thực tế là chúng ta lười viết. Chúng ta ít comment code, chúng ta ghét viết tài liệu cho dự án mà muốn nhảy ngay vào viết code. Nếu các bạn thích viết comment, thích viết tài liệu, chúc mừng! các bạn là của hiếm mà mọi công ty đang khao khát.</p>
<blockquote>
<p><strong>reading will not be obsolete until writing is</strong>, and writing will not be obsolete until thinking is.</p>
<p><a target="_blank" href="https://twitter.com/paulg">Paul Graham</a></p>
</blockquote>
<p>Viết là kỹ năng quan trọng,không bao giờ lỗi thời, Viết bắt buộc chúng ta phải sắp xếp lại kiến thức. Để có thể viết tốt, tâm trí phải rõ ràng. Tất nhiên viết là một kỹ năng cần rất nhiều thời gian để rèn luyện. Các bạn có thể bắt đầu từ việc comment code, viết tài liệu cho dự án của mình.</p>
<h2 id="heading-khong-lam-them-gio">Không làm thêm giờ</h2>
<p>Well, Mình đã từng nghĩ làm thêm giờ là cống hiến, ai từ chối làm thêm đều là kẻ lười biếng. Và sau 10 năm làm lập trình viên mình bắt đầu không làm thêm giờ. Khi chuyển việc mình cũng sẽ rất cân nhắc những công ty có 40 tiếng làm thêm trong package (Redflag--Nếu công ty mong đợi ứng viên làm thêm 40 tiếng 1 tháng, chứng tỏ công ty này coi làm thêm giờ là chuyện đương nhiên).Làm thêm giờ không tốt cho cả công ty và sự phát triển sự nghiệp của bạn. 1 ngày làm việc 8 tiếng là đã quá đủ cho 1 người. Chúng ta cần thời gian hồi phục cho bản thân và thời gian cho gia đình. Và cần có thời gian để học hỏi và phát triển. Nếu khi các bạn phải làm thêm giờ để theo kịp deadline của dự án, đó có thể chấp nhận nhưng không nên quá 2 tháng.</p>
<h2 id="heading-quan-ly-cong-viec-va-thoi-gian-hieu-qua">Quản lý công việc và thời gian hiệu quả</h2>
<p>Hàng ngày chúng ta có rất nhiều việc để làm, dự án, gia đình, con cái nhưng lại có nguồn lực hạn chế. Chúng ta đều là con người và chỉ có 24 tiếng mỗi ngày. Có công việc tốn ít thời gian nhưng đem lại lợi ích lớn nhưng có công việc tốn rất nhiều thời gian nhưng lợi ích lại nhỏ. Có việc gấp, có việc không. Có việc quan trọng có việc không. Làm thế nào để quản lý công việc với quỹ thời gian có hạn là một kỹ năng. Mình thường liệt kê tất cả những công việc mình cần làm trong 1 todo list.Nó giúp mình quản lý và sắp xếp công việc rất hiệu quả, mình có thể so sánh việc nào cần làm trước việc nào sau và thời gian cần để làm việc đó. Ngoài ra nó cũng là 1 report để mình theo dõi tiến độ và khả năng của bản thân.</p>
<h2 id="heading-ket-bai">Kết bài</h2>
<p>Có nhiều người nghĩ rằng AI sẽ thay thế lập trình viên, Mình nghĩ rằng nó đúng nhưng chưa đủ. AI sẽ thay thế lập trình viên không hiệu quả. AI sẽ tăng năng suất cho chúng ta và làm cho đường đua "Marathon" càng trở nên khắc nghiệt hơn. Những người làm việc không hiệu quả sẽ bị đào thải nhanh hơn. Vì vậy để có thể sống sót và phát triển chúng ta phải học cách trở thành 1 nhà marathon thực thụ,bền bỉ và mạnh mẽ.</p>
]]></content:encoded></item><item><title><![CDATA[7 Chiến Lược Chuyển Đổi Lên Cloud]]></title><description><![CDATA[Hôm nay mình sẽ giới thiệu với các bạn 7 chiến lược chuyển đổi lên cloud (7Rs).7 chiến lược này sẽ giúp các bạn có cái nhìn tổng quát, giúp doanh nghiệp chuyển đổi hiệu quả lên cloud. Các chiến lược có thể được sử dụng linh hoạt, kết hợp với nhau.
Tr...]]></description><link>https://codeonhat.jp/7-chien-luoc-chuyen-doi-len-cloud-thanh-cong</link><guid isPermaLink="true">https://codeonhat.jp/7-chien-luoc-chuyen-doi-len-cloud-thanh-cong</guid><category><![CDATA[Cloud]]></category><category><![CDATA[migration]]></category><category><![CDATA[Strategy]]></category><category><![CDATA[codeonhat]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Thu, 30 May 2024 19:36:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/K-Iog-Bqf8E/upload/bb221124a68ded160629bc4fb3bc2f6e.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hôm nay mình sẽ giới thiệu với các bạn 7 chiến lược chuyển đổi lên cloud (7Rs).7 chiến lược này sẽ giúp các bạn có cái nhìn tổng quát, giúp doanh nghiệp chuyển đổi hiệu quả lên cloud. Các chiến lược có thể được sử dụng linh hoạt, kết hợp với nhau.</p>
<p>Trong bài viết mình sẽ giữ nguyên gốc tiếng anh của 1 số từ vì những từ này nên được hiểu như những khái niệm và nên được sử dụng 1 cách nhất quán, dịch chúng sang tiếng Việt sẽ gây khó khăn hơn cho việc học.</p>
<p><img src="https://525875.fs1.hubspotusercontent-na1.net/hub/525875/hubfs/7-R-1024x516.jpg" alt="7 AWS Strategies for Migrating to the Cloud (Source: Amazon)" /></p>
<h3 id="heading-retire">Retire</h3>
<p>Đây là một chiến lược sẽ loại bỏ những dịch vụ, ứng dụng, server không cần thiết, không hiệu quả hoặc có thể thay thế, bằng các dịch vụ tốt hơn trên cloud.</p>
<h3 id="heading-retain">Retain</h3>
<p>Giữ lại những dịch vụ, ứng dụng, data không thể loại bỏ và cũng không thể đưa lên cloud, do những hạn chế về chế tài, pháp luật hoặc công nghệ, hoặc do phụ thuộc vào bên thứ 3. Ngoài ra Doanh nghiệp quyết định "Retain" còn dựa vào giá trị của việc đưa lên cloud cùng với chi phí phát sinh.</p>
<h3 id="heading-rehost">Rehost</h3>
<p>Hay còn gọi là Lift and Shift. Doanh nghiệp đưa toàn bộ ứng dụng, dữ liệu và hệ thống lên đám mây. Chiến lược này sử dụng Infrastructure as a service (IaaS), tức là triển khai hệ thống của mình lên trên hạ tầng cloud.</p>
<p>Nó cũng giống như việc bạn chuyển cả ngôi nhà của mình đi lên một vùng đất mới an ninh hơn, tốt hơn.<br />Đây là chiến lược đơn giản và ít đòi hỏi trình độ, kiến thức về cloud, và cũng không gây ra ảnh hưởng đến khả năng vận hành của doanh nghiệp.</p>
<p><img src="https://www.pricingvanlines.com/wp-content/uploads/2018/12/Companies-that-Move-Houses-Mitch-Contracting-1024x768.jpg" alt="Top 6 House Movers Near You | Companies Move Houses" /></p>
<h3 id="heading-relocate">Relocate</h3>
<p>Doanh nghiệp có thể chuyển đổi toàn bộ hệ thống của mình từ Data center của doanh nghiệp lên phiên bản cloud của nó và hạn chế tối đa ảnh hưởng đến khả năng vận hành của hệ thống hiện tại, cũng như thay đổi trong hệ thống. Ngoài ra, Relocate còn được sử dụng để di chuyển hệ thống giữa các AWS region, AWS account , AWS VPC.</p>
<p>Ví dụ: Nó cũng giống như bạn chuyển nhà sang một ngôi nhà y hệt về <strong>thiết kế</strong> nhưng an ninh tốt hơn và có nhiều tiện nghi hơn.</p>
<p>Chiến lược giúp doanh nghiệp có thể chuyển đổi với chi phí dễ đoán trước, giữ nguyên đội ngũ, và ít bị ảnh hưởng, gián đoạn tới khả năng vận hành.</p>
<h3 id="heading-replatform">Replatform</h3>
<p>Hay còn gọi là Lift and Reshape. Trong chiến lược này, Doanh nghiệp sẽ chuyển đổi ứng dụng của mình lên cloud và sử dụng platform khác hiện đại hơn, hiệu quả hơn. Phần ứng dụng vẫn sẽ được giữ nguyên hoặc đôi khi phải thay đổi ít nhiều để có thể làm việc với phiên bản platform mới.<br />Ví dụ: Doanh nghiệp chuyển đổi Microsoft SQL server lên AWS sử dụng Amazon RDS SQL. Microsoft SQL server và Amazon RDS SQL đều sử dụng chung SQL Engine nên không đòi hỏi thay đổi lớn nào trong cấu trúc hệ thống.<br />Lấy ví dụ về chuyển nhà, thì bạn sẽ chuyển sang một căn nhà hoàn toàn khác về cấu trúc, chỉ mang đồ đạc theo. Do cấu trúc nhà mới không giống hoàn toàn với nhà cũ, nên nhiều lúc bạn phải bỏ, cắt gọt đồ đạc của mình đi 1 chút thì mới có thể sử dụng ở nhà mới được.</p>
<h3 id="heading-repurchase-drop-and-shop">Repurchase (Drop and shop)</h3>
<p>Thay thế hệ thống hiện tại bằng việc mua 1 phiên bản hoặc sản phẩm mới trên cloud. Sản phẩm mới sẽ giúp doanh nghiệp giảm chi phí vận hành, hiện đại và có chi phí hợp lý hơn.<br />Ví dụ: Doanh nghiệp đang sử dụng github enterprise trên on-premise, khi chuyển đổi lên cloud thì có thể thay thế bằng phiên bản Cloud của github enterprise.</p>
<p>Khi chuyển nhà thì bạn sẽ có thể bỏ đi cái giường cũ của mình và mua một cái giường mới. Cả 2 đều có cùng công năng và tương thích với ngôi nhà của bạn.</p>
<h3 id="heading-refactorre-architect">Refactor/Re-architect</h3>
<p>Đây là chiến lược tốn kém nhất trong 7Rs. Phát triển hệ thống hiện tại bằng một hệ thống hoàn toàn mới, thân thiện với cloud, hiện đại, nhanh, và dễ mở rộng.<br />Nó cũng tương tự như bạn đập cái nhà 40 năm tuổi đi và xây lại cái nhà mới trên nền móng mới.<br />Đa phần những dự án Refactor/Re-architect sẽ ưu tiên những dự án có nhiều giá trị và quan trọng nhưng lại quá cũ kỹ và đắt đỏ khi vận hành. Hiện tại ở Nhật có rất nhiều dự án như vậy.</p>
<h3 id="heading-ket-bai">Kết bài</h3>
<p>Hiểu được 7 chiến lược cloudification sẽ giúp doanh nghiệp chuyển đổi số dễ dàng hơn. Doanh nghiệp có thể phân tích hệ thống hiện tại, cân nhắc giá trị nó đem lại để đưa ra quyết định phù hợp. Việc di chuyển lên cloud là xu hướng, và có chiến lược phù hợp sẽ giúp quá trình chuyển đổi diễn ra nhanh chóng, chính xác. Nhật Bản từng là nước tiên phong về công nghệ, nên dễ tìm thấy những hệ thống cũ kỹ từ 10, 20 năm trước. Chúng đang là gánh nặng và làm chậm quá trình chuyển đổi số của Nhật Bản. Tuy nhiên, vấn đề luôn đi kèm cơ hội. Nếu bạn hiểu biết sâu về cloud, đây sẽ là cơ hội của bạn.</p>
]]></content:encoded></item><item><title><![CDATA[Tôi học Solution architecture]]></title><description><![CDATA[Solution architect(SA) là kỹ sư có hiểu biết rộng về kiến trúc hệ thống, có kinh nghiệm trong việc thiết kế hệ thống dựa trên yêu cầu của khách hàng. Nếu các bạn tìm hiểu trên mạng hoặc hỏi chatgpt thì sẽ tìm ra mô tả chi tiết về công việc này.
Mình ...]]></description><link>https://codeonhat.jp/toi-di-hoc-solution-architecture</link><guid isPermaLink="true">https://codeonhat.jp/toi-di-hoc-solution-architecture</guid><category><![CDATA[codeonhat]]></category><category><![CDATA[AWS SAP]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Thu, 23 May 2024 13:55:24 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/jJT2r2n7lYA/upload/dfbb76501cc84e6848fe2703f476bd26.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Solution architect(SA)</strong> là kỹ sư có hiểu biết rộng về kiến trúc hệ thống, có kinh nghiệm trong việc thiết kế hệ thống dựa trên yêu cầu của khách hàng. Nếu các bạn tìm hiểu trên mạng hoặc hỏi chatgpt thì sẽ tìm ra mô tả chi tiết về công việc này.</p>
<p>Mình sẽ không đi sâu vào việc định nghĩa một SA và vai trò của họ, thay vào đó mình sẽ đi sâu vào lý do cá nhân thúc đẩy mình học thêm về solution architect và những lợi ích mà nó đem lại.</p>
<h3 id="heading-t-shape-engineer">T-shape engineer</h3>
<p>Xuất phát là một Kỹ sư phần mềm (SE), công việc của mình là code và thiết kế phần mềm. Tuy nhiên mình dần nhận ra rằng chỉ biết code thôi vẫn chưa đủ. Nhất là khi càng có nhiều kinh nghiệm, càng lên vị trí cao hơn thì càng đòi hỏi mình phải có 1 lượng kiến thức rộng và sâu hơn. Ngày xưa cấu trúc 1 hệ thống phần mềm thường đơn giản,gồm một vài thành phần (Backend , database) tương tác với nhau, tuy nhiên ngày nay 1 hệ thống phần mềm bao gồm nhiều thành phần.Tất cả những thành phần này phải làm việc tương thích, dễ dàng mở rộng và luôn hoạt động 24/7. Việc của 1 kỹ sư phần mềm hiện không chỉ lập trình 1 phần trong hệ thống mà phải hiểu rõ cách thức vận hành của toàn bộ hệ thống.</p>
<h3 id="heading-dua-ra-giai-phap-hoan-thien-hon">Đưa ra giải pháp hoàn thiện hơn</h3>
<p><em>"1 team sẽ phải gánh chịu hậu quả của việc đưa ra quyết định sai lầm trong ít nhất 5 năm. "</em></p>
<p>1 dự án phần mềm thường sẽ có vòng đời tương đối dài tính từ lúc bắt đầu dự án, vì vậy nếu 1 quyết định sai lầm sẽ đều dẫn đến kết quả tệ hại. Và người phải gánh chịu hậu quả lớn nhất chính là SE. Nếu SE có kiến thức về cấu trúc hệ thống, và tham gia vào khâu thiết kế hệ thống từ sớm sẽ giảm được rủi ro rất nhiều. SE sẽ hiểu được hạn chế của công nghệ, những rủi ro và khó khăn của giải pháp từ đó sẽ thúc đẩy nhóm tìm ra một giải pháp phù hợp hơn. Một kỹ sư cần một lượng kiến thức đủ rộng để có thể tham gia vào 1 dự án phần mềm ngay từ giai đoạn đầu. Trong những cuộc họp bạn phải có khả năng đưa ra những ý kiến đóng góp và hiểu về toàn bộ những công nghệ mình đang sử dụng</p>
<h3 id="heading-canh-tranh-hon">Cạnh tranh hơn</h3>
<p>Ngày nay việc đòi hỏi Kỹ sư phần mềm phải biết và giỏi về solution architecture đang dần trở nên bình thường trong mắt các nhà tuyển dụng. Đặc biệt là ở những công ty làm sản phẩm. Cùng với sự thịnh hành của Agile, và sự thay đổi chóng mặt của công nghệ, Các công ty luôn muốn xây dựng đội ngũ có đầy đủ các kỹ năng để có thể xây dựng giải pháp từ lúc bắt đầu dự án, phát triển, duy trì và sau cùng là đóng một dự án. 1 Kỹ sư phần mềm sẽ cần không chỉ là kỹ năng code mà còn cả kỹ năng thiết kế giải pháp, thay đổi giải pháp khi cần thiết ... Tuy nhiên việc tìm được những người như vậy tương đối khó đặc biệt là ở Nhật. Việc có thêm kỹ năng sẽ giúp bạn có nhiều cơ hội nghề nghiệp hơn và dễ dàng tăng thu nhập hơn.</p>
<h3 id="heading-tai-sao-lai-la-aws">Tại sao lại là AWS</h3>
<p>AWS cloud chiếm thị phần rất lớn trong cloud computing, hiện tại công ty mình cũng đang dùng AWS, và rất nhiều công ty lớn cũng đang và có ý định dùng AWS, nên việc lựa chọn AWS sẽ có nhiều cơ hội nghề nghiệp hơn.</p>
<p>Sau khi trang bị kiến thức về AWS rồi thì việc học các dịch vụ điện toán khác cũng sẽ đơn giản hơn.</p>
<h3 id="heading-xuat-phat">Xuất phát !!!!</h3>
<p>Mình xuất phát điểm là một Kỹ sư phần mềm nên việc học Cloud nói chung và AWS nói riêng sẽ có lợi thế hơn các bạn không phải là kỹ sư phần mềm. Tuy nhiên bạn không cần phải là kỹ sư phần mềm mới có thể học AWS. Có rất nhiều bạn học AWS từ con số không và vẫn trở thành 1 solution architect giỏi.</p>
<p>Các bạn có thể hoàn toàn theo đuổi nghề solution architect từ đầu, để bắt đầu dễ dàng hơn các bạn nên trang bị cho mình kiến thức cơ bản về hạ tầng internet, network, computing.</p>
]]></content:encoded></item><item><title><![CDATA[Điều gì giúp bạn trở thành một Senior developer]]></title><description><![CDATA[Senior developer là một mức phân loại trong việc đánh giá khả năng lành nghề của một developer. Bao gồm Junior, Intermediate, Senior, trong đó Junior chỉ những người mới vào nghề có từ 1-2 năm kinh nghiệm, Intermediate chỉ những người có kinh nghiệm ...]]></description><link>https://codeonhat.jp/senior-developer</link><guid isPermaLink="true">https://codeonhat.jp/senior-developer</guid><category><![CDATA[dev-story]]></category><category><![CDATA[codeonhat]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Sun, 04 Feb 2024 02:08:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/iE71-TMrrkE/upload/c5db40e618f0c6378a8ab927331a42ee.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Senior developer là một mức phân loại trong việc đánh giá khả năng lành nghề của một developer. Bao gồm Junior, Intermediate, Senior, trong đó Junior chỉ những người mới vào nghề có từ 1-2 năm kinh nghiệm, Intermediate chỉ những người có kinh nghiệm vào khoảng 3-5 năm và có 1 mức độ lành nghề nhất định, Senior Developer là mức đánh giá cao nhất có trên 5 năm kinh nghiệm làm việc, có một mức độ hiểu biết sâu và rộng trong lĩnh vực công nghệ. (Ngoài ra vẫn còn nhiều mức đánh giá trên cả senior developer. Tuy nhiên mình sẽ chú trọng vào Senior developer trong bài này.)</p>
<p>Khi tham gia phỏng vấn ứng viên, mình thấy đôi khi nhiều bạn hay đánh giá quá cao bản thân mình để rồi đánh mất đi cơ hội hiếm có để phát triển hay nhiều bạn đánh giá quá thấp bản thân để rồi bị thiệt thòi. Vì vậy mình nghĩ rằng mình nên hiểu mình là ai, đang ở đâu trong sự nghiệp. Nó cũng rất quan trọng để giúp mình có một định hướng tốt cho tương lai.</p>
<p>Vậy làm thế nào, tiêu chí gì để tự biết level của mình ở đâu? Đây là một câu hỏi tương đối, và khó. Dưới đây là một vài tiêu chí mình đánh giá khi phỏng vấn ứng viên của mình.</p>
<h3 id="heading-so-nam-kinh-nghiem">Số năm kinh nghiệm</h3>
<p>1 trong những chỉ số quan trọng để đánh giá kinh nghiệm của ứng viên. Tuy nhiên thì "Chiếc áo không làm nên thầy tu".Số năm kinh nghiệm chỉ là một cách đánh giá tương đối và thay đổi tuỳ theo từng người.Có nhiều bạn số năm kinh nghiệm nhiều nhưng tích luỹ, kiến thức không tương xứng. Nhiều khi hỏi cũng không biết gì. Nhưng cũng có nhiều bạn có ít năm kinh nghiệm nhưng vẫn có kiến thức và kinh nghiệm đáng nể.</p>
<p>Số năm kinh nghiệm đối với mình nó như 1 con dao hai lưỡi với ứng viên. Nếu 1 ứng viên không có đủ kỹ năng tương xứng cũng sẽ gây ấn tượng không tốt. Ví dụ 10 năm kinh nghiệm nhưng kỹ năng chỉ tầm 2-3 năm.</p>
<h3 id="heading-ky-nang">Kỹ năng</h3>
<p>Kỹ năng cơ bản nhất của một lập trình viên là code và hiểu được sâu cách vận hành của code, framework mình sử dụng, tiếp đó là khả năng thiết kế, sử dụng những practice phổ biến. Việc bạn code thế nào, tổ chức code của mình ra sao, cách đặt tên biến, cách phân chia dòng lệnh etc. Công ty sẽ đánh giá những kỹ năng này thông qua những assignment cho ứng viên, hoặc những buổi code interview online.</p>
<h3 id="heading-giai-quyet-nhung-van-de-kho">Giải quyết những vấn đề khó</h3>
<p>Đây là một trong những kỹ năng quan trọng nhất để đánh giá khả năng của một kỹ sư lành nghề. Nó cũng đòi hỏi vận dụng không chỉ kỹ năng kinh nghiệm mà còn khả năng tư duy logic, khả năng phân tích. Trong buổi phỏng vấn, mình sẽ đưa ra yêu cầu một cách đơn giản và mơ hồ, việc đặt những câu hỏi để hiểu vấn đề và tìm ra lời giải phù hợp nhất cho một bài toán khó là rất quan trọng.</p>
<h3 id="heading-make-impact">Make Impact</h3>
<p>Làm một lập trình viên viết code là dễ nhất trong một dự án phần mềm. Làm cái mình giỏi nhất thích nhất. Tuy vậy ảnh hưởng bạn tạo ra lại rất nhỏ . 1 developer ra đi ko bao giờ làm chết dự án, và rất dễ bị thay thế. Khi đã tích lũy được kiến thức và kinh nghiệm thì cuối cùng một Senior developer phải biết tạo ra ảnh hưởng lớn hơn và đạt được công việc thông qua các thành viên khác.</p>
<p><img src="https://pbs.twimg.com/media/F-lpa0MXIAEds17?format=png&amp;name=small" alt="Image" class="image--center mx-auto" /></p>
<h3 id="heading-ket-bai">Kết bài</h3>
<p>Lập trình là một sự kết hợp giữa con người và máy tính theo thời gian. Trong đó yếu tố con người cũng rất quan trọng. Việc học hỏi tích luỹ kỹ năng cứng là cần thiết nhưng chưa đủ để giúp chúng ta trở thành một Senior developer. Yếu tố con người, làm việc hiệu quả cùng với team và tạo ra ảnh hưởng thông qua người khác cũng cần thiết.</p>
<p>Là một Senior developer không chỉ là bạn có bao nhiêu năm kinh nghiệm, biết bao nhiêu ngôn ngữ mà thực ra là bài toán bạn giải quyết là gì. Mình nghĩ là khi đã có đủ trình độ và kiến thức, việc bước ra khỏi vùng an toàn, tìm kiếm và giải quyết những bài toán khó hơn sẽ giúp chúng ta trở thành một Senior developer thực thụ.</p>
]]></content:encoded></item><item><title><![CDATA[Chứng chỉ FE : Tấm vé cho các bạn trái ngành muốn làm IT]]></title><description><![CDATA[Ngành IT ở Nhật hiện nay đang rất khát nhân lực vì vậy việc chuyển từ ngành khác sang làm IT đang là 1 xu hướng phổ biến hiện nay. Trong team làm việc với Code ở Nhật có anh bạn hồi trước năm 2011 từng làm nông nghiệp ở Fukushima nhưng sau đó do đợt ...]]></description><link>https://codeonhat.jp/chung-chi-fe-tam-ve-cho-cac-ban-trai-nganh-muon-lam-it</link><guid isPermaLink="true">https://codeonhat.jp/chung-chi-fe-tam-ve-cho-cac-ban-trai-nganh-muon-lam-it</guid><category><![CDATA[codeonhat]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Tue, 24 Oct 2023 13:14:11 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/XQaqV5qYcXg/upload/98d9c60ca2e9aa59d5f067b392a5b092.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Ngành IT ở Nhật hiện nay đang rất khát nhân lực vì vậy việc chuyển từ ngành khác sang làm IT đang là 1 xu hướng phổ biến hiện nay. Trong team làm việc với Code ở Nhật có anh bạn hồi trước năm 2011 từng làm nông nghiệp ở Fukushima nhưng sau đó do đợt động đất sóng thần nên chuyển hướng sang làm IT, hay có chị chuyên dịch thuật tiếng Anh Tiếng Nhật nhưng gần đây nhận thấy AI đang ngày càng thay thế dần công việc của mình nên cũng quyết định đi học một khoá học IT bootcamp rồi chuyển sang làm IT.</p>
<p>Đối với người Nhật thì việc chuyển sang làm một ngành khác với chuyên môn mình từng học có vẻ khá đơn giản tuy nhiên đối với người nước ngoài thì nó không hề dễ dàng như vậy.</p>
<h3 id="heading-chung-chi-fe-la-gi">Chứng chỉ FE là gì?</h3>
<p>Cũng như trong bài viết <a target="_blank" href="https://codeonhat.jp/den-nhat-lam-it-visa-va-nhung-diem-can-luu-y">Visa cho kỹ sư IT</a>, mình cũng đã đề cập tới, con đường đến Nhật làm việc IT sẽ đòi hỏi việc học trong ngành IT hoặc có 1 số năm kinh nghiệm nhất định, tuy nhiên các bạn học nghề IT ở Việt Nam hoặc chưa có đủ số năm kinh nghiệm yêu cầu vẫn có thể đến Nhật làm đó là thi chứng chỉ <a target="_blank" href="https://www.jspe.org/en/interested-in-pe-exam/Qualification-Step/">FE (Fundamental of engineering certification)</a> hay còn gọi là chứng chỉ kỹ sư cơ bản.</p>
<h3 id="heading-loi-ich">Lợi ích</h3>
<p>Đây là một trong những chứng chỉ được công nhận bởi chính phủ Nhật Bản, khi có chứng chỉ này rồi thì về cơ bản các bạn đã có đủ điều kiện để làm việc ở Nhật Bản trong lĩnh vực IT mà không cần phải có bằng đại học liên quan hoặc kinh nghiệm làm việc nhất định.</p>
<p>Chứng chỉ FE đòi hỏi kiến thức khá rộng về kiến trúc hệ thống, Network, dữ liệu giải thuật , kỹ năng quản lý cần thiết trong lĩnh vực IT, vì vậy việc học chứng chỉ này sẽ đem lại cho các bạn một nền tảng kiến thức IT nhất định và nâng cao uy tín của bản thân đối với nhà tuyển dụng.</p>
<p>Ngoài ra thì việc có chứng chỉ FE cũng sẽ giúp ích cho các bạn đang làm việc ở Nhật có thể được cộng điểm (5 điểm) khi xin visa Nhân Lực Chất Lượng Cao hoặc visa vĩnh trú.</p>
<h3 id="heading-fe-co-giup-ban-de-xin-viec-hon-khong">FE có giúp bạn dễ xin việc hơn không?</h3>
<p>Không! Thực tế thì chứng chỉ FE sẽ giúp các bạn trong việc xin visa để vào Nhật làm việc. Tuy nhiên các công ty khi phỏng vấn sẽ đánh giá ứng viên qua quá trình phỏng vấn, kinh nghiệm làm việc thực tế, kỹ năng ngôn ngữ ... chứ không chỉ là bạn có chứng chỉ FE hay không. Nhiều công ty ở Nhật thực tế còn không biết về chứng chỉ này.</p>
<h3 id="heading-fe-co-giup-tang-luong-khong">FE có giúp tăng lương không?</h3>
<p>Không! FE là chứng chỉ để chứng minh năng lực của mình nhưng mình nghĩ nó không phải là cái để thuyết phục nhà tuyển dụng trả lương cao cho mình. Khi tuyển dụng người ta sẽ nhìn vào kinh nghiệm thực tế và các kỹ năng cần thiết khác để trả lương hơn là nhìn vào chứng chỉ. Đặc biệt ở Nhật thì lương sẽ được trả dựa vào số năm kinh nghiệm của mình. Các bạn có thể tham khảo thêm trong bài viết : <a target="_blank" href="https://codeonhat.jp/luong-coder-o-nhat-hien-tai-va-xu-huong-2023">Lương coder ở Nhật, Hiện tại và xu hướng 2023</a></p>
<h1 id="heading-ket-bai">Kết bài</h1>
<p>Chứng chỉ FE là một chứng chỉ có giá trị và được công nhận bởi chính phủ Nhật Bản. Hiện nay ở Việt Nam cũng có rất nhiều nơi đào tạo, tổ chức thi chứng chỉ này. Tuy nhiên theo nhận định của team Code ở Nhật thì chứng chỉ này rất hữu ích cho các bạn đang muốn sang Nhật làm IT nhưng không đủ điều kiện (học trái ngành etc...). Đối với các bạn đang và đã học đại học IT ở Việt Nam rồi thì chứng chỉ này không đem lại nhiều giá trị lắm so với các chứng chỉ chuyên ngành về Cloud, Web, AI...</p>
<p>Chứng chỉ FE sẽ giúp các bạn hợp thức hoá việc đến Nhật nhưng việc trau dồi chuyên môn, kinh nghiệm thực tế và thuyết phục nhà tuyển dụng mới thực sự quan trọng.</p>
<p>Hy vọng bài viết trên đây giúp ích được các bạn đặc biệt là các bạn non-it đang muốn đến Nhật làm việc có 1 định hướng tốt hơn.</p>
]]></content:encoded></item><item><title><![CDATA[Đến Nhật làm IT: Visa và những điểm cần lưu ý]]></title><description><![CDATA[Trong những năm gần đây,Nhật Bản đối mặt với việc thiếu hụt nguồn lao động trầm trọng và nhu cầu về nguồn nhân lực IT cũng không phải là ngoại lệ. Vì vậy việc đến Nhật làm việc theo diện kỹ sư IT đang ngày càng trở nên dễ dàng hơn.Tuy nhiên đối với k...]]></description><link>https://codeonhat.jp/den-nhat-lam-it-visa-va-nhung-diem-can-luu-y</link><guid isPermaLink="true">https://codeonhat.jp/den-nhat-lam-it-visa-va-nhung-diem-can-luu-y</guid><category><![CDATA[codeonhat]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Mon, 16 Oct 2023 14:15:20 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/ivG8LkDrtjs/upload/43cbed87db6ca2bcbb6ffc8a98da8961.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Trong những năm gần đây,Nhật Bản đối mặt với việc thiếu hụt nguồn lao động trầm trọng và nhu cầu về nguồn nhân lực IT cũng không phải là ngoại lệ. Vì vậy việc đến Nhật làm việc theo diện kỹ sư IT đang ngày càng trở nên dễ dàng hơn.Tuy nhiên đối với kỹ sư người nước ngoài thì trước tiên cần phải có visa để có thể được làm việc tại Nhật hợp pháp.</p>
<p>Kỹ sư IT là một trong những nghề đang được tìm kiếm nhiều nhất đối với người nước ngoài muốn làm việc tại Nhật Bản. Trong bài viết này team <strong>Code ở Nhật</strong> sẽ chia sẻ với các bạn về việc để làm kỹ sư IT ở Nhật sẽ cần lưu ý những gì, có những loại visa nào, điều kiện cũng như điểm lưu ý về việc lấy visa.</p>
<h2 id="heading-ban-co-bang-dai-hoc-ve-nganh-it">Bạn có bằng đại học về ngành IT</h2>
<p>Nếu các bạn có bằng kỹ sư/ cử nhân học về ngành IT thì các bạn sẽ được cấp visa <strong>Kỹ thuật/ Tri thức nhân văn/ Nghiệp vụ quốc tế (技術・人文知識・国際業務)</strong></p>
<p>Đây là visa được cấp phổ biến nhất cho các bạn làm kỹ sư IT ở Nhật Bản. Một loại visa khá phổ thông và dễ dàng được cấp với điều kiện là bạn có 1 công ty ở Nhật tiếp nhận và có bằng đại học, cao đẳng về ngành học liên quan, cụ thể ở đây là có bằng học về khoa học máy tính...</p>
<p>Về cơ bản thì tất cả các ngành học có liên quan đến kỹ sư thì đều có cơ hội để có được visa này để làm việc, tuy nhiên khả năng nhận được visa của 1 ngành không liên quan đến bằng cấp hiện tại sẽ phức tạp hơn và có nhiều thủ tục hơn nhiều. Chẳng hạn bạn học kỹ sư hoá dầu nhưng ra làm IT về lý thuyết thì vẫn có thể được nhưng sẽ cần nhiều điều kiện khác đi kèm.</p>
<h2 id="heading-ban-co-bang-dai-hoc-nhung-khong-phai-it">Bạn có bằng đại học nhưng không phải IT</h2>
<p>Thực ra việc làm trái ngành khá là phổ biến ở xã hội Nhật Bản, Có nhiều bạn học về kinh tế nhưng ra trường lại làm về IT và ngược lại. Những trường hợp này không phải là hiếm, đặc biệt trong bối cảnh đang thiếu nguồn nhân lực IT trầm trọng ở Nhật hiện nay. Tuy nhiên đối với người nước ngoài thì nó không đơn giản như vâỵ. Khi bạn không có bằng đại học về ngành IT nhưng muốn đến Nhật làm IT về cơ bản là khó, nhưng không có nghĩa là không thể. Visa <strong>Kỹ thuật/ Tri thức nhân văn/ Nghiệp vụ quốc tế</strong> thì các bạn thấy nó không chỉ bao gồm kỹ thuật mà còn có mục <strong>Tri thức nhân văn và Nghiệp vụ quốc tế</strong>, Ví dụ các bạn là một người học tiếng anh muốn sang Nhật làm IT thì các bạn có thể ứng tuyển vào vị trí dịch thuật, comtor của một công ty sau đó thì chuyển sang làm IT. Có điều trong trường hợp này thì bạn sẽ cần phải thoả thuận với công ty tuyển dụng mình và yêu cầu họ hỗ trợ. Bạn sẽ cần phải thuyết phục rằng mình là người xuất sắc để công ty sẵn sàng bỏ công sức và chi phí ra đi cùng mình theo con đường này.</p>
<h2 id="heading-nhan-luc-chat-luong-cao">Nhân lực chất lượng cao</h2>
<p>Đây là loại visa mới của chính phủ Nhật để thu hút những nhân lực có chất lượng cao đến sinh sống và làm việc ở Nhật. Đúng như cái tên của nó, để lấy được Visa dạng này thì bạn phải đạt được 1 số yêu cầu khi xin visa. Cụ thể ở đây là hệ thống tính điểm. Chỉ cần bạn đủ 70 điểm trở lên thì sẽ có được visa này. Hệ thống tính điểm bao quát nhiều khía cạnh khác nhau ví dụ bạn có bằng đại học sẽ có 10 điểm, bằng thạc sỹ 20 điểm bằng tiến sỹ 30 điểm, ngoài ra thì còn có tính điểm dựa trên độ tuổi, thu nhập hàng năm, chứng chỉ etc...</p>
<p>Có nhiều người nói là Visa Nhân lực chất lượng cao sinh ra là dành cho dân IT <a target="_blank" href="https://codeonhat.jp/luong-coder-o-nhat-hien-tai-va-xu-huong-2023">vì chỉ có dân IT mới có thu nhập đủ cao để có được visa này.</a> mình thấy cũng khá chính xác, chỉ cần bạn còn trẻ dưới 30, có bằng đại học, 3 năm kinh nghiệm chứng chỉ tiếng N2 thu nhập 800 vạn trở nên thì sẽ có khả năng lấy được Visa dạng này.</p>
<h2 id="heading-chuyen-nganh-co-cung-loai-visa">Chuyển ngành có cùng loại Visa</h2>
<p>cụ thể ở đây là <strong>Kỹ thuật/ Tri thức nhân văn/ Nghiệp vụ quốc tế.</strong> Như mình đề cập ở trên thì việc xin visa ban đầu ở Nhật đòi hỏi việc bạn phải vào làm đúng ngành học tuy nhiên khi đã xin được visa này và vào Nhật làm rồi thì việc chuyển ngành lại không quá khó khăn chỉ cần ngành bạn làm vẫn nằm trong loại Visa này. Vì vậy vẫn có rất nhiều trường hợp đến Nhật ban đầu làm kỹ sư xây dụng nhưng lại sang làm kỹ sư IT được và ngược lại làm kỹ sư IT nhưng sau lại chuyển sang làm hướng dẫn viên du lịch.</p>
<h2 id="heading-co-10-nam-kinh-nghiem-trong-nganh-it">Có 10 năm kinh nghiệm trong ngành IT</h2>
<p>Mình biết có rất nhiều bạn kỹ sư IT tài năng không có bằng đại học, các bạn có thể nghỉ giữa chừng hoặc học chứng chỉ nghề như Aptech chẳng hạn. Trong trường hợp này thì để có thể đến Nhật làm việc bạn phải có ít nhất 10 năm kinh nghiệm làm việc. Tuy nhiên việc chứng minh mình có 10 năm kinh nghiệm làm việc sẽ đòi hỏi các bạn phải chuẩn bị khá nhiều hồ sơ nhiêu khê và cũng không có hướng dẫn cụ thể. Nếu trong vòng 10 năm đó các bạn nhảy việc thường xuyên thì việc chứng minh lại càng phức tạp và độ tin cậy của hồ sơ giảm đi đáng kể, Nếu cơ quan nhập cư của Nhật cảm giác hồ sơ không đáng tin cậy thì cũng sẽ rất dễ dàng từ chối bạn. Trong trường hợp này thì team Code ở Nhật khuyên các bạn tham khảo lựa chọn bên dưới.</p>
<h2 id="heading-thi-do-chung-chi-it-duoc-chinh-phu-nhat-ban-cong-nhan">Thi đỗ chứng chỉ IT được chính phủ Nhật Bản công nhận</h2>
<p>Nếu các bạn có một trong các <a target="_blank" href="https://www.moj.go.jp/isa/laws/nyukan_hourei_h09.html">chứng chỉ</a> do chính phủ Nhật Bản cấp thì sẽ không còn bị yêu cầu về bằng Đại Học hoặc có 10 năm kinh nghiệm. Một trong những chứng chỉ phổ biến đó là chứng chỉ FE (<strong><em>chứng chỉ</em></strong> đạt chuẩn cơ bản kỹ sư CNTT của <strong><em>Nhật Bản)</em></strong> kỳ thi diễn ra 1 năm 2 lần vào tháng 4 và tháng 10 bao gồm 2 phần thi sáng chiều, bạn chỉ cần đạt 600/1000 điểm là đạt được chứng chỉ này. Khi có được chứng chỉ này thì các bạn không cần phải có bằng đại học hoặc kinh nghiệm trên 10 năm như ở trên.</p>
<p>Ngoài ra thì khi có chứng chỉ này cũng sẽ giúp bạn có thêm được khoảng 5 điểm cộng khi bạn muốn xét visa nhân lực chất lượng cao.</p>
<h2 id="heading-lam-cho-cong-ty-co-chi-nhanh-o-nhat-ban">Làm cho công ty có chi nhánh ở Nhật Bản</h2>
<p>Nếu bạn đang làm cho công ty ở Việt Nam có chi nhánh ở Nhật Bản thì các bạn có thể tìm kiếm cơ hội để sang Nhật theo diện nội bộ onsite sau đó thì relocate mình sang chi nhánh bên Nhật. Hiện nay có rất nhiều công ty Việt Nam đang cung cấp dịch vụ IT ở Nhật có những cơ hội như vậy chẳng hạn như FPT Software, Rikkei ...</p>
<p>Có điều bạn phải làm cho công ty ít nhất 1 năm để có thể đủ điều kiện để đi theo diện này và đa phần visa theo diện này sẽ có thời gian cố định.</p>
<h2 id="heading-thanh-lap-cong-ty">Thành lập công ty</h2>
<p>1 trong những cách khác đó là bạn thành lập một công ty và lấy visa loại Business Manager Visa. Để thành lập công ty thì đầu tiên là bạn phải chuẩn bị ít nhất 5 triệu yên khoảng 1 tỷ VND có trụ sở ở Nhật và có 1 kế hoạch kinh doanh cụ thể. 1 vài bạn đã có công ty lập trình ở Việt Nam có thể cân nhắc lựa chọn này.</p>
<h1 id="heading-nhung-diem-luu-y-ve-viec-lay-visa-ky-su"><strong>Những điểm lưu ý về việc lấy visa kỹ sư</strong></h1>
<h3 id="heading-ung-tuyen-tuyen-dung-bang-visa-du-lich"><strong>Ứng tuyển/ Tuyển dụng bằng Visa du lịch</strong></h3>
<p>Có trường hợp tuyển dụng người nước ngoài sang Nhật bằng visa ngắn hạn (hay còn gọi là Visa du lịch). Hoặc người có visa du lịch sang Nhật để tìm việc với mong muốn ở lại Nhật. Nhưng theo nguyên tắt thì đây là trường hợp phạm pháp. Nếu bị bắt sẽ bị cắt tư cách lưu trú/ visa. Cũng có nghĩa là từ giờ về sau sẽ rất khó khăn trong việc xin visa sang Nhật dù có công ty bảo lãnh. Hơn nữa, thời hạn lưu trú đối với visa du lịch chỉ 15 ngày, nếu cố tình ở lại khi quá hạn sẽ thành cư trú bất hợp pháp. Nếu bị bắt thì có thể bị cấm nhập cảnh trong vòng 5 năm.</p>
<h3 id="heading-du-hoc-sinh-lam-them"><strong>Du học sinh làm thêm</strong></h3>
<p>Trường hợp du học sinh được công ty tại Nhật tuyển dụng thì sẽ phải đổi tư cách lưu trú. Nếu làm việc IT thì sẽ phải đổi thành visa kỹ sư Kỹ thuật/ Tri thức nhân văn/ Nghiệp vụ quốc tế (技術・人文知識・国際業務). Việc cần làm là đăng kí đổi tư cách lưu trú「在留資格変更許可申請」tại Cục xuất nhập cảnh. Trong trường hợp đó, thông tin về những việc đã làm thêm thời du học cũng là vấn đề mà Cục xuất nhập cảnh xem xét.</p>
<p>Theo nguyên tắc, du học sinh sẽ bị giới hạn thời gian làm thêm là 28 tiếng/1 tuần. Nếu không may lúc xét đổi tư cách lưu trú mà bị phát hiện làm quá giờ quy định thì cũng có khả năng bị trượt tư cách lưu trú. Theo kinh nghiệm cá nhân của mình thì nếu làm quá giờ thì hãy cố gắng đi học đầy đủ để tỉ lệ điểm danh là 100% nhé.</p>
<h1 id="heading-ket-luan">Kết Luận</h1>
<p>Bài viết tổng hợp từng trường hợp cụ thể ứng với từng loại Visa mà các bạn làm IT có thể nhận được khi đến Nhật. Việc đến Nhật hiện nay không quá khó khăn so với các nước khác như Mỹ Anh Úc như các bạn có thể thấy ngay cả khi không có bằng đại học thì vẫn có những con đường để cho các bạn có thể đến Nhật làm việc.</p>
<p>Hy vọng rằng bài viết sẽ đem đến cho các bạn cái nhìn tổng quát về chính sách Visa cũng như có 1 định hướng rõ ràng cho tương lai của mình.</p>
]]></content:encoded></item><item><title><![CDATA[Lập trình cơ bản: Các trình soạn thảo code]]></title><description><![CDATA[Như trong bài Học javascript ở Nhật 1 trong những lý do mình nghĩ những bạn mới vào nghề, hoặc chuyển nghề từ non-it sang làm IT nên chọn Javascript đó là vì nó rất dễ bắt đầu. Đơn giản nhất là chỉ cần mở phần mềm NotePad trên window lên viết 1 file ...]]></description><link>https://codeonhat.jp/lap-trinh-co-ban-cac-trinh-soan-thao-code</link><guid isPermaLink="true">https://codeonhat.jp/lap-trinh-co-ban-cac-trinh-soan-thao-code</guid><category><![CDATA[Beginner Developers]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Thu, 12 Oct 2023 13:50:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1697118534776/216c0672-66a7-4e31-aae3-82d618e14a20.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Như trong bài <a target="_blank" href="https://codeonhat.jp/hoc-javascript-o-nhat-ban-tai-sao-day-la-lua-chon-chinh-xac">Học javascript ở Nhật</a> 1 trong những lý do mình nghĩ những bạn mới vào nghề, hoặc chuyển nghề từ non-it sang làm IT nên chọn Javascript đó là vì nó rất dễ bắt đầu. Đơn giản nhất là chỉ cần mở phần mềm NotePad trên window lên viết 1 file dưới định dạng .html, thêm javascript vào rồi mở file đó lên trong trình duyệt bất kỳ là bạn đã có 1 trang web cơ bản rồi. (Thực sự thì coder thủa sơ khai đã làm việc như vậy)</p>
<p>Tuy nhiên ngày nay có rất nhiều trình soạn thảo code với rất nhiều chức năng để hỗ trợ lập trình viên dễ dàng hơn trong việc viết code, chạy code, chia sẻ code và hợp tác với team. Hôm nay mình sẽ liệt kê ra một vài trong số đó, ưu nhược điểm của từng loại. Từ đó hy vọng nó sẽ giúp các bạn lựa chọn được trình soạn thảo cho riêng mình.</p>
<h1 id="heading-visual-studio-code-vscode">Visual studio code (VSCode)</h1>
<p>1 trình soạn thảo code <strong>miễn phí</strong> của microsoft và đang được sử dụng rất phổ biến hiện nay.</p>
<h3 id="heading-diem-manh">Điểm mạnh</h3>
<ul>
<li><p>Với cộng đồng người dùng lớn cùng khả năng mở rộng gần như vô tận bằng extensions thì Visual studio code luôn là lựa chọn hàng đầu dành cho các bạn coder.</p>
</li>
<li><p>Tích hợp hỗ trợ sẵn github,Java, javascript, typescript nodejs làm cho việc thiết lập, bắt đầu và debug rất dễ dàng.</p>
</li>
<li><p>Ngoài những ngôn ngữ trên thì các bạn cũng có thể code những ngôn ngữ khác bằng cách cài đặt thêm phần mở rộng cho ngôn ngữ đó là được.</p>
</li>
<li><p>Hỗ trợ trên hầu hết tất cả các hệ điều hành hiện nay.</p>
</li>
<li><p>Rất phù hợp cho các bạn vừa mới bắt đầu học code.</p>
</li>
</ul>
<h3 id="heading-diem-yeu">Điểm yếu</h3>
<ul>
<li><p>VSCode mất một chút thời gian để tải ban đầu và sử dụng nhiều bộ nhớ</p>
</li>
<li><p>giao diện có thể khá phức tạp nếu như các bạn chưa quen.</p>
</li>
</ul>
<h1 id="heading-sublime-text">Sublime Text</h1>
<p>Một trình soạn thảo code được phát triển bởi cựu nhân viên của Google vào năm 2007</p>
<h3 id="heading-diem-manh-1">Điểm mạnh</h3>
<ul>
<li><p>Giao diện rất đơn giản và giống như 1 trình soạn thảo đơn thuần chỉ có 1 cửa sổ để viết code</p>
</li>
<li><p>Tải nhanh hơn so với VSCode và sử dụng ít bộ nhớ hơn</p>
</li>
<li><p>Hỗ trợ mở rộng với package control (extensions) tương tự VsCode</p>
</li>
<li><p>Sublime text tối giản phần giao diện và thay vào đó bằng hệ thống phím tắt và tìm kiếm mạnh mẽ.</p>
</li>
<li><p>Hỗ trợ hầu hết trên các hệ điều hành</p>
</li>
</ul>
<h3 id="heading-diem-yeu-1">Điểm yếu</h3>
<ul>
<li><p>Mất phí sử dụng</p>
</li>
<li><p>Sublime text ban đầu cần 1 vài cài đặt và thời gian để làm quen</p>
</li>
<li><p>Cộng đồng người dùng ít hơn so với VS code</p>
</li>
<li><p>Phù hợp cho những bạn đã có kinh nghiệm</p>
</li>
</ul>
<h1 id="heading-atom">ATOM</h1>
<p>Một trình soạn thảo code được phát triển bởi github, anh em với visual studionên có phần giống nhau tuy nhiên mỗi trình soạn thảo lại có điểm mạnh điểm yếu khác nhau</p>
<h3 id="heading-diem-manh-2">Điểm mạnh</h3>
<ul>
<li><p>Atom bắt đầu với 1 giao diện đơn giản nhưng cung cấp cho người dùng khả năng tuỳ biến mạnh mẽ, ATOM hầu như mở toàn bộ để cho người dùng tuỳ biến theo nhu cầu của mình.</p>
</li>
<li><p>Bao gồm built-in github, cùng với việc dễ dàng cài đặt thêm và tuỳ biến plugin</p>
</li>
<li><p>Dễ dàng làm việc nhóm, hợp tác theo nhóm</p>
</li>
<li><p>Hỗ trợ hầu hết các ngôn ngữ lập trình bằng việc cài đặt thêm plugin.</p>
</li>
<li><p>Hỗ trợ hầu hết trên các hệ điều hành</p>
</li>
<li><p>Miễn phí</p>
</li>
</ul>
<h3 id="heading-diem-yeu-2">Điểm yếu</h3>
<ul>
<li><p>Tải nặng hơn so với 2 trình soạn thảo ở trên</p>
</li>
<li><p>Dung lượng cài đặt ban đầu khá lớn 200mb</p>
</li>
<li><p>Cộng đồng người dùng ít hơn so với VS code</p>
</li>
<li><p>Cần một khoảng thời gian để cài đặt và tuỳ biến theo nhu cầu người dùng.</p>
</li>
</ul>
<h1 id="heading-ket-luan">Kết Luận</h1>
<p>Trên đây là một vài trình soạn thảo code khá phổ biến hiện nay trong cộng đồng lập trình viên, ngoài ra còn rất rất nhiều các trình soạn thảo khác như Webstorm , Pycharm, Eclipse etc... mỗi trình soạn thảo đều có những điểm mạnh, điểm yếu khác nhau phù hợp với từng loại ngôn ngữ, dự án khác nhau.</p>
<p>Một trình duyệt soạn thảo code của lập trình viên cũng giống như một dụng cụ làm nghề của một nghệ nhân do đó việc làm quen nhuần nhuyễn 1 trình soạn thảo code nào đó khá quan trọng vì nó giúp tiết kiệm đáng kể thời gian bắt đầu, thời gian làm quen cũng như thời gian làm việc của các bạn. Tuy nhiên một vài dự án có quy định về trình soạn thảo code thì chúng ta đôi khi không có sự lựa chọn nào khác ngoài việc phải sử dụng trình soạn thảo mà team đã chọn trước đó.</p>
<blockquote>
<p>Hiện nay, Visual studio code là 1 trình soạn thảo được sử dụng khá phổ biến Ngoài ra Visual studio code có lượng người dùng lớn, khả năng tuỳ biến cao nên việc lựa chọn visual studio code có vẻ là 1 lựa chọn khá an toàn.</p>
</blockquote>
]]></content:encoded></item><item><title><![CDATA[Top Những Ngôn ngữ lập trình phổ biến tại Nhật Bản]]></title><description><![CDATA[Chỉ số TIOBE index
dưới đây là xếp hạng mức độ phổ biến của 1 ngôn ngữ lập trình theo chỉ số TIOBE, Chỉ số này được đánh giá hàng tháng dựa trên xu hướng tìm kiếm trên những trang như google, bing, yahoo...
Theo chỉ số này, thì ở vào thời điểm tháng ...]]></description><link>https://codeonhat.jp/top-nhung-ngon-ngu-lap-trinh-pho-bien-tai-nhat-ban</link><guid isPermaLink="true">https://codeonhat.jp/top-nhung-ngon-ngu-lap-trinh-pho-bien-tai-nhat-ban</guid><category><![CDATA[codeonhat]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Sun, 08 Oct 2023 00:19:20 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1696709936398/e82edcb8-9731-4ca4-a021-d3d068f4b9c3.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3 id="heading-chi-so-tiobe-index">Chỉ số TIOBE index</h3>
<p>dưới đây là xếp hạng mức độ phổ biến của 1 ngôn ngữ lập trình theo <a target="_blank" href="https://www.tiobe.com/tiobe-index/">chỉ số TIOBE</a>, Chỉ số này được đánh giá hàng tháng dựa trên xu hướng tìm kiếm trên những trang như google, bing, yahoo...</p>
<p>Theo chỉ số này, thì ở vào thời điểm tháng 9 năm 2023, Python đang đứng top 1 với tỉ lệ tìm kiếm là 14.16% tiếp sau đó là C, C++, Java ....</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Xếp hạng tháng 9 2023</strong></td><td><strong>Ngôn ngữ</strong></td><td><strong>Tỷ lệ</strong></td><td><strong>Thay đổi</strong></td></tr>
</thead>
<tbody>
<tr>
<td>1</td><td>Python</td><td>14.16%</td><td>-1.58%</td></tr>
<tr>
<td>2</td><td>C</td><td>11.27%</td><td>-2.70%</td></tr>
<tr>
<td>3</td><td>C++</td><td>10.65%</td><td>+0.90%</td></tr>
<tr>
<td>4</td><td>Java</td><td>9.49%</td><td>-2.23%</td></tr>
<tr>
<td>5</td><td>C#</td><td>7.31%</td><td>+2.42%</td></tr>
<tr>
<td>6</td><td>JavaScript</td><td>3.30%</td><td>+0.48%</td></tr>
<tr>
<td>7</td><td>Visual Basic</td><td>2.22%</td><td>-2.18%</td></tr>
<tr>
<td>8</td><td>PHP</td><td>1.55%</td><td>-0.13%</td></tr>
<tr>
<td>9</td><td>Assembly language</td><td>1.53%</td><td>-0.96%</td></tr>
<tr>
<td>10</td><td>SQL</td><td>1.44%</td><td>-0.57%</td></tr>
</tbody>
</table>
</div><h3 id="heading-chi-so-pypl">chỉ số PyPl</h3>
<p><a target="_blank" href="https://pypl.github.io/PYPL.html">Chỉ số Pypi</a> là một chỉ số khác dựa vào số lượng tìm kiếm khoá học trên google, dựa vào chỉ số này chúng ta cũng có thể biết mức độ được quan tâm của một ngôn ngữ lập trình, và xu hướng học ngôn ngữ mới. 1 lần nữa thì Python vẫn ở vị trí số một với sự bùng nổ của AI , Machine learning, tiếp sau đó là Java và Javascript.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Xếp hạng</td><td>Ngôn ngữ</td><td>Tỷ lệ</td><td>Xu hướng</td></tr>
</thead>
<tbody>
<tr>
<td>1</td><td>Python</td><td>28.05 %</td><td>+0.1 %</td></tr>
<tr>
<td>2</td><td>Java</td><td>15.88 %</td><td>-1.0 %</td></tr>
<tr>
<td>3</td><td>JavaScript</td><td>9.27 %</td><td>-0.3 %</td></tr>
<tr>
<td>4</td><td>C#</td><td>6.79 %</td><td>-0.2 %</td></tr>
<tr>
<td>5</td><td>C/C++</td><td>6.59 %</td><td>+0.3 %</td></tr>
<tr>
<td>6</td><td>PHP</td><td>4.86 %</td><td>-0.4 %</td></tr>
<tr>
<td>7</td><td>R</td><td>4.45 %</td><td>+0.4 %</td></tr>
<tr>
<td>8</td><td>TypeScript</td><td>2.93 %</td><td>+0.1 %</td></tr>
<tr>
<td>9</td><td>Swift</td><td>2.69 %</td><td>+0.7 %</td></tr>
<tr>
<td>10</td><td>Objective-C</td><td>2.29 %</td><td>+0.2 %</td></tr>
</tbody>
</table>
</div><h3 id="heading-chi-so-github-octoverse">Chỉ số GitHub Octoverse</h3>
<p>Do Github 1 chuyên trang quản lý mã nguồn của Microsoft xuất bản hàng năm, <a target="_blank" href="https://octoverse.github.com/">trong 1 báo cáo năm 2022</a> thì Javacript là ngôn ngữ được sử dụng phổ biến nhất thế giới, tiếp sau đó là python và Java</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1696667643935/0d3c9702-e985-47f8-b554-6c4bb205d8c6.png" alt class="image--center mx-auto" /></p>
<p>Có thể thấy rằng cùng với sự bùng nổ của AI , Machine learning và việc Python cũng là một ngôn ngữ rất dễ học dễ sử dụng thì việc Python trở thành được săn đón những năm gần đây cũng rất dễ hiểu.</p>
<p>Tuy nhiên những bản báo cáo trên dựa vào dữ liệu toàn cầu, nên việc dùng nó để suy luận cho thị trường Nhật bản đôi khi sẽ không được chính xác. Vậy chúng ta hãy cùng nhau tìm hiểu tiếp để xem thị trường IT của Nhật Bản có đang đi cùng với xu hướng của thế giới không nhé.</p>
<h1 id="heading-o-nhat-ban">Ở Nhật Bản</h1>
<p>Việc tìm hiểu dữ liệu ở Nhật Bản thường khó hơn vì không có đơn vị cung cấp những chỉ số như ở trên và đôi khi có thì dữ liệu cũng rất cũ. Vì thế Code Ở Nhật quyết định chủ yếu thu thập thông tin từ các tạp chí IT, Trang tin tuyển dụng ở Nhật dựa vào xu hướng tìm kiếm, mức độ được sử dụng, số lượng tuyển dụng mới...</p>
<h2 id="heading-dua-tren-xu-huong-tim-kiem">Dựa trên xu hướng tìm kiếm</h2>
<p>Dưới đây là xu hướng tìm kiếm trên google japan , Python Java và Javascript lại là những ngôn ngữ dẫn đầu. Nhìn vào xu hướng này thì xu hướng tìm kiếm trên google japan có khác 1 chút so với chỉ số TIOBE trong đó ngôn ngữ Javascript , Java tăng lên vị trí số 2 và số 3 trong danh sách</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1696669991955/8c6279b5-37e5-44ed-b9f5-ab3bbd1a63b4.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-dua-tren-khao-sat">Dựa trên Khảo Sát</h2>
<h3 id="heading-xtech-nikkei">XTech Nikkei</h3>
<p>1 tạp chí công nghệ của nhật đã thực hiện <a target="_blank" href="https://xtech.nikkei.com/atcl/nxt/mag/nc/18/072100242/072100001/">bảng khảo sát năm 2021</a> với khoảng gần 500 người tham gia trả lời về những ngôn ngữ đang được sử dụng hàng ngày. Python đứng Top 1 tiếp sau đó là Javascript và C/C++. trong số gần 500 người thì có đến 151 người đang sử dụng Python và 128 người đang sử dụng Javascript , 125 người sử dụng C/C++.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1696668743761/cf9ea76d-784c-4631-85a4-7d7ff745a799.png" alt class="image--center mx-auto" /></p>
<p>Bản khảo sát ở trên Code ở Nhật nghĩ chỉ mang tính tham khảo, do số lượng người tham gia tương đối ít.</p>
<h3 id="heading-quitta">Quitta</h3>
<p>Trong một bản điều tra với <strong>2700 người</strong> tham gia trên chuyên trang Quitta, 1 trang web khá nổi tiếng của cộng đồng lập trình viên ở Nhật thì cho ra kết quả khác hơn 1 chút trong đó <strong>Javascript 3 năm</strong> liền giữ vững vị trí top đầu và Python trong năm 2021, 2022 giữ vị trí Top 2, Tiếp sau là Java, C#, C/C++ ....</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1696672594112/2895c741-1788-49fc-be15-20b9c5f1815f.png" alt class="image--center mx-auto" /></p>
<p>Cũng trong bản khảo sát này, chúng ta có thể thấy Python trở thành ngôn ngữ được học nhiều nhất ở Nhật sau đó là Go Rust vàJavascript.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1696672871986/4158f3fd-63cb-4710-907a-4aaa5051b62a.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-tokyo-dev">Tokyo Dev</h3>
<p>Trong 1 khảo sát của trang tokyo Dev, 1 trang chuyên giành cho kỹ sư IT nói tiếng Anh ở Nhật vào năm 2022 có thể thấy Javascript và Python là 2 ngôn ngữ đang được sử dụng nhiều nhất bởi các lập trình viên nói tiếng anh, tiếp sau đó là Java, Nodejs, Ruby.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1696681226422/6f338380-06cc-405d-b927-589a37aab6c0.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-so-luong-tuyen-dung">Số lượng Tuyển Dụng</h2>
<h3 id="heading-tren-cac-trang-tuyen-dung">Trên các trang tuyển dụng</h3>
<p>Team Code ở Nhật tiến hành tìm kiếm thông tin tuyển dụng dựa vào danh sách ngôn ngữ lập trình như bên dưới, việc tìm kiếm được tiến hành tổng hợp trên 2 trang web tuyển dụng lớn của Nhật đó là : LevTech, Doda. Sau đó tổng hợp và cho ra kết quả như bảng bên dưới.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Xếp hạng</strong></td><td><strong>Ngôn ngữ</strong></td><td><strong>Số lượng công việc</strong></td><td>LevTech</td><td>Doda</td></tr>
</thead>
<tbody>
<tr>
<td><strong>1</strong></td><td>Java</td><td>16606</td><td>2904</td><td><strong>13666</strong></td></tr>
<tr>
<td><strong>2</strong></td><td>Python</td><td>8125</td><td>1954</td><td>6171</td></tr>
<tr>
<td><strong>3</strong></td><td>JavaScript</td><td>7417</td><td>1900</td><td><strong>5517</strong></td></tr>
<tr>
<td><strong>4</strong></td><td>PHP</td><td>7138</td><td>1707</td><td><strong>5431</strong></td></tr>
<tr>
<td><strong>5</strong></td><td>C#</td><td>6360</td><td>1330</td><td><strong>5030</strong></td></tr>
<tr>
<td><strong>6</strong></td><td>Ruby</td><td>6023</td><td>1054</td><td><strong>4969</strong></td></tr>
<tr>
<td><strong>7</strong></td><td>C++</td><td>3848</td><td>812</td><td><strong>3036</strong></td></tr>
<tr>
<td><strong>8</strong></td><td>GoLang</td><td>3207</td><td>810</td><td><strong>2397</strong></td></tr>
<tr>
<td><strong>9</strong></td><td>Kotlin</td><td>1939</td><td>536</td><td>1403</td></tr>
<tr>
<td><strong>10</strong></td><td>Swift</td><td>1705</td><td>625</td><td><strong>302</strong></td></tr>
</tbody>
</table>
</div><h3 id="heading-dieu-tra-khac">Điều tra khác</h3>
<p>1 <a target="_blank" href="https://www.sejuku.net/blog/142129">bảng điều tra</a> cũng được tiến hành trên senjuku engineer vào tháng 3 - 2023, bảng điều tra bao gồm đánh giá dựa trên 3 yếu tố : số lượng tìm kiếm, thu nhập hàng năm, số lượng tuyển dụng.</p>
<table><tbody><tr><td><p><strong>xếp hạng</strong></p></td><td><p>ngôn ngữ</p></td><td><p>Thu nhập</p></td><td><p>Số lượng tuyển</p></td><td><p>Số tìm kiếm</p></td></tr><tr><td><p><strong>1位</strong></p></td><td><p>JavaScript</p></td><td><p>★★★</p></td><td><p>★★</p></td><td><p>★★★</p></td></tr><tr><td><p><strong>2位</strong></p></td><td><p>Java</p></td><td><p>★★</p></td><td><p>★★★</p></td><td><p>★★★</p></td></tr><tr><td><p><strong>3位</strong></p></td><td><p>Python</p></td><td><p>★★</p></td><td><p>★★★</p></td><td><p>★★</p></td></tr><tr><td><p><strong>4位</strong></p></td><td><p>PHP</p></td><td><p>★★</p></td><td><p>★★★</p></td><td><p>★★★</p></td></tr><tr><td><p><strong>5位</strong></p></td><td><p>C++</p></td><td><p>★★★</p></td><td><p>★★</p></td><td><p>★</p></td></tr><tr><td><p><strong>6位</strong></p></td><td><p>Ruby</p></td><td><p>★★</p></td><td><p>★</p></td><td><p>★★</p></td></tr><tr><td><p><strong>7位</strong></p></td><td><p>C#</p></td><td><p>★</p></td><td><p>★★★</p></td><td><p>★</p></td></tr><tr><td><p><strong>8位</strong></p></td><td><p>C言語</p></td><td><p>★</p></td><td><p>★★</p></td><td><p>★★</p></td></tr><tr><td><p><strong>9位</strong></p></td><td><p>SQL</p></td><td><p>★★</p></td><td><p>★★</p></td><td><p>★</p></td></tr><tr><td><p><strong>10位</strong></p></td><td><p>Swift</p></td><td><p>★★★</p></td><td><p>★</p></td><td><p>★★</p></td></tr></tbody></table>

<p>Các bạn có thể thấy bản điều tra do trang Senjuku tiến hành và Code ở Nhật tiến hành cho ra kết quả khá tương đồng. Trong đó 3 ngôn ngữ đứng đầu bảng là Javascript, Java và Python.</p>
<p>Trong 1 <a target="_blank" href="https://hrog.net/report/career/82292/">bản phân tích bởi trang HRog bằng AI</a> với nguồn dữ liệu rộng hơn dựa trên 10 media hàng đầu nhật bản vào năm 2020 cho ra kết quả như hình bên dưới. trong đó Java là ngôn ngữ dẫn đầu bảng số lượng tuyển dụng theo sau là Javascript và PHP, Python bị rớt xuống vị trí thứ 6 sau C#, C++.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1696681462068/a9dfb017-ae7b-4b80-9a92-ebe35eb0da72.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-hoi-ai">Hỏi AI</h1>
<p>Phương pháp cuối cùng, Code ở Nhật quyết định đi hỏi AI và đây là kết quả cho đến tháng 9 năm 2021</p>
<p><strong><mark>Câu hỏi: Ngôn ngữ lập trình phổ biến nhất ở Nhật bản</mark></strong></p>
<blockquote>
<p>Tháng 9 năm 2021, những ngôn ngữ lập trình phổ biến nhất tại Nhật Bản có xu hướng tương tự với các xu hướng toàn cầu. Một số ngôn ngữ lập trình phổ biến tại Nhật Bản tại thời điểm đó bao gồm:</p>
<ol>
<li><p><strong>Java:</strong> Java đã luôn là một ngôn ngữ lập trình phổ biến tại Nhật Bản, đặc biệt trong lĩnh vực phát triển phần mềm doanh nghiệp và phát triển ứng dụng di động.</p>
</li>
<li><p><strong>C/C++:</strong> Những ngôn ngữ này thường được sử dụng trong các hệ thống nhúng, lĩnh vực trò chơi và các ứng dụng phần mềm khác tại Nhật Bản.</p>
</li>
<li><p><strong>Python:</strong> Python đã đang phát triển phổ biến toàn cầu và Nhật Bản cũng không ngoại lệ. Nó được sử dụng rộng rãi trong khoa học dữ liệu, phát triển web và tự động hóa.</p>
</li>
<li><p><strong>Ruby:</strong> Ruby được tạo ra tại Nhật Bản và có mặt mạnh mẽ tại đây. Nó nổi tiếng với tính đơn giản và thường được sử dụng trong phát triển web.</p>
</li>
<li><p><strong>JavaScript:</strong> Giống như ở bất kỳ nơi nào khác, JavaScript rất quan trọng cho phát triển web front-end tại Nhật Bản.</p>
</li>
<li><p><strong>PHP:</strong> PHP được sử dụng cho phát triển web và vẫn đang phổ biến trong cộng đồng lập trình Nhật Bản.</p>
</li>
<li><p><strong>Swift và Objective-C:</strong> Những ngôn ngữ này phổ biến cho phát triển ứng dụng iOS.</p>
</li>
</ol>
</blockquote>
<p><strong><mark>Câu hỏi: Ngôn ngữ lập trình được sử dụng nhiều nhất ở Nhật bản</mark></strong></p>
<blockquote>
<p>Từ thông tin của tôi đến tháng 9 năm 2021, ngôn ngữ lập trình được sử dụng nhiều nhất tại Nhật Bản thường là Java. Java là một trong những ngôn ngữ phổ biến và được ưa chuộng trong lĩnh vực phát triển phần mềm doanh nghiệp tại Nhật Bản. Java được sử dụng rộng rãi trong các ứng dụng doanh nghiệp lớn, cũng như trong phát triển ứng dụng di động và ứng dụng web.</p>
</blockquote>
<h1 id="heading-ket-luan">Kết Luận</h1>
<p>Nhìn chung xu hướng công nghệ của Nhật Bản khá tiệm cận với xu hướng chung của thế giới, cùng với AI,Machine learning, Python đang dần trở thành 1 ngôn ngữ phổ biến, được tìm kiếm và học nhiều trong khoảng 2-3 năm gần đây, Java và Javascript vẫn giữ vững được vị trí của mình.</p>
<p>Ở Nhật thì Java vẫn là đứng đầu về số lượng tuyển dụng do có rất nhiều hệ thống trong các công ty lớn vẫn đang phải sử dụng java, Trong khi đó Javascript lại là ngôn ngữ hiện được sử dụng nhiều nhất tiếp sau đó là Python.</p>
<p>Python đang là ngôn ngữ được quan tâm, với số lượng tìm kiếm và số người theo học mới cao. Ngoài ra ngôn ngữ Go và Rust là 2 ngôn ngữ tiềm năng có thể thay thế Java và C++ cũng là 2 ngôn ngữ đang bắt đầu được tìm học ở Nhật , điều này có hơi khác 1 chút so với xu hướng học ngôn ngữ mới của thế giới.</p>
<blockquote>
<p>Bài điều tra và quá trình điều tra tương đối ngắn, cùng với việc khó khăn trong tìm hiểu dữ liệu và cách thức điều tra có hạn chế nên đôi khi kết quả do Code ở Nhật đưa ra sẽ có thể sẽ có nhiều thiếu sót, rất mong nhận được sự góp ý , Phản hồi của các bạn qua <a target="_blank" href="https://www.facebook.com/codeonhat">fanpage Code ở Nhật</a></p>
</blockquote>
<p>Các bạn muốn tìm hiểu thêm về lương của nhật có thể xem thêm tại : <a target="_blank" href="https://codeonhat.jp/luong-coder-o-nhat-hien-tai-va-xu-huong-2023">Lương Coder ở nhật : Hiện tại và Xu hướng 2023</a></p>
<p>Dành cho các bạn đang muốn học lập trình và chưa biết bắt đầu từ đâu: <a target="_blank" href="https://codeonhat.jp/hoc-javascript-o-nhat-ban-tai-sao-day-la-lua-chon-chinh-xac">Học Javascript ở Nhật Bản: Tại sao đây là lựa chọn chính xác?</a></p>
]]></content:encoded></item><item><title><![CDATA[Công việc IT ở Nhật: Các vị trí quan trọng trong dự án]]></title><description><![CDATA[Khi nói đến IT, bạn sẽ rất ngạc nhiên khi biết rằng không chỉ có những anh thợ code đầu to mắt cận! Thực tế trong một dự án IT, ngoài coder ra còn có vô vàn những vị trí vai trò khác nhau! Một người không có nền tảng IT có thể tham gia vào 1 dự án IT...]]></description><link>https://codeonhat.jp/cong-viec-it-o-nhat-cac-vi-tri-quan-trong-trong-du-an</link><guid isPermaLink="true">https://codeonhat.jp/cong-viec-it-o-nhat-cac-vi-tri-quan-trong-trong-du-an</guid><category><![CDATA[codeonhat]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Wed, 04 Oct 2023 23:14:07 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/5aiRb5f464A/upload/b4b4ca2c460d0f0f0e872eb576f3d2bf.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Khi nói đến IT, bạn sẽ rất ngạc nhiên khi biết rằng không chỉ có những anh thợ code đầu to mắt cận! Thực tế trong một dự án IT, ngoài coder ra còn có vô vàn những vị trí vai trò khác nhau! Một người không có nền tảng IT có thể tham gia vào 1 dự án IT được không? Câu trả lời là có nhé các bạn! Vậy, hãy cùng khám phá những vai trò đặc biệt này nhé!</p>
<h1 id="heading-product-manager">Product Manager</h1>
<p>Đây gần như là linh hồn của một dự án IT, Một sản phẩm có thành công hay không phụ thuộc rất lớn vào Product Manager. (1 dự án IT có thể thành công nhưng sản phẩm của dự án IT đó có thể sẽ không thành công ). Product Manager là người cần nắm bắt rõ sản phẩm mình đang làm, nắm bắt nhu cầu của người dùng, theo dõi thị trường, lập kế hoạch chiến lược để đảm bảo sản phẩm của mình sẽ thành công. Product Manager liên quan đến sản phẩm từ lúc bắt đầu lên ý tường đến lúc đưa ra thị trường và sau đó là duy trì cải thiện trong suốt vòng đời của nó.</p>
<p><strong>Nhầm tưởng:</strong> Trong nhiều dự án IT, nhất là những dự án migration thì vai trò của product manager đôi khi rất mờ nhạt, có khi không tồn tại. Người Phân tích nghiệp vụ (BA) sẽ làm 1 phần công việc của Product manager. Và Product Manager cũng hay bị nhầm lẫn với project manager hoặc là làm luôn việc của Project Manager hoặc ngược lại.</p>
<p>PM là 1 vị trí không đòi hỏi nhiều về kỹ thuật nhưng cần phải có tầm nhìn chiến lược về sản phẩm, hiểu nhu cầu của người dùng và thị trường</p>
<h1 id="heading-project-manager-pm">Project Manager (PM)</h1>
<p>Có nhiều bạn hay bị nhầm lẫn giữa Product manager và Project Manager nhưng đây là 2 vị trí hoàn toàn khác nhau trong dự án. Trong 1 dự án IT lớn thì có 1 Product Manager nhưng có thể có 1 hoặc nhiều project manager.</p>
<p>Project Manager cũng là Một Vị trí rất quan trọng trong 1 dự án IT, nắm vai trò chính trong việc lên kế hoạch, quản lý tiến độ dự án, sắp xếp các nhiệm vụ liên quan. Project Manager thì sẽ luôn cố gắng để 1 dự án hoàn thành đúng hạn, không vượt quá budget.</p>
<p><strong>Nhầm tưởng:</strong> Thực sự khi mới ra trường thì mình luôn nghĩ rằng Project manager là sếp trong một dự án IT, Sếp nói gì thì nghe theo.Nhưng thực tế thì không phải như vậy Project Manager đóng 1 vai trò trong dự án như các vị trí khác và mọi người sẽ cố gắng theo sự sắp xếp của Project Manager nhưng cũng Tuỳ vào khả năng của PM mà dự án suôn sẻ hay không, nhiều PM khả năng sắp xếp kém thì cuối cùng cả dự án IT khổ, anh em coder làm thêm giờ tối mặt không thấy mặt trời.</p>
<p>PM là 1 vị trí không đòi hỏi nhiều về kỹ thuật nhưng cần kỹ năng lên kế hoạch và quản lý tốt</p>
<h1 id="heading-business-analyst-ba">Business Analyst (BA)</h1>
<p>nếu dịch sát nghĩa thì là Phân tích nghiệp vụ, khá rõ ràng đúng không nào, thực tế thì BA có vai trò về phân tích những yêu cầu, hiểu biết về nghiệp vụ kinh doanh của tổ chức, từ đó đưa ra được giải pháp phù hợp cùng với đội ngũ, phòng ban khác trong công ty. Trong 1 dự án IT thì phòng ban giải quyết bài toán này chính là phòng IT.</p>
<p>BA thường có hiểu biết sâu về một mảng kinh doanh nào đó của công ty và chịu trách nhiệm giải đáp những thắc mắc của coder, viết yêu cầu về nghiệp vụ và truyền tải nghiệp vụ đó đến cho coder, Ở Nhật trong các công ty Outsource như FJP thì vị trí BRSE (kỹ sư cầu nối) có vẻ như rất giống với vị trí này tuy nhiên có thêm nền tảng kỹ thuật. Mình sẽ có 1 bài khác nữa chuyên sâu hơn về vị trí này.</p>
<p><strong>Nhầm tưởng:</strong> trước giờ thì mình cứ nghĩ là BA sẽ cần phải biết cả về nghiệp vụ và IT nhưng thực tế thì việc có thêm kỹ năng IT có khi lại lợi bất cập hại, mình đã gặp rất nhiều bạn BA thay vì truyền tải nghiệp vụ cho anh em coder thì lại đi viết code, sql để mô tả nghiệp vụ , rất nguy hiểm.</p>
<p>BA là vị trí không đòi hỏi nhiều kỹ thuật nhưng cần phải có kỹ năng phân tích và hiểu về nghiệp vụ, ngoài ra kỹ năng giao tiếp truyền đạt cũng rất quan trọng.</p>
<h1 id="heading-tech-lead">Tech Lead</h1>
<p>Vị trí này đòi hỏi phải có kỹ năng rất cứng về IT, thường là 1 chuyên gia về công nghệ, hiểu biết rộng và sâu, có nhiều kinh nghiệm và khả năng lãnh đạo. Có thể hỗ trợ được các thành viên khác trong dự án mỗi khi gặp vấn đề, hoặc ít nhất là đưa ra được phương hướng giải quyết về mặt kỹ thuật. Tech lead thường tham gia hầu hết vào tất cả những buổi thảo luận trong dự án,Có kỹ năng làm việc nhóm, giao tiếp cao.</p>
<p>Tech Lead là một thành viên quan trọng trong quá trình phát triển phần mềm và đóng góp đáng kể vào sự thành công của dự án.</p>
<p><strong>Nhầm tưởng:</strong> Tech Lead phải là người biết hết tất cả các công đoạn trong dự án và phải là chuyên gia trong tất cả các công nghệ mà dự án đang sử dụng. Thực ra thì không phải vậy, Trong 1 dự án IT thì thường sẽ đòi hỏi một vài bạn chuyên gia trong 1 area nào đó, ví dụ chuyên gia frontend, chuyên gia DBA etc... và các bạn kiểu như T shape, hiểu biết rộng nhưng chưa hẳn là chuyên gia. Tech lead thường là những bạn có skill T-Shape này thêm vào nữa là kỹ năng giao tiếp, network etc...</p>
<h1 id="heading-coder">Coder</h1>
<p>Coder là những người hoàn thành công việc chính trong dự án, giống như mình nói ở trên thì thường chuyên gia sẽ nằm ở đây, những bạn này thường thích nói chuyện với máy tính, đam mê công nghệ và rất giỏi về một lĩnh vực nào đó, Tuy nhiên thì do thích nghiên cứu về công nghệ và hay chú trọng vào từng task cụ thể nên bị thiếu đi cái nhìn tổng quan hơn về dự án. vị trí này thường bao gồm nhiều level skill khác nhau : Junior, Senior, Fullstack, Expert.</p>
<p><strong>Nhầm tưởng:</strong> Khi nói về coder thì thường các bạn hay nghĩ về các anh chàng đầu to mắt cận, đôi khi hói, rất khó gần biết sửa win, máy in, ống nước, hack facebook. nhưng sự thật thì các bạn ấy rất dễ thương và dễ gần nhé và đặc biệt là không hack được Facebook đâu !</p>
<p>Không cần phải nói thì vị trí này sẽ đòi hỏi một nền tảng kỹ thuật nhất định trước khi có thể tham gia vào dự án, ngoài ra khả năng team work, giao tiếp cũng rất quan trọng. Nếu các bạn muốn tham gia dự án như 1 coder thì đầu tiên phải học về một ngôn ngữ lập trình được sử dụng trong dự án, Vậy bắt đầu học thế nào học cái gì , chi tiết mời các bạn xem trong bài <a target="_blank" href="https://codeonhat.jp/hoc-javascript-o-nhat-ban-tai-sao-day-la-lua-chon-chinh-xac">Học Lập Trình ở Nhật</a></p>
<h1 id="heading-test-lead">Test Lead</h1>
<p>Cũng giống như Tech lead tuy nhiên lại thiên về bên kiểm thử phần mềm. là người đứng đầu trong nhóm kiểm thử chất lượng phần mềm. Chức vụ này thường có nhiệm vụ quản lý các thành viên trong nhóm kiểm thử, lên kế hoạch và thực hiện các hoạt động kiểm thử để đảm bảo rằng sản phẩm phần mềm đáp ứng các tiêu chuẩn chất lượng và hiệu suất. Test Lead cũng có vai trò trong việc xác định chiến lược kiểm thử và tham gia vào quy trình phát triển phần mềm để đảm bảo sự hợp tác giữa các bộ phận khác nhau trong dự án.</p>
<p>Test lead thường là người có hiểu biết về dự án và công nghệ mình đang sử dụng trong dự án, và cũng có rất nhiều kinh nghiệm trong việc kiểm thử phần mềm, từ đó đưa ra được những phương hướng kiểm thử cho cả team, quản lý rủi ro về chất lượng của sản phẩm.</p>
<h1 id="heading-tester">Tester</h1>
<p>Tương tự như coder, đây là vị trí đóng vai trò chính trong việc tiến hành kiểm thử phần mềm, gồm người hoặc nhóm chịu trách nhiệm thực hiện các bài kiểm tra hoặc kiểm tra thử sản phẩm phần mềm để tìm ra lỗi, sự cố hoặc vấn đề liên quan đến chất lượng. Các tester thường sử dụng các kịch bản kiểm tra để xác minh tính năng của ứng dụng và đảm bảo rằng nó hoạt động đúng theo thiết kế.</p>
<p><strong>Nhầm tưởng</strong>: tester có thù với coder , chỉ chăm chăm đi bắt lỗi, thề không thể đội trời chung. Nhưng thực tế thì các bạn tester và coder cũng hay tranh luận đây là bug hay tính năng nhưng mọi người tất cả cũng vì sự thành công của 1 dự án mà thôi.</p>
<p>Tester cần tỉ mỉ, chi tiết và đôi khi ...khó tính 1 chút, Vị trí này không đòi hỏi nhiều về kỹ thuật, nhưng sẽ đòi hỏi 1 mức độ nhất định về công nghệ để hiểu những gì mình đang kiểm thử, từ đó đưa ra được những kịch bản kiểm thử tốt.Có nhiều bạn không biết kỹ thuật vẫn tham gia rất tốt vào dự án. Tuy nhiên việc có 1 kiến thức nhất định nào đó sẽ giúp ích rất nhiều cho dự án và team.</p>
<h1 id="heading-ket-bai">Kết Bài</h1>
<blockquote>
<p>Trong dự án IT, Có nhiều vai trò khác như Product Manager, Project Manager, Business Analyst, Tech Lead, Tester và Test Lead. Mỗi vị trí có vai trò và trách nhiệm riêng, từ việc lên ý tưởng sản phẩm, quản lý dự án, phân tích nghiệp vụ, đến việc phát triển và kiểm thử phần mềm.</p>
<p>Ngoài những vai trò chính trên, 1 Dự án IT còn có sự tham gia của nhiều vị trí khác nhau nữa ví dụ như Ops (Người vận hành sản phẩm), Solution Architect (Kiến trúc sư hệ thống), Security (Bảo mật) , DBA (Quản trị dữ liệu) , Người dùng , các bên liên quan khác. Tuy nhiên những vị trí đó thường sẽ chỉ tham gia 1 phần hoặc vào 1 giai đoạn nhất định nào đó của dự án chứ không xuyên suốt.</p>
<p>Tuỳ vào kiểu vận hành của một dự án IT(Water fall, Scrum,KANBAN) thì sẽ có sự thay đổi về vị trí của Product manager, Project Manager hoặc BA nhưng Coder và Tester là 2 vị trí rất khó hoặc không thể thay thế.</p>
</blockquote>
]]></content:encoded></item><item><title><![CDATA[Lương lập trình viên ở nhật : Hiện tại và Xu hướng  2023]]></title><description><![CDATA[Việc tìm hiểu lương IT ở Nhật tương đối khó vì khoảng lương rộng và nó cũng tuỳ thuộc vào từng người, khả năng, vị trí của người đó. Cũng có người lương gần 20 triệu yên 1 năm nhưng cũng có người chỉ tầm 3-4 triệu yên 1 năm. Trong bài viết này mình s...]]></description><link>https://codeonhat.jp/luong-coder-o-nhat-hien-tai-va-xu-huong-2023</link><guid isPermaLink="true">https://codeonhat.jp/luong-coder-o-nhat-hien-tai-va-xu-huong-2023</guid><category><![CDATA[codeonhat]]></category><category><![CDATA[coderinjapan]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Sun, 01 Oct 2023 15:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/GHXNJWmNAeI/upload/8104430fd4aeb9104117aed1668f7ca8.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Việc tìm hiểu lương IT ở Nhật tương đối khó vì khoảng lương rộng và nó cũng tuỳ thuộc vào từng người, khả năng, vị trí của người đó. Cũng có người lương gần 20 triệu yên 1 năm nhưng cũng có người chỉ tầm 3-4 triệu yên 1 năm. Trong bài viết này mình sẽ cố gắng đưa ra 1 góc nhìn toàn cảnh nhất về lương IT ở Nhật cho mọi người dựa trên trải nghiệm cá nhân cũng như tập hợp từ nhiều nguồn dữ liệu khác nhau.</p>
<p>Đầu tiên, chúng ta hãy nhìn vào <a target="_blank" href="https://www.e-stat.go.jp/stat-search/files?page=1&amp;layout=datalist&amp;toukei=00450091&amp;tstat=000001011429&amp;cycle=0&amp;tclass1=000001202310&amp;tclass2=000001202312&amp;tclass3=000001202329&amp;tclass4val=0">bảng điều tra lương của Bộ Lao Động Nhật Bản năm 2022</a>. Trung bình, lương của lập trình viên vào khoảng 5 triệu yên một năm, cao hơn một chút so với lương trung bình ở Nhật. Theo tỷ giá hiện tại (160 VND đổi 1 yên), lương sẽ vào khoảng 800 triệu VND một năm, tức khoảng 65-70 triệu VND một tháng. So với mức lương dành cho senior ở Việt Nam thì không khác nhau là mấy, thậm chí có thể thấp hơn.</p>
<p>Tuy nhiên dữ liệu lương ở trên chưa phản ánh hết bức tranh toàn cảnh của anh em lập trình viên ở Nhật bản. Việc thu thập dữ liệu trên khoảng rộng hoặc <a target="_blank" href="https://www.e-stat.go.jp/classifications/terms/20/02/104">định nghĩa lập trình viên</a> bao gồm cả những người phân tích nghiệp vụ, viết thiết kế hay làm việc đơn giản là viết code theo đặc tả phần mềm có sẵn etc... càng làm cho mức độ chính xác của báo cáo ở trên giảm đi.</p>
<h2 id="heading-luong-theo-kinh-nghiem">Lương theo kinh nghiệm</h2>
<p>Ở Nhật Lương dành cho các bạn mới ra trường dễ dự đoán hơn vì đa phần các công ty đều có 1 khoảng lương cố định để tuyển dụng lính mới. Mình nghĩ những bạn vừa mới ra trường thì có thể kỳ vọng mức lương từ 200 ngàn đến 250 ngàn yên 1 tháng (32 triệu - 40 triệu VND) , tức là khoảng 3 triệu yên 1 năm. Có một sự thật buồn là các công ty nhật có xu hướng tăng lương theo năm, Tức là cứ đến hạn là sẽ tăng 1 khoảng lương cố định vì vậy 1 bạn ra trường làm mãi một công ty, sau vài năm thì chúng ta vẫn có thể đoán được khoảng lương của những bạn đó. (Cứ 1 năm tăng khoảng 200 ngàn yên - 300 ngàn yên, nên sau 5 năm thì lương sẽ khoảng đâu đó 4 triệu- 4 triệu rưỡi yên chưa tính làm thêm giờ).</p>
<p>Dưới đây là tính toán dựa vào báo cáo của bộ lao động nhật bản (không bao gồm làm thêm giờ), các bạn có thể thấy xu hướng như mình đã đề cập tới ở trên.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Năm kinh nghiệm</td><td>Mức lương JPY</td></tr>
</thead>
<tbody>
<tr>
<td>Mới ra trường 0 năm</td><td>3 triệu</td></tr>
<tr>
<td>1-4 năm</td><td>4,3 triệu</td></tr>
<tr>
<td>5-9 năm</td><td>4,8 triệu</td></tr>
<tr>
<td>10-14 năm</td><td>5,6 triệu</td></tr>
</tbody>
</table>
</div><h3 id="heading-tren-quitta">Trên Quitta</h3>
<p>Quitta là 1 nền tảng phổ biến của anh em lập trình viên Nhật bản, dưới đây là <a target="_blank" href="https://qiita.com/white_papers/2022">bản điều tra lương</a> vào năm 2022 và có khoảng 2700 người đã trả lời.</p>
<p>Như trong bảng dưới đây, mình đã tổng hợp lại từ bản báo cáo. Các bạn có thể thấy mức lương bắt đầu có sự phân hóa hơn. Ví dụ, dù cùng là mới ra trường, vẫn có nhiều người (26%) nhận được mức lương tương đối cao từ 5 triệu đến 7.9 triệu yên.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Kinh nghiệm</strong></td><td><strong>Dưới 3 triệu yên</strong></td><td><strong>3 triệu - 4,9 triệu</strong></td><td><strong>5 triệu - 7,9 triệu</strong></td><td><strong>¥8 triệu - ¥9,9 triệu</strong></td><td><strong>¥10 triệu- ¥14,9 triệu</strong></td><td><strong>¥15 triệu - ¥19,9 triệu</strong></td><td><strong>¥20 triệu trở lên</strong></td><td><strong>Không trả lời</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Mới ra trường</td><td>21%</td><td>34%</td><td>26%</td><td>7%</td><td>4%</td><td>1%</td><td>1%</td><td>6%</td></tr>
<tr>
<td>&lt;1 năm</td><td>42%</td><td>44%</td><td>6%</td><td>1%</td><td>2%</td><td>0%</td><td>0%</td><td>5%</td></tr>
<tr>
<td>1-2 năm</td><td>22%</td><td>52%</td><td>18%</td><td>1%</td><td>0%</td><td>0%</td><td>0%</td><td>7%</td></tr>
<tr>
<td>3-4 năm</td><td>12%</td><td>47%</td><td>30%</td><td>6%</td><td>1%</td><td>0%</td><td>1%</td><td>4%</td></tr>
<tr>
<td>5-9 năm</td><td>7%</td><td>33%</td><td>42%</td><td>9%</td><td>4%</td><td>2%</td><td>&lt;1%</td><td>2%</td></tr>
<tr>
<td>10-19 năm</td><td>4%</td><td>18%</td><td>45%</td><td>19%</td><td>9%</td><td>1%</td><td>1%</td><td>4%</td></tr>
<tr>
<td>20 năm</td><td>6%</td><td>18%</td><td>41%</td><td>20%</td><td>9%</td><td>1%</td><td>1%</td><td>5%</td></tr>
</tbody>
</table>
</div><h3 id="heading-tren-tokyo-dev">Trên Tokyo Dev</h3>
<p><a target="_blank" href="https://www.tokyodev.com/">Tokyodev.com</a> là một nền tảng chuyên dành cho kỹ sư IT nước ngoài ở Nhật. Những bạn lập trình viên có khả năng tiếng anh sẽ có mức thu nhập tốt hơn nhiều so với những bạn chỉ nói tiếng Nhật</p>
<p><em>dưới đây là bản điều tra lương 2022 được tiến hành bởi Tokyo dev</em></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Kinh nghiệm</strong></td><td><strong>Mức lương trung bình</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Dưới 2 năm</td><td>¥5,5 triệu</td></tr>
<tr>
<td>2 - 3 năm</td><td>¥6,5 triệu</td></tr>
<tr>
<td>4 - 5 năm</td><td>¥7,5 triệu</td></tr>
<tr>
<td>6 - 7 năm</td><td>¥8,5 triệu</td></tr>
<tr>
<td>8 - 9 năm</td><td>¥12,5 triệu</td></tr>
<tr>
<td>10 - 11 năm</td><td>¥12,5 triệu</td></tr>
<tr>
<td>12 - 13 năm</td><td>¥10 triệu</td></tr>
<tr>
<td>14 - 15 năm</td><td>¥13 triệu</td></tr>
<tr>
<td>trên 16 năm</td><td>¥13,5 triệu</td></tr>
</tbody>
</table>
</div><p>Có 1 điều thú vị trong bản báo cáo ở trên là mức lương của người có kinh nghiệm từ 12-13 năm đột nhiên bị giảm thấp hơn so với người có mức lương 10-11 năm kinh nghiệm.</p>
<h2 id="heading-luong-theo-tuoi">Lương theo tuổi</h2>
<p>ở Nhật cho đến nay vẫn có 1 kiểu suy nghĩ là làm cả đời cho 1 công ty. Vì thế có 1 công thức về tính lương ở Nhật là: lấy số tuổi nhân với 10 ngàn yên, tức là nếu bạn 25 tuổi thì lương là 25 x 10,000 = 250 ngàn yên 1 tháng, 30 tuổi thì là 300 ngàn. bản thân mình cũng trải nghiệm việc này và thấy công thức ấy vẫn còn được áp dụng nhiều. Việc này cũng được thể hiện trong báo cáo lương của bộ Lao động Nhật Bản: độ tuổi trung bình vào khoảng 41 tuổi và lương tháng vào khoảng 390 ngàn yên.</p>
<p>Tuy nhiên sau khi chuyển việc thì lương bắt đầu đa dạng, sẽ không còn tương quan nhiều với tuổi và tuỳ thuộc vào kinh nghiệm và khả năng của từng người.</p>
<h3 id="heading-tren-tokyo-dev-1">Trên Tokyo Dev</h3>
<p>trên trang tokyo dev, mức lương theo tuổi và mức lương theo kinh nghiệm ít có tương quan.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Tuổi</strong></td><td><strong>trung bình</strong></td></tr>
</thead>
<tbody>
<tr>
<td>20 - 24</td><td>¥5,5 triệu</td></tr>
<tr>
<td>25 - 29</td><td>¥7,5 triệu</td></tr>
<tr>
<td>30 - 34</td><td>¥9,5 triệu</td></tr>
<tr>
<td>35 - 39</td><td>¥10,5 triệu</td></tr>
<tr>
<td>40 - 44</td><td>¥10,5 triệu</td></tr>
<tr>
<td>45 - 49</td><td>¥12,5 triệu</td></tr>
</tbody>
</table>
</div><h3 id="heading-tren-forkwell">Trên Forkwell</h3>
<p>Trang Forkwell tiến hành 1 nghiên cứu dựa trên dữ liệu của 10000 người dùng và dưới đây là kết quả. Có thể thấy kết quả thống kê của ForkWell và Tokyo Dev có sự tương đồng và cao hơn đáng kể so với kết quả của Bộ Lao Động Nhật bản đưa ra. Tuy nhiên các bạn có thể thấy lương của kỹ sư nói tiếng anh trên TokyoDev và lương của kỹ sư nói tiếng Nhật có sự khác biệt.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Tuổi</strong></td><td><strong>trung bình</strong></td></tr>
</thead>
<tbody>
<tr>
<td>20 - 24</td><td>¥4,2 triệu</td></tr>
<tr>
<td>25 - 29</td><td>¥4,7 triệu</td></tr>
<tr>
<td>30 - 34</td><td>¥5,3 triệu</td></tr>
<tr>
<td>35 - 39</td><td>¥6 triệu</td></tr>
<tr>
<td>40 - 44</td><td>¥6,5 triệu</td></tr>
<tr>
<td>45 - 49</td><td>¥7 triệu</td></tr>
</tbody>
</table>
</div><h2 id="heading-luong-theo-vi-tri-cong-viec">Lương theo vị trí công việc</h2>
<h3 id="heading-tren-robert-half">Trên Robert Half</h3>
<p>Trong 1 <a target="_blank" href="https://www.roberthalf.jp/en/salary-guide/specialisation/technology">bản báo cáo công khai năm 2023</a> của Robert half, 1 công ty chuyên về nhân sự ở Nhật. Có thể thấy mức lương cao hơn hẳn so với mức lương của bộ Lao động nhật bản đưa ra. Tuy nhiên Robert Half là công ty tuyển dụng chủ yếu cho các bạn có thể nói cả ngôn ngữ Nhật và Anh nên đương nhiên các bạn này sẽ được trả lương tốt hơn nhân sự chỉ nói được tiếng Nhật</p>
<p>Lương của các bạn làm bên AI/ML thực tế thì có vẻ sẽ cao hơn 1 chút so với nhưng bạn làm bên frontend backend và bắt đầu có sự khác biệt ở vị trí có kinh nghiệm trung bình hoặc có nhiều kinh nghiệm.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Vị trí</td><td>Ít kinh nghiệm</td><td>Trung bình</td><td>Nhiều Kinh nghiệm</td></tr>
</thead>
<tbody>
<tr>
<td>Back End Engineer</td><td>¥5,207,000</td><td>¥8,331,000</td><td>¥12,497,000</td></tr>
<tr>
<td>Blockchain Engineer</td><td>¥5,207,000</td><td>¥8,331,000</td><td>¥11,456,000</td></tr>
<tr>
<td>Cloud Engineer / Architect</td><td>¥6,248,000</td><td>¥8,331,000</td><td>¥12,497,000</td></tr>
<tr>
<td>CTO (New Technology) / VP of Engineering</td><td>¥10,414,000</td><td>¥13,538,000</td><td>¥16,663,000</td></tr>
<tr>
<td>DevOps / SRE Engineer</td><td>¥7,290,000</td><td>¥9,373,000</td><td>¥12,497,000</td></tr>
<tr>
<td>Engineering Manager</td><td>¥9,373,000</td><td>¥12,497,000</td><td>¥14,580,000</td></tr>
<tr>
<td>Front End Engineer</td><td>¥6,248,000</td><td>¥8,331,000</td><td>¥10,414,000</td></tr>
<tr>
<td>Full Stack Engineer</td><td>¥6,248,000</td><td>¥8,331,000</td><td>¥10,414,000</td></tr>
<tr>
<td>Machine Learning / NLP / AI Engineer</td><td>¥6,248,000</td><td>¥10,414,000</td><td>¥13,538,000</td></tr>
<tr>
<td>Product Manager / Software Architect</td><td>¥7,290,000</td><td>¥9,373,000</td><td>¥13,538,000</td></tr>
<tr>
<td>QA Engineer / Tester</td><td>¥5,207,000</td><td>¥7,290,000</td><td>¥9,373,000</td></tr>
<tr>
<td>Solution Engineer</td><td>¥7,290,000</td><td>¥9,373,000</td><td>¥11,456,000</td></tr>
<tr>
<td>IT / UX Designer</td><td>¥5,728,000</td><td>¥7,290,000</td><td>¥9,373,000</td></tr>
</tbody>
</table>
</div><h3 id="heading-tren-tokyo-dev-2">Trên Tokyo Dev</h3>
<p>Trong bảng điều tra lương trên trang tokyo dev thì có vẻ dữ liệu cũng khá tương đồng so với dữ liệu của Robert Half, trong đó thì Lương của Designer thấp nhất 6,5 triệu yên và lương của C level cao nhất rơi vào khoảng 15 triệu yên.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Vị trí</strong></td><td><strong>Lương trung bình</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Blockchain</td><td>¥12 triệu</td></tr>
<tr>
<td>Cloud infrastructure engineer</td><td>¥10 triệu</td></tr>
<tr>
<td>Data or business analyst</td><td>¥10,5 triệu</td></tr>
<tr>
<td>Data scientist or ML specialist</td><td>¥8,5 triệu</td></tr>
<tr>
<td>Database administrator</td><td>¥8,5 triệu</td></tr>
<tr>
<td>Designer</td><td>¥6,5 triệu</td></tr>
<tr>
<td>DevOps specialist</td><td>¥10,5 triệu</td></tr>
<tr>
<td>Developer, back-end</td><td>¥8,5 triệu</td></tr>
<tr>
<td>Developer, desktop or enterprise</td><td>¥8,5 triệu</td></tr>
<tr>
<td>Developer, embedded</td><td>¥7,5 triệu</td></tr>
<tr>
<td>Developer, front-end</td><td>¥8 triệu</td></tr>
<tr>
<td>Developer, full-stack</td><td>¥7,5 triệu</td></tr>
<tr>
<td>Developer, game or graphics</td><td>¥6,5 triệu</td></tr>
<tr>
<td>Developer, mobile</td><td>¥10 triệu</td></tr>
<tr>
<td>Developer, QA or test</td><td>¥8,5 triệu</td></tr>
<tr>
<td>Engineer, data</td><td>¥9,5 triệu</td></tr>
<tr>
<td>Engineer, site reliability</td><td>¥11 triệu</td></tr>
<tr>
<td>Engineering manager</td><td>¥13,5 triệu</td></tr>
<tr>
<td>Product manager</td><td>¥8,5 triệu</td></tr>
<tr>
<td>Senior executive (C-Suite, VP, etc.)</td><td>¥15,5 triệu</td></tr>
<tr>
<td>Security professional</td><td>¥12,5 triệu</td></tr>
<tr>
<td>System administrator</td><td>¥8,5 triệu</td></tr>
</tbody>
</table>
</div><h3 id="heading-tren-michael-page">Trên Michael Page</h3>
<p>Michael page cũng là một công ty nhân sự ở Nhật và cũng rất nổi tiếng, dưới đây là bản điều tra lương của công ty dựa trên dữ liệu của công ty cũng như những nguồn khác nhau mà công ty có được. Mức lương trong bảng điều tra của Michael page cũng khá giống với các bản báo cáo ở trên, tuy nhiên có một vài vị trí thì cao hơn hẳn, ví dụ như C-Level ở bản báo cáo của Michael page có thể nhận tới 20 triệu 1 năm. 1 lập trình viên lâu năm có thể nhận tới 15 triệu yên.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Vị trí</td><td>Mức lương</td></tr>
</thead>
<tbody>
<tr>
<td>Business Intelligence (BI) Analyst</td><td>¥9 triệu</td></tr>
<tr>
<td>Data Analyst</td><td>¥10 triệu</td></tr>
<tr>
<td>Data Scientist</td><td>¥12 triệu</td></tr>
<tr>
<td>Data Warehousing Engineer</td><td>¥10 triệu</td></tr>
<tr>
<td>Engineering Manager</td><td>¥18 triệu</td></tr>
<tr>
<td>Head of IT / Chief Technology Officer</td><td>¥20 triệu</td></tr>
<tr>
<td>Network Engineer</td><td>¥10 triệu</td></tr>
<tr>
<td>Program Manager</td><td>¥9 triệu</td></tr>
<tr>
<td>Project Manager</td><td>¥9 triệu</td></tr>
<tr>
<td>Senior Data Scientist</td><td>¥14 triệu</td></tr>
<tr>
<td>Site Reliability Engineering (SRE)</td><td>¥10 triệu</td></tr>
<tr>
<td>Server Engineer</td><td>¥8 triệu</td></tr>
<tr>
<td>Senior Software Developer (10 years)</td><td>¥15 triệu</td></tr>
<tr>
<td>Software Developer (5-10 years)</td><td>¥12 triệu</td></tr>
<tr>
<td>Software Engineer (2-5 years)</td><td>¥8 triệu</td></tr>
<tr>
<td>Software Engineer - AI / Machine Learning</td><td>¥15 triệu</td></tr>
<tr>
<td>Solution Architect</td><td>¥12 triệu</td></tr>
<tr>
<td>Tester / QA</td><td>¥8 triệu</td></tr>
<tr>
<td></td></tr>
</tbody>
</table>
</div><h3 id="heading-tren-forkwell-1">Trên Forkwell</h3>
<p>Mình nghĩ là khi đọc tới đây các bạn có thể đang buồn 1 chút so với mức lương hiện tại của mình (Xin lỗi vì điều đó) hoặc có thể các bạn đang thoả mãn khi biết mức lương của mình đang tiệm cận với thị trường. Thực ra các bảng điều tra ở trên chủ yếu là dành cho các bạn có thể nói cả tiếng anh và tiếng Nhật, còn nhân sự tiếng nhật thì mình nghĩ nhìn vào bảng điều tra của Forkwell sẽ chính xác hơn.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1696165071271/75105d33-38ef-4251-8db2-e26d098e859c.png" alt class="image--center mx-auto" /></p>
<p>Nhân sự tiếng Nhật có xu hướng được trả lương thấp hơn so với nhân sự có thể nói cả Nhật, Anh. Như bảng điều tra ở trên thì engineer manager 45 tuổi sẽ chỉ có mức lương vào khoảng 8,21 triệu yên 1 năm.</p>
<p>Trong bảng bên dưới cũng có 1 vị trí khá khó hiểu đó là code reviewer. Mình không chắc chắn đây là vị trí gì nhưng mình sẽ giữ nguyên so với bản gốc trong báo cáo của Forkwell.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Vị trí</td><td>Trung Bình</td></tr>
</thead>
<tbody>
<tr>
<td>Developer</td><td>¥6,5 triệu</td></tr>
<tr>
<td>Tech lead</td><td>¥7,39 triệu</td></tr>
<tr>
<td>QA/Tester</td><td>¥6,52 triệu</td></tr>
<tr>
<td>Code Reviewer</td><td>¥6,25 triệu</td></tr>
</tbody>
</table>
</div><h2 id="heading-luong-theo-ngon-ngu-lap-trinh">Lương theo ngôn ngữ lập trình</h2>
<p>Phần này mình nghĩ sẽ rất hữu ích cho các bạn đang chuẩn bị học lập trình</p>
<h3 id="heading-tren-tokyo-dev-3">Trên Tokyo Dev</h3>
<p>trong bản điều tra của Tokyo dev thì Go,Kotlin, Rust , Scala là những ngôn ngữ được trả lương cao nhất, Lương của lập trình viên PHP thấp nhất chỉ vào khoảng 6,5 triệu yên 1 năm. Có 1 bất ngờ là lương của lập trình viên Bash/Shell rất cao 10,5 triệu, làm mình có chút phân vân về tính chính xác về lương của ngôn ngữ này (Mình nghĩ có thể hiểu 10,5 triệu yên là mức lương của Kỹ sư Infra và HTML/CSS là mức lương của 1 kỹ sư FrontEnd)</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Ngôn ngữ</strong></td><td><strong>Trung bình</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Bash/Shell</td><td>¥10,5 triệu</td></tr>
<tr>
<td>C</td><td>¥8,5 vạn</td></tr>
<tr>
<td>C#</td><td>¥8,5 triệu</td></tr>
<tr>
<td>C++</td><td>¥8,5 triệu</td></tr>
<tr>
<td>Elixir</td><td>¥7,5 triệu</td></tr>
<tr>
<td>Go</td><td>¥11,5 triệu</td></tr>
<tr>
<td>HTML/CSS</td><td>¥7,5 triệu</td></tr>
<tr>
<td>Java</td><td>¥11,5 triệu</td></tr>
<tr>
<td>JavaScript</td><td>¥8,5 triệu</td></tr>
<tr>
<td>Kotlin</td><td>¥12,5 triệu</td></tr>
<tr>
<td>Node.js</td><td>¥9,5 triệu</td></tr>
<tr>
<td>Objective-c</td><td>¥7 triệu</td></tr>
<tr>
<td>PHP</td><td>¥6,5 triệu</td></tr>
<tr>
<td>PowerShell</td><td>¥8 triệu</td></tr>
<tr>
<td>Python</td><td>¥9,5 triệu</td></tr>
<tr>
<td>Ruby</td><td>¥9,5 triệu</td></tr>
<tr>
<td>Rust</td><td>¥12,5 triệu</td></tr>
<tr>
<td>SQL</td><td>¥9 triệu</td></tr>
<tr>
<td>Scala</td><td>¥12,5 triệu</td></tr>
<tr>
<td>Swift</td><td>¥10,5 triệu</td></tr>
<tr>
<td>TypeScript</td><td>¥8,5 triệu</td></tr>
</tbody>
</table>
</div><h3 id="heading-tren-forkwell-2">Trên Forkwell</h3>
<p>Trong bản báo cáo của Forkwell năm 2022 có cả số tuổi và ngôn ngữ lập trình nên ngoài phản ánh mức lương của ngôn ngữ nó cũng phản ánh về kinh nghiệm làm việc. Tuy lương thấp hơn so với bảng điều tra trên Tokyo dev, bản điều tra của forkwell cũng phản ánh là Go là ngôn ngữ được trả lương nhiều nhất và PHP là ngôn ngữ được trả lương thấp nhất.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Age</strong></td><td><strong>Go</strong></td><td><strong>Ruby</strong></td><td><strong>Python</strong></td><td><strong>Java</strong></td><td><strong>PHP</strong></td></tr>
</thead>
<tbody>
<tr>
<td>20 - 24</td><td>¥5.2 triệu</td><td>¥4.7 triệu</td><td>¥4.9 triệu</td><td>¥4.8 triệu</td><td>¥4.5 triệu</td></tr>
<tr>
<td>25 - 29</td><td>¥5.8 triệu</td><td>¥5.4 triệu</td><td>¥5.3 triệu</td><td>¥5.1 triệu</td><td>¥5.0 triệu</td></tr>
<tr>
<td>30 - 34</td><td>¥6.8 triệu</td><td>¥6.1 triệu</td><td>¥6.2 triệu</td><td>¥5.7 triệu</td><td>¥5.6 triệu</td></tr>
<tr>
<td>35 - 39</td><td>¥7.2 triệu</td><td>¥6.7 triệu</td><td>¥6.8 triệu</td><td>¥6.3 triệu</td><td>¥6.2 triệu</td></tr>
<tr>
<td>40 - 44</td><td>¥8.6 triệu</td><td>¥7.4 triệu</td><td>¥7.2 triệu</td><td>¥7.0 triệu</td><td>¥7.0 triệu</td></tr>
<tr>
<td>45 - 49</td><td>¥8.6 triệu</td><td>¥7.8 triệu</td><td>¥8.0 triệu</td><td>¥7.4 triệu</td><td>¥7.1 triệu</td></tr>
</tbody>
</table>
</div><h3 id="heading-tren-quitta-1">Trên Quitta</h3>
<p>Trong <a target="_blank" href="https://qiita.com/white_papers/2022">bản điều tra</a> trên trang Quitta, có khoảng 35% lập trình viên ngôn ngữ Go và 40% lập trình viên ngôn ngữ Rust là kiếm được trên 8 triệu yên, tuy nhiên cũng giống như bản điều tra ở trên PHP lại đội sổ, và chỉ có khoảng 12% người lập trình ngôn ngữ này kiếm được 8 triệu 1 năm.</p>
<p>Trong bản báo cáo ở dưới mình thấy có 1 điểm lạ là ngôn ngữ Javascript và Typescript lại được chia ra làm 2 ngôn ngữ lập trình khác nhau, rất khó hiểu, vì thực tế thì người biết TypeScript cũng bắt buộc phải hiểu Javascript.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Ngôn ngữ</td><td><strong>Dưới ¥3 triệu</strong></td><td><strong>¥3 - ¥4,9 triệu</strong></td><td><strong>¥5 - ¥7,9 triệu</strong></td><td><strong>¥8 triệu - ¥9,9 triệu</strong></td><td><strong>¥10 - ¥14,9 triệu</strong></td><td><strong>¥15 - ¥19,9 triệu</strong></td><td><strong>¥20 triệu +</strong></td><td><strong>Không trả lời</strong></td></tr>
</thead>
<tbody>
<tr>
<td>JavaScript</td><td>18%</td><td>23%</td><td>24%</td><td>15%</td><td>3%</td><td>1%</td><td>1%</td><td>15%</td></tr>
<tr>
<td>Python</td><td>16%</td><td>19%</td><td>23%</td><td>21%</td><td>4%</td><td>1%</td><td>&lt;1%</td><td>15%</td></tr>
<tr>
<td>PHP</td><td>21%</td><td>27%</td><td>25%</td><td>12%</td><td>0%</td><td>&lt;1%</td><td>&lt;1%</td><td>15%</td></tr>
<tr>
<td>Java</td><td>16%</td><td>24%</td><td>27%</td><td>20%</td><td>0%</td><td>1%</td><td>&lt;1%</td><td>12%</td></tr>
<tr>
<td>TypeScript</td><td>13%</td><td>18%</td><td>29%</td><td>20%</td><td>0%</td><td>1%</td><td>1%</td><td>18%</td></tr>
<tr>
<td>Go</td><td>8%</td><td>16%</td><td>27%</td><td>27%</td><td>6%</td><td>1%</td><td>1%</td><td>14%</td></tr>
<tr>
<td>Rust</td><td>9%</td><td>17%</td><td>26%</td><td>30%</td><td>9%</td><td>0%</td><td>2%</td><td>9%</td></tr>
</tbody>
</table>
</div><p>Theo báo lương bên trên thì mình nghĩ các bạn đang phân vân không biết sẽ học ngôn ngữ gì để làm IT, có lẽ sẽ nghĩ ngay đến học Rust, Go etc.. và chắc chắn sẽ không học ngôn ngữ PHP đúng không. Thực tế không đơn giản như vậy. Ví dụ ngôn ngữ Go/ Rust có vẻ đang được trả lương cao so với mặt bằng chung nhưng số lượng việc làm dành cho ngôn ngữ này cũng ít, chưa kể là việc học ngôn ngữ Go, Rust cũng không đơn giản. Mình thử tìm việc trên linkedin cho Go lang trong tháng vừa rồi chỉ có khoảng 700 kết quả, so với Javascript là khoảng 2000 kết quả</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1696167222539/629c1715-309d-496f-9d17-82e1a915bf83.png" alt class="image--center mx-auto" /></p>
<p>Trong bài <a target="_blank" href="https://codeonhat.hashnode.dev/tai-sao-nen-hoc-javascript-o-nhat">Tại sao nên học Javascript ở Nhật</a> mình cũng đã phân tích những lý do học Javascript, cùng với việc nhìn vào bảng điều tra ở trên thì mình nghĩ học Javascript là 1 lựa chọn rất hợp lý cho các bạn mới bắt đầu. Mức lương cũng tương đối tốt so với các ngôn ngữ lập trình khác.</p>
<h1 id="heading-ket-bai">Kết bài</h1>
<p>Bài viết đã cung cấp một phân tích sâu và rộng về lương IT ở nhật bằng cách tổng hợp nhiều nguồn dữ liệu khác nhau và phân tích mức lương,trên từng khía cạnh ví dụ như kinh nghiệm, vị trí, ngôn ngữ lập trình, khả năng ngôn ngữ của từng người. Bài viết cũng đã cho chúng ta thấy 1 khoảng lương rộng và đa dạng trong ngành IT ở Nhật.</p>
<p>Nhìn chung lương IT ở Nhật cũng không cao hẳn so với mặt bằng chung, tuy nhiên như mình thấy thì các bạn có thêm khả năng tiếng Anh thì sẽ có thu nhập cao hơn so với các bạn chỉ có tiếng Nhật. Và nhảy việc cũng là 1 cách để tăng lương nhanh hơn so với việc làm mãi ở 1 công ty. Thêm vào đó là việc các bạn phát triển bản thân mỗi ngày, trau dồi thêm kỹ năng, đảm nhiệm thêm trách nhiệm để từ đó leo lên 1 vị trí cao hơn cũng giúp mình tăng thêm thu nhập.</p>
<hr />
<p>Nguồn</p>
<ul>
<li><p><a target="_blank" href="https://www.tokyodev.com/articles/software-developer-salaries-in-japan">Tokyo dev Survey 2022</a></p>
</li>
<li><p><a target="_blank" href="https://qiita.com/white_papers/2022">Quitta Engineer white paper 2022</a></p>
</li>
<li><p><a target="_blank" href="https://www.roberthalf.jp/en/salary-guide/specialisation/technology">Robert half Salary guide 2023</a></p>
</li>
<li><p><a target="_blank" href="https://www.michaelpage.co.jp/en/salary-guide/2023/job-seekers-form">Michael page salary guide 2023</a></p>
</li>
<li><p><a target="_blank" href="https://pr.forkwell.com/articles/annual-income-distribution-of-it-developers/">Forkwell report 2022</a></p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Lập trình cơ bản: Javascript là gì]]></title><description><![CDATA[nói đơn giản thì Javascript là 1 ngôn ngữ lập trình được dùng cùng với HTML và CSS để tạo nên 1 website. Trong bài trước mình có chia sẻ về việc "tại sao nên học javascript ở Nhật" thì JS là một ngôn ngữ rất dễ học. Tuy nhiên với một người mới bắt đầ...]]></description><link>https://codeonhat.jp/lap-trinh-co-ban-javascript-la-gi</link><guid isPermaLink="true">https://codeonhat.jp/lap-trinh-co-ban-javascript-la-gi</guid><category><![CDATA[JavaScript]]></category><category><![CDATA[codeonhat]]></category><dc:creator><![CDATA[Be fun IT ]]></dc:creator><pubDate>Wed, 20 Sep 2023 14:01:51 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/qaedPly-Uro/upload/75c61ea3235ee7a8430fb866b33e60c4.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>nói đơn giản thì Javascript là 1 ngôn ngữ lập trình được dùng cùng với HTML và CSS để tạo nên 1 website. Trong bài trước mình có chia sẻ về việc <a target="_blank" href="https://codeonhat.hashnode.dev/tai-sao-nen-hoc-javascript-o-nhat">"tại sao nên học javascript ở Nhật"</a> thì JS là một ngôn ngữ rất dễ học. Tuy nhiên với một người mới bắt đầu thì vẫn cần một khoảng thời gian nhất định để chúng ta làm quen với những khái niệm sơ khai nhất.</p>
<p>Nếu các bạn search google Javascript là gì thì sẽ có hàng trăm hàng ngàn bài viết nói về javascript với đủ các khái niệm trừu tượng mà ngay đến người có kinh nghiệm lâu năm nhiều khi cũng còn bối rối. Vì vậy ở đây mình sẽ cố gắng diễn đạt 1 cách dễ hiểu nhất và sẽ hạn chế sử dụng những khái niệm chuyên ngành.</p>
<h3 id="heading-tai-sao-lai-can-js">Tại sao laị cần JS</h3>
<p>để làm 1 trang web thì các bạn cần phải biết tối thiểu 3 ngôn ngữ chính đó là: HTML, CSS và Javascript. Mỗi một ngôn ngữ đều đóng 1 vai trò chuyên biệt trong một trang web.</p>
<p>HTML: Ngôn ngữ dùng để tạo 1 bộ khung cho web</p>
<p>CSS: Ngôn ngữ dùng để trang trí giao diện cho trang web</p>
<p>Javascript: Ngôn ngữ dùng để thêm những chức năng cho trang web.</p>
<p>Lấy 1 ví dụ thực tế thế này: Bạn hãy tưởng tượng việc xây dựng 1 trang web cũng giống như chúng ta xây 1 ngôi nhà vậy. Xây nhà thì ngta sẽ chia ra làm 3 phần chính, đầu tiên là làm móng nhà, tạo bộ khung cho ngôi nhà (Phần này trong website thì chúng ta sẽ dùng HTML) sau khi có bộ khung thì chúng ta sẽ làm đến phần trang trí cho ngôi nhà, ví dụ như sơn tường màu gì, góc cạnh bao nhiêu etc.. phần này trong website thì chúng ta sẽ dùng CSS, Cuối cùng chúng ta sẽ muốn ngôi nhà của mình thông minh một chút, ví dụ sẽ có bảng điện khi bấm nút thì đèn trong nhà sẽ sáng lên (Phần này thì chúng ta sẽ viết Javascript để điều khiển).</p>
<p>Hy vọng ví dụ thực tế ở trên sẽ giúp cho các bạn có cái nhìn tổng quan và dễ hiểu hơn về vai trò của JS trong việc phát triển 1 trang web.</p>
<h3 id="heading-js-co-the-lam-gi">JS có thể làm gì</h3>
<p>như giải thích ở trên JS giống như phần hồn của Website giúp cho nó có thế "sống" được. Với JS chúng ta có thể</p>
<ul>
<li><p>Tương tác với người dùng.</p>
</li>
<li><p>Tương tác với Server bên ngoài để lấy thông tin</p>
</li>
<li><p>Xử lý dữ liệu</p>
</li>
<li><p>Thao tác thay đổi giao diện trang web (Biến nút màu đỏ thành màu vàng)</p>
</li>
</ul>
<p>Ngoài ra, Ngày nay Javascript rất phổ biến và càng ngày càng được ứng dụng rộng rãi ở rất nhiều lĩnh vực không chỉ làm website mà còn làm ngôn ngữ xử lý trên server, game, Tuy nhiên mình sẽ chỉ chú trọng vào phần chính là làm website những phần khác khi các bạn có thêm kiến thức thì chúng ta có thể tìm hiểu thêm.</p>
<h3 id="heading-demo">Demo</h3>
<p>Mình sẽ xây dựng một "Ngôi nhà" đơn giản bằng HTML, CSS và JS như bên dưới</p>
<p>Ở đây mình sẽ dùng HTML để xây dựng cấu trúc giao diện của Website trước.</p>
<pre><code class="lang-xml">

<span class="hljs-tag">&lt;<span class="hljs-name">h2</span>&gt;</span>Chào mừng đến với Code Ở Nhật<span class="hljs-tag">&lt;/<span class="hljs-name">h2</span>&gt;</span>

<span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>Click vào nút bên dưới để tương tác với ngôi nhà của mình nhé!<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>

<span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"turn-on"</span>&gt;</span>Bật đèn<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span>

<span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"myImage"</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"data:image/gif;base64,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"</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"width:100px"</span>&gt;</span>

<span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"turn-off"</span>&gt;</span>Tắt đèn<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span>
</code></pre>
<p>Và đây là kết quả hiển thị ban đầu</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1695246721540/a14c67c9-2bc7-40d4-8d10-16d777a396ab.png" alt class="image--center mx-auto" /></p>
<p>Tuy nhiên nhìn rất chán , tẻ nhạt đúng không nào. Mình cần phải trang trí "ngôi nhà" của mình cho nó sống động băt mắt hơn 1 chút, vì thế mình sẽ dùng CSS</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">body</span> {
  <span class="hljs-attribute">font-family</span>: system-ui;
  <span class="hljs-attribute">background</span>: <span class="hljs-number">#f06d06</span>;
  <span class="hljs-attribute">color</span>: white;
  <span class="hljs-attribute">text-align</span>: center;
}

<span class="hljs-selector-tag">button</span> {
  <span class="hljs-attribute">padding</span>: <span class="hljs-number">20px</span>;
  <span class="hljs-attribute">font-size</span>: <span class="hljs-number">20px</span>;
  <span class="hljs-attribute">background</span>: green;
  <span class="hljs-attribute">color</span>: white;
  <span class="hljs-attribute">border-radius</span>: <span class="hljs-number">5px</span>;
}
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1695246767354/e7db6f1b-a5f0-4f6b-8aa7-c3962464000c.png" alt class="image--center mx-auto" /></p>
<p>OK! có vẻ ổn áp hơn chút rồi đúng không nào. Bạn đã có 1 trang web, có nút bấm nhưng nếu bạn thử bấm thử vào nút trên thì bạn sẽ thấy trang web không tương tác gì cả, gần như là 1 trang web "chết" chỉ dùng để hiển thị. (trang tĩnh).</p>
<p>Để làm cho trang web "sống" và có thể tương tác với user thì mình sẽ dùng Javascript để xử lý khi user bấm vào nút Code Ở Nhât như thế này</p>
<pre><code class="lang-javascript">
<span class="hljs-built_in">document</span>.getElementsByTagName(<span class="hljs-string">"button"</span>)[<span class="hljs-number">0</span>].onclick = <span class="hljs-function">()=&gt;</span>{
  <span class="hljs-built_in">document</span>.getElementsByTagName(<span class="hljs-string">"h1"</span>)[<span class="hljs-number">0</span>].innerHTML = <span class="hljs-string">"Chào mừng bạn đến với Code ở Nhật!"</span>;
}
<span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">"turn-on"</span>).onclick=<span class="hljs-function">()=&gt;</span>{
  <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">'myImage'</span>).src=<span class="hljs-string">'data:image/gif;base64,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'</span>
}
<span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">"turn-off"</span>).onclick=<span class="hljs-function">()=&gt;</span>{ <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">'myImage'</span>).src=<span class="hljs-string">'data:image/gif;base64,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'</span>
}
</code></pre>
<p>và BOOM! đây là thành quả cuối cùng của mình</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://codepen.io/mrhoabinh/pen/GRPyKWG">https://codepen.io/mrhoabinh/pen/GRPyKWG</a></div>
<p> </p>
<p><code>để chạy lại trang web các bạn ấn vào nút "rerun" ở góc dưới bên phải nhé.</code></p>
<p>như mình đã nói ở bài trước về <a target="_blank" href="https://codeonhat.hashnode.dev/tai-sao-nen-hoc-javascript-o-nhat">"tại sao nên học javascript"</a> thì việc học Js và thực hành JS rất đơn giản! Trong bài này mình hy vọng sẽ giúp các bạn hiểu được những khái niệm cơ bản ban đầu về js và hiểu được khả năng cũng như vai trò của JS trong việc phát triển một trang web.</p>
<p>Để thực hành viết website đơn giản, các bạn có thể sử dụng những trang web <a target="_blank" href="https://codepen.io/">codepen</a> , <a target="_blank" href="https://codesandbox.io/">codesandbox</a>, <a target="_blank" href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default_default">w3schools</a> với môi trường đã được cài đặt sẵn rất dễ dàng để sử dụng</p>
]]></content:encoded></item><item><title><![CDATA[Học Javascript ở Nhật Bản: Tại sao đây là lựa chọn chính xác?]]></title><description><![CDATA[Các bạn đang học trường tiếng? Senmon IT? Hay các bạn đang muốn thay đổi ngành nghề của mình để làm IT? Dù bạn là ai, đến từ đâu, chắc chắn khi bắt đầu một cái gì mới, có lẽ các bạn cũng đang rất mông lung và băn khoăn về con đường phía trước của mìn...]]></description><link>https://codeonhat.jp/hoc-javascript-o-nhat-ban-tai-sao-day-la-lua-chon-chinh-xac</link><guid isPermaLink="true">https://codeonhat.jp/hoc-javascript-o-nhat-ban-tai-sao-day-la-lua-chon-chinh-xac</guid><category><![CDATA[JavaScript]]></category><category><![CDATA[basics of javascript]]></category><category><![CDATA[codeonhat]]></category><dc:creator><![CDATA[Code ở Nhật]]></dc:creator><pubDate>Wed, 13 Sep 2023 13:28:35 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/fPkvU7RDmCo/upload/b4644afb5504f9848007512aa467396e.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Các bạn đang học trường tiếng? Senmon IT? Hay các bạn đang muốn thay đổi ngành nghề của mình để làm IT? Dù bạn là ai, đến từ đâu, chắc chắn khi bắt đầu một cái gì mới, có lẽ các bạn cũng đang rất mông lung và băn khoăn về con đường phía trước của mình, phải không nào?</p>
<p>Có lẽ điều mà làm cho các bạn phân vân nhất đó là mình nên <strong>học cái gì</strong>, <strong>học từ ai</strong> và <strong>học ra làm sao</strong> để có thể đi đúng hướng trong ngành IT ở Nhật Bản ? Từ những tâm tư đó, và từ những hiểu biết của mình 10 năm lăn lộn trong ngành IT , Mình hy vọng sẽ đem đến những kiến thức bổ ích cho các bạn. Từ đó giúp các bạn tự tin đi đúng hướng và tiết kiệm được đáng kể thời gian của mình khi theo học ngành này!</p>
<h2 id="heading-tai-sao-lai-la-javascript">Tại sao lại là Javascript</h2>
<h3 id="heading-de">Dễ!</h3>
<p>trong tất cả những ngôn ngữ lập trình mà mình đã học qua như C#, Java, Python, Go blah blah ... thì JS phải nói là 1 ngôn ngữ dễ. JS rất dễ học, dễ nhớ và dễ bắt đầu cho một người mới chân ướt chân ráo vào nghề, nó ở khắp mọi nơi, các bạn có thể dễ dàng mở trình duyệt chrome lên và bật chế độ debug là code được luôn, chẳng cần phải máy tính cấu hình khủng, rồi phải đi qua cả tấn cái tutorials chỉ để set up cho mình 1 môi trường code. Đặc biệt là các bạn mới bắt đầu , giống kiểu xoá nạn mù chữ mà chưa gì đã bị ném vào cái đống setup nhàm chán khó nhằn ấy thì mình nói thật với các bạn là 2 ngày chắc phải có tới 90% các bạn nghĩ là Lập trình nó không phải cho mình, thôi kiếm ngành khác vâỵ. 9% còn lại thì chắc sang được đến ngày thứ 3 còn 1 % thì ở trong trạng thái lâm sàng 10 năm như mình (just kidding)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694611655726/f73841c3-fa03-4953-9159-e64db81be6f4.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-javascript"><span class="hljs-comment">// Các bạn chỉ cần ấn f12 -&gt; đi tới Tab console như trong hình</span>
<span class="hljs-comment">// copy đoạn code ở dưới vào rồi ấn enter </span>
<span class="hljs-keyword">const</span> yourname = <span class="hljs-string">"code o nhat"</span>
<span class="hljs-built_in">console</span>.log(<span class="hljs-string">`Hello <span class="hljs-subst">${yourname}</span>`</span>)
</code></pre>
<h3 id="heading-de-1">Dễ!</h3>
<p>Setup môi trường đã dễ rồi, học còn dễ hơn nữa các bạn ạ, thật, JS ban đầu chỉ là 1 ngôn ngữ script vớ vẩn để tương tác với mấy cái nút trên màn hình rồi chạy code linh tinh thôi nên ngay từ ban đầu JS rất dễ hiểu, ít khái niệm cao siêu và rất là friendly.</p>
<p>nếu so JS với Java thì nó giống như thế này. và chắc chắn ở đây ai cũng muốn nhảy với người đẹp JS rồi!!!</p>
<p><img src="https://people.com/thmb/t8sGfbj_AlqE_UKOINuasd499Io=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc():focal(999x0:1001x2)/beauty-and-the-beast-879e99af252745f9800e64393dd87587.jpg" alt="Beauty and the Beast Fun Facts in Honor of Its 30th Anniversary" /></p>
<h3 id="heading-de-2">Dễ!</h3>
<p>dễ hỏi và tìm tài liệu, có lịch sử lâu đời và 1 cộng đồng lớn trên toàn thế giới vì vậy cho dù các bạn gặp bất kỳ khó khăn hóc búa gì đều có thể tìm câu trả lời trong 5 giây. Đa phần các thư viện , project js đều public cả nêncác bạn cũng dễ dàng tham gia vào những project mã nguồn mở để học thêm kiến thức hay dễ dàng vọc code của người khác.</p>
<p>dưới đây là 1 đoạn code trong reactjs, thư viện để Meta viết ra Facebook</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694611051868/26d5a2f3-68a1-441e-b496-20c9ed252b7a.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-de-3">Dễ!</h3>
<p>Dễ tìm việc, thực sự ở Nhật đang rất khan hiếm lập trình viên javascript (thực ra thì ngôn ngữ nào cũng thiếu) cộng với xu hướng công nghệ hiện nay thì chỉ cần các bạn biết JS, thêm CSS, HTML Reactjs nữa thì không lo không tìm được việc.</p>
<p>Dưới đây là Top những ngôn ngữ tuyển dụng nhiều nhất : Java theo sau đó là Javascript và PHP (<a target="_blank" href="https://hrog.net/report/career/82292/">nguồn 2020</a>)</p>
<p><img src="https://hrog.net/wp-content/uploads/2020/01/%E5%B8%8C%E5%B0%91%E4%BE%A1%E5%80%A4-1-1024x680.png" alt /></p>
<p>Đặc biết khi theo dõi page + blog của mình xác suất tìm được việc còn cao hơn nhiều vì ở đây mình cam kết rằng các bạn sẽ dc học những kiến thức bổ ích cho con đường phía trước của mình.</p>
<h3 id="heading-ket-bai">Kết bài</h3>
<p>Mình đã tưng như các bạn đã từng mông lung nên mình rát hiểu cảm giác của các bạn khi đứng trước một con đường nơi mà mình không biết phải đi về đâu và đi thế nào. Chính vì vậy mình tạo Series này để có thể góp chút kiến thức nhỏ của mình cho con đường phía trước của các bạn.<br />Những bước chân đầu tiên sẽ luôn chông gai , mình chúc các bạn sẽ mạnh mẽ và thành công.</p>
<p>/codeonhat/</p>
<p><a target="_blank" href="https://www.facebook.com/codeonhat/">Facebook Code ở Nhật</a></p>
]]></content:encoded></item></channel></rss>