<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Adler Hsieh</title>
    <description>The latest articles on DEV Community by Adler Hsieh (@adler_hsieh).</description>
    <link>https://dev.to/adler_hsieh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2301391%2F97ecb21d-ee3a-496d-a254-78afb8c3006b.jpg</url>
      <title>DEV Community: Adler Hsieh</title>
      <link>https://dev.to/adler_hsieh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/adler_hsieh"/>
    <language>en</language>
    <item>
      <title>7 Signs You're Underperforming as an Engineer</title>
      <dc:creator>Adler Hsieh</dc:creator>
      <pubDate>Sat, 23 Nov 2024 04:18:28 +0000</pubDate>
      <link>https://dev.to/adler_hsieh/7-signs-youre-underperforming-as-an-engineer-1007</link>
      <guid>https://dev.to/adler_hsieh/7-signs-youre-underperforming-as-an-engineer-1007</guid>
      <description>&lt;p&gt;No one wants to be a low performer, but the truth is, we are all clouded by &lt;a href="https://www.simplypsychology.org/self-serving-bias.html" rel="noopener noreferrer"&gt;self-serving bias&lt;/a&gt;: &lt;strong&gt;We can easily identify other people’s shortcomings, but cannot see our own.&lt;/strong&gt; This is one of the main reasons we often get surprised when receiving negative feedbacks. They are never on our radar.&lt;/p&gt;

&lt;p&gt;Use this list to do a quick self-assessment. We want to spot issues early and make improvements. Remember to read until the end to see action items!&lt;/p&gt;

&lt;h4&gt;
  
  
  💡 Key Takeaways
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Look for signs of low performance on yourself. A good indicator is to keep an eye on team metrics and to ask for feedbacks regularly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Take actions if you spot these warning signs. Work with the team and your manager grow.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  1. Constantly Sit on Problems without Actions
&lt;/h2&gt;

&lt;p&gt;🚨 Warning indicators:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You sit on blockers for days without raising them&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Team meetings reveal issues that should have been flagged earlier&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Takeaways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Raise blockers as soon as you identify them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Constantly delay reporting blockers can happen especially on junior engineers.&lt;/p&gt;

&lt;p&gt;Early escalation helps prevent small issues from becoming major problems. Even if you are trying to resolve certain blockers, giving the update to the team is always a good practice.&lt;/p&gt;

&lt;p&gt;Escalation isn't a sign of weakness - it's a professional responsibility that helps maintain project momentum. Also, sometimes other members might already have an answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Avoid Challenges
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F5d8db170-679f-4e33-96d7-4354bb4c0a0f_1333x768.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F5d8db170-679f-4e33-96d7-4354bb4c0a0f_1333x768.jpeg" title="A cluttered desk with unfinished code, scattered papers, and a frustrated expression" alt="A cluttered desk with unfinished code, scattered papers, and a frustrated expression" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🚨 Warning indicators:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You consistently choose simpler tasks during sprint planning.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You are always reluctant to take challenging tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You always escalate problems easily without attempting to dig deep.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Takeaways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Identify causes of low motivations. It could be domains or burnout.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Seek help if necessary.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your growth as an engineer stalls when you dodge difficult projects. Giant tech companies have a rule of developers needing to upgrade to a certain level in a timeframe. Stalling makes it easier to put you in the low-performer bucket.&lt;/p&gt;

&lt;p&gt;Improvement on this could be tricky. The cause of low motivation might be due to the toxic environment, boring team domain, or career burnout, etc. Talk to peers or people that you trust. See if they feel the same, or how do they approach issues like this.&lt;/p&gt;

&lt;p&gt;If it’s possibly caused by career burnout, talk to a professional and seek help!&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Rarely Do Code Reviews
&lt;/h2&gt;

&lt;p&gt;🚨 Warning indicators:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Your code review comments are superficial or non-existent.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You don't make time for thorough code review.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Takeaways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Regular code reviews demonstrate your contributions to teamwork&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Good reviews help catch issues early&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;They expands your understanding &amp;amp; domain knowledge&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Code review is part of teamwork. Since software engineers usually need to work as a team, not participating in code review is usually considered a flag.&lt;/p&gt;

&lt;p&gt;To improve, it’s mostly a shift of mindset.&lt;/p&gt;

&lt;p&gt;Code reviews aren't just about finding faults. They're a chance to learn new techniques and share your expertise. Make time for code reviews in your daily routine. It's a simple yet effective way to level up your skills.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Miss Deadlines Frequently
&lt;/h2&gt;

&lt;p&gt;🚨 Warning indicator&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You're constantly asking for extensions or delivering work late.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Takeaways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Follow best practices such as breaking down tasks &amp;amp; leaving buffer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Identify other causes: unreasonable workload, scope change, etc.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Despite external factors, missing deadlines is a symptom that you're not estimating tasks accurately or managing workload effectively. You might be taking on too much or underestimating the complexity of projects.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Deadlines are not arbitrary, they're a promise to deliver."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To improve, start by following the best practices such as breaking down tasks, communicate issues early, and leaving buffers. After that, identify the causes such as scope change or underlying technical debts. Work with your manager to find out action items for improvement.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Your Work is Invisible to Stakeholders
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F1574686f-0d5f-49a4-bb38-7ecbda61672d_1333x768.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F1574686f-0d5f-49a4-bb38-7ecbda61672d_1333x768.jpeg" title="A lone chair facing away from a group of engaged colleagues in a meeting. Empty notebook and pen on the table" alt="A lone chair facing away from a group of engaged colleagues in a meeting. Empty notebook and pen on the table" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🚨 Warning indicators:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Your manager &amp;amp; team struggle to describe what you are doing and why&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Your name rarely comes up during updates and discussions&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Takeaways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Choose the right tasks that have impacts on the team and the business. It’s probably not wise to always pick small code refactoring tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Contribute to team discussions regularly&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also, when working with your manager, you can consider creating a "&lt;a href="https://jvns.ca/blog/brag-documents/" rel="noopener noreferrer"&gt;brag document&lt;/a&gt;" to track accomplishments. This can be helpful during performance reviews and when discussing your position on &lt;a href="https://www.engineeringladders.com/" rel="noopener noreferrer"&gt;the Engineering Ladder&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Remember, visibility isn't about showing off. It's about ensuring your hard work is recognized and valued. It also provides transparency that welcomes feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Always Wait for Instructions
&lt;/h2&gt;

&lt;p&gt;🚨 Warning indicators:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You often ask "What should I do next?"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You struggle to make progress when your manager not present&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Takeaways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Be proactive in seeking out work. Check your team’s backlog &amp;amp; roadmap regularly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Suggest improvements to existing projects or team processes&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Strong engineers proactively identify problems and propose solutions. They don't wait for assignments to fall into their laps.&lt;/p&gt;

&lt;p&gt;Look for ways to add value beyond your assigned tasks. This mindset will set you apart from those who simply follow orders.&lt;/p&gt;

&lt;p&gt;Remember, your tech lead and manager aren't there to micromanage you. They expect you to take ownership of your work and drive projects forward independently.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Ignore Constructive Feedbacks
&lt;/h2&gt;

&lt;p&gt;🚨 Warning indicators:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You get the same feedback repeatedly across review cycles&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You acknowledge issues but there is no action plans&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Takeaways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create action items after receiving feedback&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Schedule regular check-ins with your manager to discuss improvement&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Take a look at your previous feedbacks. Are there items that come up often? It could be a good sign that you have not taken actions toward certain issues.&lt;/p&gt;

&lt;p&gt;Document both the feedback and your progress. This helps demonstrate your commitment to growth and provides evidence of improvement during performance reviews.&lt;/p&gt;

&lt;h2&gt;
  
  
  It’s Time to Take Actions
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fd779057b-5830-4c83-be30-71860fcd07c3_1333x768.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fd779057b-5830-4c83-be30-71860fcd07c3_1333x768.jpeg" title="A disorganized desk with scattered papers and unopened coding books" alt="A disorganized desk with scattered papers and unopened coding books" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find yourself matching one or more traits above, it's time to take actions. Recognizing the issue is the first step, but now you need to act. Let's explore how to improve.&lt;/p&gt;

&lt;h3&gt;
  
  
  Identifying Causes
&lt;/h3&gt;

&lt;p&gt;Start by looking inward. Are you struggling with &lt;a href="https://relevant.software/blog/signs-of-software-engineer-burnout/" rel="noopener noreferrer"&gt;work-life balance&lt;/a&gt;? Maybe you're dealing with anxiety or personal issues. These can all impact your performance.&lt;/p&gt;

&lt;p&gt;It’s also important to inspect external factors: Does the team have any issue? Low performance might be only a symptom and the real issue lie in the team. For example,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The team does not have a good process&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The team culture is toxic and discouraging&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The workload requirement is unreasonable&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Try to talk to your manager or other members about these. They may share the same sentiment. Pinpoint specific areas where you're falling short. Don't just think "I'm not doing well." Be precise. Maybe you're having trouble with a particular process.&lt;/p&gt;

&lt;p&gt;Remember, identifying the cause is key to fixing the problem. Be honest with yourself. It's not about blame, it's about improvement.&lt;/p&gt;

&lt;h3&gt;
  
  
  Seek Feedback From Managers And Peers
&lt;/h3&gt;

&lt;p&gt;Make sure to verify the causes &amp;amp; improvement areas. During 1-on-1 with your manager, express your concerns. Ask for specific feedback on areas where you can improve.&lt;/p&gt;

&lt;p&gt;Feedback questions can include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;"How do you handle X task so efficiently?"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;"Can you review my code and give me pointers?"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;"What strategies do you use to stay productive?"&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Be open to constructive feedback. It might sting at first, but it can bring real improvements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating A Plan With Your Manager
&lt;/h3&gt;

&lt;p&gt;Once you've gathered feedback, it's time to create an action plan. Sit down with your manager and outline specific goals. Use frameworks like &lt;a href="https://www.indeed.com/career-advice/career-development/how-to-write-smart-goals" rel="noopener noreferrer"&gt;SMART&lt;/a&gt; to set clear goals.&lt;/p&gt;

&lt;p&gt;Your plan might include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Measurements such as engineering metrics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Specific actions such as doing 10 code reviews in a week&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Timeline&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Be realistic. You won't become a top performer overnight. Set milestones and celebrate small wins along the way.&lt;/p&gt;

&lt;p&gt;After that, ask your manager for regular check-ins to track your progress &amp;amp; feedback. Improvement is an ongoing process. Set up regular feedback sessions with your manager and peers.&lt;/p&gt;




&lt;p&gt;Thank you for reading the post!&lt;/p&gt;

&lt;p&gt;❤️ it if you like this article.&lt;/p&gt;

&lt;p&gt;💬 Leave a comment if you have questions. Or let me know if you are interested in knowing any specific topics.&lt;/p&gt;

&lt;p&gt;You can also find me on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://linkedin.com/in/adlerhsieh" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://twitter.com/adlerhsieh" rel="noopener noreferrer"&gt;Twitter/X&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want more content like this, consider subscribe to my newsletter.&lt;/p&gt;

&lt;p&gt;See you next time 👋&lt;/p&gt;

&lt;p&gt;Thanks for reading Tokyo Tech Lead! &lt;a href="https://tokyotechlead.adlerhsieh.com" rel="noopener noreferrer"&gt;Subscribe&lt;/a&gt; for free to receive new posts and support my work.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Working at Merpay / Mercari: My Honest Review as a Software Engineer in Japan</title>
      <dc:creator>Adler Hsieh</dc:creator>
      <pubDate>Tue, 12 Nov 2024 07:16:25 +0000</pubDate>
      <link>https://dev.to/adler_hsieh/working-at-merpay-mercari-my-honest-review-as-a-software-engineer-in-japan-4ejc</link>
      <guid>https://dev.to/adler_hsieh/working-at-merpay-mercari-my-honest-review-as-a-software-engineer-in-japan-4ejc</guid>
      <description>&lt;p&gt;In 2019, I joined Merpay, a part of the Mercari Group, in Japan. As I write this review, more than five years have passed. There are so many memories, learning experiences, and insights. This article aims to provide an honest and detailed review of my time at Merpay and Mercari, covering the company culture, management structure, and challenges and opportunities.&lt;/p&gt;

&lt;p&gt;Whether you're considering a career move to Japan or simply curious about what it's like to work at one of the country's leading tech firms, I hope my experiences will offer valuable perspectives and advice.&lt;/p&gt;

&lt;p&gt;💡&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaways&lt;/strong&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Mercari is a Japanese company with a Western working environment. It has great resources, benefits, work-life balance, and working culture.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I enjoyed working there for it having a lot of senior Software Engineers, flexible career path, and company resources.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The company took a deep hit during the recession just like all tech enterprises in Japan. Slowdown continued in 2023 when I left the company due to limited resources.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The language environment between JP/EN remains one of its biggest challenges to move to a global environment.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  An Overview of The Company and the Market
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy29p72szpd8mijpcaks4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy29p72szpd8mijpcaks4.jpg" width="800" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Services &amp;amp; Products
&lt;/h3&gt;

&lt;p&gt;By the time I left the company, there were multiple services and products from the entire Mercari group:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://jp.mercari.com" rel="noopener noreferrer"&gt;Mercari JP&lt;/a&gt;: The dominant second-hand marketplace in Japan (CtoC). They have the largest market share and users among all competitors.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://mercari-shops.com/" rel="noopener noreferrer"&gt;Mercari Shop&lt;/a&gt;: A different marketplace business model for merchants to sell products to customers (BtoC).&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.merpay.com/" rel="noopener noreferrer"&gt;Merpay&lt;/a&gt;: Mobile payment including QR code and credit card.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://about.mercoin.com/" rel="noopener noreferrer"&gt;Mercoin&lt;/a&gt;: Cryptocurrency trading and investment.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.mercari.com/" rel="noopener noreferrer"&gt;Mercari US&lt;/a&gt;: Same secondhand marketplace but in the U.S.. This post will not cover this business as I have almost zero experience working with them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are other new services such as &lt;a href="https://hallo.mercari.com/" rel="noopener noreferrer"&gt;Mercari Hallo&lt;/a&gt; which helps people find small jobs. However, that was after I left the company so I didn't have a chance to get to know them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Management Structure
&lt;/h3&gt;

&lt;p&gt;Each company has its management structure. There is a CEO, CTO, VPoE, CPO, and other executives for each company. Under them, there is an Engineering division including directors, EMs, PMs, and software engineers.&lt;/p&gt;

&lt;p&gt;Companies work with each other when there are overlapping areas. For example, all payments in Mercari JP go through the Merpay payment system. There are a lot of interactions between the Merpay payment team and the Mercari JP accounting team. Otherwise, companies operate on their own (except all C-suite people report to the Mercari Group executives).&lt;/p&gt;

&lt;h3&gt;
  
  
  Pay Scale
&lt;/h3&gt;

&lt;p&gt;As I am only one part of the company, I can not say that I know the pay scale very well. However, my general impression is mostly aligned with the data in &lt;a href="http://opensalary.jp" rel="noopener noreferrer"&gt;opensalary.jp&lt;/a&gt;. Each grade in the data is mapped to its &lt;a href="https://engineering.mercari.com/en/ladder/" rel="noopener noreferrer"&gt;Engineering Ladder&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you're interested in digging deep into the pay scale in the job market, I would recommend &lt;a href="https://japan-dev.com/blog/software-developer-salaries-in-japan-the-ultimate-guide" rel="noopener noreferrer"&gt;checking the salary guidelines on Japan-Dev&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Tech Job Market Landscape in Japan
&lt;/h3&gt;

&lt;p&gt;If you are familiar with the software companies in the Japanese market, there is a good chance that you know there are several categories. Mercari belongs to the category of &lt;strong&gt;"Japanese companies with a Western working environment&lt;/strong&gt;". Features of this category include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The pay scale is below the top scale but is considered good enough.&lt;/li&gt;
&lt;li&gt;The language environment is usually a mix of Japanese and English, but foreigner-friendly.&lt;/li&gt;
&lt;li&gt;They actively hire from overseas with their generous relocation and visa support. They are one of the best choices for foreigners to land their first job in Japan.&lt;/li&gt;
&lt;li&gt;Other companies in this category include PayPay, SmartNews, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other major categories in the job market:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🇺🇸/🇪🇺 Global tech enterprises&lt;/strong&gt;: Worldwide companies such as Google, Indeed, Netflix and others. It also includes smaller but well-known companies such as Stripe and Wolt.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;👺 Traditional Japanese companies:&lt;/strong&gt; The majority of companies you can find in Japan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🤏 Small startups:&lt;/strong&gt; This is a category on its own because everything depends on the founders. Their pay scale, language environment, and cultural environment vary.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are also other types including software agencies, governments, and nonprofit organizations. They are not the top choices for foreigners so this post will not cover them.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with Merpay
&lt;/h2&gt;

&lt;h3&gt;
  
  
  My Team and Their Tech Stack
&lt;/h3&gt;

&lt;p&gt;I joined Merpay, the mobile payment business in the Mercari Group, as a Backend Engineer in 2019. I spent all my time in the Payment Platform team. There is &lt;a href="https://engineering.mercari.com/blog/entry/20221018-mtf2022-day3-5/" rel="noopener noreferrer"&gt;a very good article&lt;/a&gt; (in Japanese) by our senior tech lead summarizing what we do and our value to the company.&lt;/p&gt;

&lt;p&gt;To keep it brief, here is a list of technologies that we used: Golang, PHP (phasing out), Google Cloud Platform, Spanner, Pub/Sub, Docker, Kubernetes, DataDog, and GitHub. Most of the teams in Mercari adopt the same technologies for consistency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Team Structure
&lt;/h3&gt;

&lt;p&gt;Each team looks like the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Engineering Manager (EM)&lt;/strong&gt;: EM is responsible for the entire team. Many responsibilities are delegated to PM or TL, but EM is the guardian. &lt;a href="https://www.adlerhsieh.com/from-code-to-leadership--my-journey-from-software-engineer-to-engineering-manager/#engineering-manager%E2%80%99s-responsibilities" rel="noopener noreferrer"&gt;There are a variety of responsibilities&lt;/a&gt; but most of the time the priority is on strategy and people management.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Product Manager (PdM) / Project Manager (PM)&lt;/strong&gt;: Depending on the complexity and impact of the product in the team, there could be PdM (more senior) or PM in the team. They are responsible for the product roadmap and the project planning and monitoring.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Lead (TL)&lt;/strong&gt;: Tech Lead is the equivalent of a senior developer that is in charge of the team. All important technical decisions have to go through this role. TL still needs to code, but they also spend quite some time reviewing codes, designing architectures, and designing teamwork processes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;QA&lt;/strong&gt;: Not all teams have a dedicated QA member. For some reason, QA talents are scarce in Japan. Most of the time multiple teams share the same QA member. Their responsibilities are manually testing the features and applications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design&lt;/strong&gt;: I focus more on the backend, so I have zero experience working with design members in Merpay. However, as far as I know, they are responsible for designing the UI and UX of the website and mobile applications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developers&lt;/strong&gt;: Developers other than Tech Lead belong to this category. There are one or two senior developers, some mid-level, and some junior developers. Sometimes there are interns.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Language Environment
&lt;/h3&gt;

&lt;p&gt;The environment in Merpay was quite Japanese-dominated when I joined. The management members were making all the effort to create a language-inclusive environment. I saw a lot of progress in those years, but there was still a huge gap in what we wanted to achieve.&lt;/p&gt;

&lt;p&gt;Most Merpay product teams need to talk to accounting, legal, compliance, and customer support teams. These teams do not have any English or bilingual speakers. In that case, most teams need to have at least one or two Japanese speakers to bridge the communications. This is also one of the main challenges in promoting English communications.&lt;/p&gt;

&lt;p&gt;When I left the company, the environment looked like the following:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa07dtqbmm5a9sg9pvtl0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa07dtqbmm5a9sg9pvtl0.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;English-speaking Teams&lt;/strong&gt;: This includes 3-4 teams. PMs are mostly bilingual so they serve as the bridge in communications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Teams with mix JP/EN&lt;/strong&gt;: This includes another 3 teams. There are both Japanese and non-Japanese speakers. This includes the team I stayed with at Merpay. We tried very hard to preserve both language use in the team and it worked well so far.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Japanese-speaking Teams&lt;/strong&gt;: The rest belong to this category. There are still bilingual speakers in these teams, but most communications are done in Japanese.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note that the above is in Merpay. Mercari JP has a better language-inclusive environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Work-Life Balance
&lt;/h3&gt;

&lt;p&gt;I have no complaints about this part. The company does not require people to work overtime. The standard working hour is 8 hours per day.&lt;/p&gt;

&lt;p&gt;Sometimes when projects are in a rush, overtime can happen. My highest record of doing overtime was 60 hours in a single month, but that happened only once. Most of the time my overtime was within 8 hours.&lt;/p&gt;

&lt;h3&gt;
  
  
  Professional Growth
&lt;/h3&gt;

&lt;p&gt;There is an &lt;a href="https://engineering.mercari.com/en/ladder/" rel="noopener noreferrer"&gt;Engineering Ladder&lt;/a&gt; defined in the company. It indicates the level and sets up a career path for every software engineer. There is also a clear definition and exception of Engineering Managers.&lt;/p&gt;

&lt;p&gt;There are no restrictions for Software Engineers to move to a different grade within a specific timeframe as in FANNG companies. However, if you are in MG1 or MG2, managers will strongly encourage you to move up to at least MG3 in the future.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Enjoyed Working There
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xq7t2txjc9ek8nmcpf9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xq7t2txjc9ek8nmcpf9.jpg" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning from Experts
&lt;/h3&gt;

&lt;p&gt;There are many senior developers in Mercari and Merpay. They have been in the company for a very long time so they know the codebase inside out. There are also GDE (Google Developer Experts) in the company. It includes &lt;a href="https://twitter.com/tenntenn?lang=en" rel="noopener noreferrer"&gt;tenntenn&lt;/a&gt; (Go) and the other person that I forgot the name 🤦‍♂️ (GCP Spanner).&lt;/p&gt;

&lt;p&gt;When I was in the Payment Platform team, there was a senior tech lead who designed the entire payment infrastructure. There was no need to worry about any technical issues. He was the guy who went to the stakeholders and finished all the complicated pre-work.&lt;/p&gt;

&lt;p&gt;I see it as an opportunity to work with the best in the industry. You have to be at the same level as these senior members to discuss with them, so there are a lot of things to learn in a short time. Every team has a similar structure, so if you join any team, find that expert and try to learn as much.&lt;/p&gt;

&lt;p&gt;However, sometimes it could be a double-sided sword. When members are not proactive enough, senior members will handle the work for them. Members only have to deal with minor details and alignments with stakeholders. They miss the opportunities to learn and grow in that case.&lt;/p&gt;

&lt;h3&gt;
  
  
  Flexible Career Path
&lt;/h3&gt;

&lt;p&gt;For most of the time, the company is willing to support your career growth, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Changing to a different team&lt;/li&gt;
&lt;li&gt;Move to a different company within the Mercari Group&lt;/li&gt;
&lt;li&gt;Changing from IC to the EM track (MG3 and above)&lt;/li&gt;
&lt;li&gt;Changing from EM to the IC track&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's really good that there are a lot of teams and companies in the group to be able to provide flexibility and support.&lt;/p&gt;

&lt;p&gt;However, sometimes I saw managers discourage members' career change and did not provide support. For example, members expressed strong interest in moving to be an Engineering Manager. Those members might not be the best fits, but their managers did not identify the gaps or provide support, either. They only criticized that the thoughts were impractical.&lt;/p&gt;

&lt;p&gt;If you run into situations like this, I would encourage talk to your skip manager. It could be either your manager's issue or how this message is communicated. It's always good to find out. If it happens multiple times, consider moving to a different team.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sufficient Company Support
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Visa and Relocation Support&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The relocation and visa support were some of the best I had in my entire career. They have a relocation allowance for you to move to Japan, help you get a working visa before you arrive, and provide a temporary residence before you find your own.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Language Support and Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;They have interpreters ready to handle any interpretation and translation request. Sometimes it might not be as effective, but it's a great temporary measure for eliminating the language barrier.&lt;/p&gt;

&lt;p&gt;As for language learning, they have in-house Japanese training until you can use a basic level of Japanese. They claim that it's CEFR B2, but I found that it's still far from being able to live in Japan without any language barrier. You need to spend your own time studying Kanji and other materials to be able to handle most daily conversations.&lt;/p&gt;

&lt;p&gt;If your team is using Japanese, they provide reimbursement for you to participate in external training even after you reach CEFR B2. However, this part of the benefits changes all the time. Please refer to the company policies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Childcare Support&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, I did not have the opportunity to utilize this part, but they provide great benefits in childcare. I've seen a lot of colleagues having a great family life with these supports. Some include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full-amount paid parental leave (The legal parental leave is up to 67%)&lt;/li&gt;
&lt;li&gt;Infertility treatment&lt;/li&gt;
&lt;li&gt;Egg freezing reimbursement&lt;/li&gt;
&lt;li&gt;Nursery reimbursement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Likewise, these supports have high costs so things might change in the future.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges and Opportunities
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmmdx4uqfl0dplrfthrb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmmdx4uqfl0dplrfthrb.jpg" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Slowdown during Tech Recession
&lt;/h3&gt;

&lt;p&gt;After COVID, &lt;a href="https://moderndiplomacy.eu/2024/02/09/layoffs-in-the-global-tech-industry/" rel="noopener noreferrer"&gt;the global tech industry entered recession&lt;/a&gt;. Many layoffs occurred in the U.S. and other countries. Japan, on the other hand, due to its strict employment policy, is one of the countries hard to fire employees.&lt;/p&gt;

&lt;p&gt;Same for Mercari. They tried their best in cutting costs. This included &lt;a href="https://news.yahoo.co.jp/articles/6d4b3b3bd51b37a984fe7e72e480b9a7244bf42e" rel="noopener noreferrer"&gt;the closure of the Sendai office&lt;/a&gt;, which a lot of employees were not happy about. They thought that the company was finding an excuse for a mass layoff. Other than that, they also slow down hiring and salary growth, as well as putting more restrictions on benefits.&lt;/p&gt;

&lt;p&gt;The slowdown impacted the secondary businesses such as Merpay and Mercoin even more. As the secondhand market is the most profitable business model, resources are prioritized there. Other businesses did not get as many resources. For example, some divisions in Merpay could barely get 1 new hiring when they needed more than 10. Or, some teams could not even get backfill. It obstructed the progression of these secondary businesses.&lt;/p&gt;

&lt;p&gt;Also, tasks during that time were not the most exciting either. Every business had tens of items on their roadmap, but due to resource restrictions, the progress became slow. Management tasks became "how to cut costs" instead of doing innovations.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Glass Ceiling from the Language Barrier
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F03%2FDALL-E-2024-03-17-16.54.15---Create-a-simplistic-image-with-a-ratio-of-1920x1080--depicting-a-glass-ceiling.-The-scene-should-be-set-inside-a-room-with-a-clear-glass-ceiling--offe.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F03%2FDALL-E-2024-03-17-16.54.15---Create-a-simplistic-image-with-a-ratio-of-1920x1080--depicting-a-glass-ceiling.-The-scene-should-be-set-inside-a-room-with-a-clear-glass-ceiling--offe.webp" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Embrace the fact: a glass ceiling exists in any culturally divided environment. This situation is more obvious in Japan where companies try to create a language-inclusive environment. The glass ceiling comes from the language barrier. &lt;strong&gt;The higher you want to go, the more language barrier you need to overcome.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are many factors, but one important cause is Mercari's pattern of creating a new business. Mercari usually starts a new business (e.g., mobile payment or cryptocurrency) with a group of Japanese-speaking members. After the business is steady, it starts to move to a language-inclusive environment. This is good for starting a business in Japan because it streamlines the communication process. The efficiency allows them to test the MVP ASAP.&lt;/p&gt;

&lt;p&gt;However, this strategy is less ideal for creating opportunities for non-Japanese speakers. When a business is ready for a language-inclusive environment, the communication pattern is already all well-established in Japanese. It takes a huge cost to translate them into English and establish a new communication pattern.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj3imrc1f9ifmib0vxnz1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj3imrc1f9ifmib0vxnz1.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we look at the businesses in the Mercari Group now, there are only a few businesses that are easier for non-Japanese-speaking members. They are Mercari JP and Merpay. All the other businesses are struggling with hiring non-Japanese speakers.&lt;/p&gt;

&lt;p&gt;Even within these two businesses, we still see language barriers from time to time. This naturally creates a glass ceiling for non-Japanese speakers who want to make an impact in the business. For example, they usually need to communicate with Japanese-speaking stakeholders to agree on important decisions. In an organization that is Japanese-oriented, they require extra time and effort on communications. This dilemma is more struggling for those who are at a senior level.&lt;/p&gt;

&lt;p&gt;As far as I know, Mercari JP has less of this issue. Most executive members are bilingual, and their communication patterns are more mature. I think other businesses are able to navigate through this issue following the existing pattern in the future.&lt;/p&gt;

&lt;h3&gt;
  
  
  Negative Reviews of Traditional Management Style
&lt;/h3&gt;

&lt;p&gt;There is &lt;a href="https://www.glassdoor.com/Reviews/Employee-Review-Mercari-RVW51030874.htm" rel="noopener noreferrer"&gt;an infamous review on Glassdoor&lt;/a&gt; about Mercari's management culture. It points out that there are many examples of the management members' incapability. Yet they still manage to take control of the organization, which leads to an unhealthy work culture.&lt;/p&gt;

&lt;p&gt;I did see multiple reviews like this both externally and internally. Fortunately, during my time at Merpay, I did not have any similar experience. I believe the majority of the organization does not need to handle an extreme management style like this. If you find yourself in such a situation, my advice is to move to a different team or division.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;On my journey at Merpay and Mercari, I'm grateful for the mentorship, experiences, and the career transition to Engineering Management. Each moment has been a valuable lesson. As I move forward in my career, I carry the skills I learned as well as an appreciation for those who have helped me.&lt;/p&gt;

&lt;p&gt;For those who are interested in the company, feel free to leave a comment or contact me if you would like to understand the company more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flupk6c972618t6hf8pzu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flupk6c972618t6hf8pzu.jpg" width="800" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What is some advice you would give to those who are interested in joining?
&lt;/h3&gt;

&lt;p&gt;Mercari is a good company to work in. Career-wise, I would suggest:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Learn from the best&lt;/strong&gt;: There are many senior Software Engineers who are the best in the industry. Be proactive in taking responsibility and try to learn as much as possible from them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Find the best environment for yourself&lt;/strong&gt;: There are many teams and companies in the entire Mercari Group. Your first team might not be the one that suits you the most. I would suggest switching to a different team in a different domain every one or two years. It is refreshing and motivating at the same time.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What is the interview process like for Software Engineers in Merpay?
&lt;/h3&gt;

&lt;p&gt;As in 2023, it was as follows (order might be different):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[optional] Casual chat&lt;/li&gt;
&lt;li&gt;Resume screening&lt;/li&gt;
&lt;li&gt;Recruiter screening&lt;/li&gt;
&lt;li&gt;Take-home assignment&lt;/li&gt;
&lt;li&gt;Technical interview / System design interview by peer Software Engineers&lt;/li&gt;
&lt;li&gt;Behavioral interview by EM&lt;/li&gt;
&lt;li&gt;Final interview by VPoE or CTO&lt;/li&gt;
&lt;li&gt;Offer&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What is it like working in Merpay as a Software Engineer?
&lt;/h3&gt;

&lt;p&gt;I have &lt;a href="https://www.adlerhsieh.com/working-as-a-backend-engineer-in-merpay/" rel="noopener noreferrer"&gt;a YouTube video explaining the life of a Backend Engineer in Merpay&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.adlerhsieh.com/working-as-a-backend-engineer-in-merpay/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2k0tdgex566lijezhm78.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What are some other foreigner-friendly companies in Japan?
&lt;/h3&gt;

&lt;p&gt;I have &lt;a href="https://www.adlerhsieh.com/how-i-found-my-first-software-developer-job-in-japan-while-being-overseas/" rel="noopener noreferrer"&gt;a YouTube video explaining my story&lt;/a&gt; of how I found my first job in Japan. You can also find a job listing on &lt;a href="http://japan-dev.com" rel="noopener noreferrer"&gt;japan-dev.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0a9c3caqgfx0yeub0nbu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0a9c3caqgfx0yeub0nbu.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Any other question? Feel free to leave a comment or contact me :)&lt;/p&gt;

</description>
      <category>mercari</category>
      <category>merpay</category>
      <category>career</category>
    </item>
    <item>
      <title>8 Slack Tips Every Tech Team Should Know in 2025</title>
      <dc:creator>Adler Hsieh</dc:creator>
      <pubDate>Mon, 11 Nov 2024 05:00:00 +0000</pubDate>
      <link>https://dev.to/adler_hsieh/8-slack-tips-every-tech-team-should-know-in-2025-4odl</link>
      <guid>https://dev.to/adler_hsieh/8-slack-tips-every-tech-team-should-know-in-2025-4odl</guid>
      <description>&lt;p&gt;Messaging apps like Slack offers many features that can help with teamwork. But for those who just got into the messaging ecosystem, it could be tempting to bring the same habits from our daily messaging app like Whatsapp or Messenger. Workplace requires productivity. With some adjustments, it would make the communication more effective.&lt;/p&gt;

&lt;p&gt;Here are some tips that every tech team should know:&lt;/p&gt;

&lt;h2&gt;
  
  
  🙅 No "Hi". Cut Straight to the Point.
&lt;/h2&gt;

&lt;p&gt;You have probably heard of &lt;a href="https://nohello.net/en/" rel="noopener noreferrer"&gt;nohello.net&lt;/a&gt;. It promotes this universal issue that everyone faces on their messaging app like Slack: Someone dropping a "hi" without saying anything else. It can even happen outside of workplace. It can happen on Facebook, Whatsapp, and other places.&lt;/p&gt;

&lt;p&gt;Remember, saying only "hi" is a waste of everyone's time. People have to come back and forth, and the context-switching is a productivity killer. Lay down the context + questions directly so that it can be digested in one look.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fskydmzvvcpdjzuv8snmu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fskydmzvvcpdjzuv8snmu.png" width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Screenshots from nohello.net&lt;/p&gt;

&lt;h2&gt;
  
  
  👥 Use Team Channels instead of DM
&lt;/h2&gt;

&lt;p&gt;The benefits of using team channels instead of DM:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Everyone in the channel can help&lt;/li&gt;
&lt;li&gt;✅ Someone else who has the same question can get answers as well&lt;/li&gt;
&lt;li&gt;✅ The answer is available in the channel for future reference&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When having a question, it's tempting to go to that person directly by using DM. For example, where to find a certain document, or how to connect to VPN. Dropping a message to your manager or mentor would be the first method that comes into your mind.&lt;/p&gt;

&lt;p&gt;However, using DM has several issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You'll need to wait for that single person's reply.&lt;/li&gt;
&lt;li&gt;Someone else might have the same question.&lt;/li&gt;
&lt;li&gt;People who have the same question in the future will need to ask the same question.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Team channels (either public or private) are for this purpose. They are great for sharing updates, asking questions, and discussing projects.&lt;/p&gt;

&lt;p&gt;Concerned that it's not related to the team? No problem. In larger organizations, there are so many messages everyday. No one really cares if there are more irrelevant messages.&lt;/p&gt;

&lt;p&gt;Unless it's sensitive information, using team channels instead of DM is always better.&lt;/p&gt;

&lt;h2&gt;
  
  
  🕐 Scheduling Messages
&lt;/h2&gt;

&lt;p&gt;When out of working hours, or you know someone is almost clocking out, &lt;strong&gt;use scheduled messages instead!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F11%2FSchedule-Messages-on-Slack.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F11%2FSchedule-Messages-on-Slack.webp" width="724" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Image borrowed from &lt;a href="https://medium.com/the-message-io-dispatch/schedule-messages-on-slack-983682c96704" rel="noopener noreferrer"&gt;Mio&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Schedule the messages and send them in the next morning. You can set a time and send them in the morning. Since they are already off, you cannot get a response, anyway.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Hi! There's something important. I've set up a chat with you next Monday."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I once received this message right after I got off work on a Friday evening from my manager. I kept thinking about it during weekends and could not really relax 😅&lt;/p&gt;

&lt;h2&gt;
  
  
  🏗️ Start with Important Messages
&lt;/h2&gt;

&lt;p&gt;Put your main ideas at the start of your message. This helps readers grasp the key info quickly. This is the writing style of &lt;a href="https://en.wikipedia.org/wiki/Inverted_pyramid_(journalism)" rel="noopener noreferrer"&gt;the inverted pyramid&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can see the difference in the following two different styles:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Inverted Pyramid&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;New Policy: "No Meeting Wednesdays" starts next week.&lt;/strong&gt;&lt;/em&gt;  &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Impact:&lt;/em&gt; &lt;br&gt;
&lt;em&gt;* Protects time for deep work&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;* Improves team productivity&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Regular messages:&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Hi. Recently team members have reported difficulties focusing on deep work, and our productivity metrics show a concerning trend. After discussions, we've concluded that we will start "No Meeting Wednesdays." This policy will take effect starting next week.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Be honest. There's no way people are going to finish the second message. Good message structure &amp;amp; brevity helps teams communicate clearly and efficiently. There is also an insightful article on &lt;a href="https://www.poynter.org/reporting-editing/2003/writing-from-the-top-down-pros-and-cons-of-the-inverted-pyramid/" rel="noopener noreferrer"&gt;Poynter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Even though it is journalism, it applies to any business message. Everyone is busy, and we want readers to understand us right away. We can add details &amp;amp; contexts after the main point.&lt;/p&gt;

&lt;p&gt;Quick recap:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Main message on top&lt;/li&gt;
&lt;li&gt;Use formatting like bold text &amp;amp; bullet points.&lt;/li&gt;
&lt;li&gt;Contexts at the bottom&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  📟 Acknowledgement
&lt;/h2&gt;

&lt;p&gt;When someone messages you in Slack, a quick reply can work very well. Even a simple "Got it" or thumbs-up emoji 👍 shows you've seen the message. This is super helpful in busy channels.&lt;/p&gt;

&lt;p&gt;On the other hand, not replying at all can leave the impression that you have not seen the message yet. This can create confusions for other members especially if you are on a on-call rotation.&lt;/p&gt;

&lt;p&gt;For longer messages, try a brief summary. "I'll look into those three points" tells the sender you've understood. If you need time to respond fully, say so. "I'll get back to you by EOD" sets clear expectations.&lt;/p&gt;

&lt;p&gt;💡 Bonus tip: use Slack reminders if you need to come back to the message later.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frli3v93h6cegco85ma09.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frli3v93h6cegco85ma09.png" width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔄 Follow-Up Messages
&lt;/h2&gt;

&lt;p&gt;What if someone is not replying to your messages? &lt;strong&gt;Do follow-up.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;"Hi. Could you take a look at me previous message?"&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;"Gentle bump"&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;"Ping"&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anything is ok as long as it's friendly.&lt;/p&gt;

&lt;p&gt;Some people might be concerned to be "too buggy". Here is my guideline of how much time we should wait before we do a follow-up messages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Regular messages&lt;/strong&gt;: 18-24 hours&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Urgent messages&lt;/strong&gt;: 20-30 minutes if you are certain that the person is present&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everyone is busy, and it's important to do follow-up once in a while if we want to get things done properly.&lt;/p&gt;

&lt;p&gt;💡 Pro tip: Save that message to "later" list so that you remember you're waiting.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔒 No PII
&lt;/h2&gt;

&lt;p&gt;When using Slack, it's crucial to handle &lt;a href="https://www.ibm.com/topics/pii" rel="noopener noreferrer"&gt;Personally Identifiable Information (PII)&lt;/a&gt; with care.&lt;/p&gt;

&lt;p&gt;The principle is that: &lt;strong&gt;no PII should be posted in public channels&lt;/strong&gt;. PII includes customer name, phone number, home address, etc.&lt;/p&gt;

&lt;p&gt;Big companies usually have guidelines about how to handle PII on Slack. However, if you're in a company with no such guideline, don't do it either. It will come back and bite you one day.&lt;/p&gt;

&lt;p&gt;With the rise of privacy awareness, companies usually regulate the access to PIIs, and one day they will require the team to either remove those PII or change the channel access to private. It's a headache if it has not been handled with care.&lt;/p&gt;

&lt;h2&gt;
  
  
  👓 Using TL;DR
&lt;/h2&gt;

&lt;p&gt;With &lt;a href="https://slack.com/intl/en-gb/blog/news/slack-ai-has-arrived" rel="noopener noreferrer"&gt;Slack AI&lt;/a&gt;, it's now a lot easier to read a summary of the messages. However, if you're posting a long message, it's still better to have a TL;DR at top as a summary. It helps readers to understand the key points.&lt;/p&gt;

&lt;p&gt;Here is an example:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F11%2FGuide-to-Slack.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F11%2FGuide-to-Slack.webp" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Example of TL;DR on Slack from &lt;a href="https://medium.com/@aberete/a-guide-to-slack-f1443b4e30d5" rel="noopener noreferrer"&gt;Adama Berete&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By checking TL;DR, readers will know that whether the information is relevant, and they can choose to skip the rest of it or not.&lt;/p&gt;

&lt;p&gt;Also, TL;DR isn't just for long messages. Use it for meeting notes, project updates, or any communication that might be time-consuming to read in full.&lt;/p&gt;

&lt;h2&gt;
  
  
  Last Words
&lt;/h2&gt;

&lt;p&gt;As always, if you find it helpful, please consider subscribe or follow me on &lt;a href="https://linkedin.com/in/adlerhsieh" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;This post was originally posted at &lt;a href="https://adlerhsieh.com/8-slack-tips-every-tech-team-should-know" rel="noopener noreferrer"&gt;adlerhsieh.com&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Become a Software Engineering Manager in 2024: An Essential Guide</title>
      <dc:creator>Adler Hsieh</dc:creator>
      <pubDate>Sat, 09 Nov 2024 02:30:06 +0000</pubDate>
      <link>https://dev.to/adler_hsieh/how-to-become-a-software-engineering-manager-in-2024-an-essential-guide-36kk</link>
      <guid>https://dev.to/adler_hsieh/how-to-become-a-software-engineering-manager-in-2024-an-essential-guide-36kk</guid>
      <description>&lt;p&gt;If you are a Software Engineer interested in transitioning to an Engineering Manager position, you are in the right place!&lt;/p&gt;

&lt;p&gt;We're here to demystify that process. Discover the skills we'll need and the mindset shift essential for success. Whether deep in code or already mentoring peers, this guide is our first step toward leadership. Let's explore how to become an engineering manager without the fluff – just the facts we need.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Key Takeaways&lt;/strong&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;We don't need a proper degree to be a Software Engineering Manager (but it's a plus if we have one). Skills and experience are more important.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is easier to transition to an Engineering Manager role within the organization. Look for internal opportunities.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Before seeing any transition opportunity, we prepare ourselves by gaining more software engineering experience, finding leadership opportunities, and demonstrating a proactive mindset and management capabilities.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Identifying the gap between our current and an Engineering Manager position is also essential. Understand the process and requirements. Use those requirements (if there are any) to build a strong track record. It makes us stand out when the opportunity arises.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Identifying the Requirements of Engineering Managers&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9w0my06khxmet52yjh2e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9w0my06khxmet52yjh2e.png" alt="Diverse team collaborating on a project" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First, let's define our end goal. We want to be qualified as an Engineering Manager. However, there are specific skills required for this position. Unlike software engineers, every company has a different definition for the role of Engineering Managers. Some require specific technical skills, such as blockchain, and some need the role to do hands-on coding. However, the following are the essential skills and experience required by most positions:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Strategic Thinking and Problem Solving&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;These skills are very similar to working on technical projects, but one key difference is that engineering managers work on people and organizational problems.&lt;/p&gt;

&lt;p&gt;Strategy thinking and problem-solving involve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identifying the problem (&lt;strong&gt;this is the key!&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Finding multiple solutions and knowing their tradeoffs&lt;/li&gt;
&lt;li&gt;Making a decision&lt;/li&gt;
&lt;li&gt;Getting feedback and adjusting executions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One classic example of problem-solving is handling low performers. The most straightforward way to resolve this is to jump right into the solutions. However, it's equally important to understand the problem first.&lt;/p&gt;

&lt;p&gt;Consider David's example: David is assigned the development task of adding the payment function on the checkout page. It takes him one week, and there is almost zero progress. Colleagues complain that David is not making progress. As managers, how should we cope with this situation?&lt;/p&gt;

&lt;p&gt;A premature manager might rush to find a solution, asking David to speed up, pass the task to another member, or check for any motivation issues.&lt;/p&gt;

&lt;p&gt;However, a sound engineering manager would sit down with David and see how he navigates through the problem. He might find that there needs to be more documentation on the checkout page codebase, and it's challenging for David to move forward without understanding the codebase. Thus, the problem is not on David anymore. Adding more documentation to the codebase is the issue. A problem-solving skill like this is essential to distinguish between a Software Engineer and an Engineering Manager.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;People Management&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;For engineering managers, people management is a balancing act that involves&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aligning individual goals with the objectives of the team and project&lt;/li&gt;
&lt;li&gt;Building trust&lt;/li&gt;
&lt;li&gt;Understanding personal career goals through regular one-to-one meetings&lt;/li&gt;
&lt;li&gt;Encouraging and providing growth opportunities&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Project Management&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Project management is an overlapping area with the Product/Project Manager role. However, Engineering Managers are usually required to have the same sensitivity and skills in project management to move the project forward.&lt;/p&gt;

&lt;p&gt;Good project management skills include choosing the right tools and patterns for the development process. For example, everyone loves Scrum and Agile methodology, but only some teams can implement 100% scrum patterns. Some projects use a Kanban method, some use 2-week sprints, and most don't use story points. Managers oversee the process and find the best approach for the team to move forward.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Technical Expertise&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Although many engineering managers no longer need to code, they should still be skilled in technical skills. Most managers still need to understand the domain and the technology to make the right decisions when facing problems.&lt;/p&gt;

&lt;p&gt;For example, if the engineering team has a problem choosing whether to build their new entity in service A or B, managers should be able to jump in and make the call for the team. To do this, managers need to know what questions to ask (e.g., which approach is faster and whether it provides better system stability) and what technical debts might emerge when using different approaches.&lt;/p&gt;

&lt;p&gt;On the other hand, if we are managers that need to code, technical skills would be required.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How to Become an Engineering Manager?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F41zo2c0wvy35a7580ynk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F41zo2c0wvy35a7580ynk.png" alt="Qualifications for engineering manager promotion" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Transitioning from a hands-on software engineer to an engineering manager can be challenging but rewarding. This shift often requires technical skills, a change in mindset, and the development of a new set of skills.&lt;/p&gt;

&lt;p&gt;These are some aspects I consider essential:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Internal or External Opportunities?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When considering a move to a management role, it's important to note that companies often prefer promoting from within rather than hiring external candidates because management abilities are more challenging to assess in an interview than technical skills. Therefore, it's usually more feasible to aim for a managerial position at our current workplace before looking elsewhere.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Finding Out The Recommendation Process&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The transition from a Software Engineer to an Engineering Manager within an organization typically involves a recommendation process, necessitating a set of specific qualifications. These qualifications range from rigid criteria, such as job level, to soft qualifications, like the ability to resolve conflicts.&lt;/p&gt;

&lt;p&gt;Software Engineers usually need to be made aware of these criteria. It's best to talk to an Engineering Manager to understand the responsibilities, requirements, and recommendation process. Every organization has a different process.&lt;/p&gt;

&lt;p&gt;After finding the recommendation process, we could talk to our manager to set up a career plan.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Build a Leadership Track Record&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Gaining several years of experience in software development is generally a prerequisite before considering a managerial role. Some say having a bachelor's or master's degree is more advantageous, but I don't think it's necessary.&lt;/p&gt;

&lt;p&gt;Being in the same organization for a while could also contribute to a good leadership track record. It allows us to understand the technical aspects of the job, the challenges faced by our team, and the processes involved in the project lifecycle. During this period, it's also essential to cultivate soft skills, such as communication and teamwork. As software engineers, we rarely have opportunities to manage people directly. However, having other leadership responsibilities, such as leading cross-team communications or process revamping, would be a big plus for this track record.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How to Build Leadership Track Records as a Software Engineer?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqvp1twtug7je0frkz2rt.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqvp1twtug7je0frkz2rt.jpeg" alt="chess, board game, chessboard" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The opportunities to transition to Engineering Managers are usually less than expected. We want to be ready when they arise. We can achieve this by seeking leadership opportunities, learning from engineering leaders, and gaining experience outside our current organization.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Taking Leadership Opportunities When Possible&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;To prepare for a management role as a software engineer, seek out leadership opportunities within our team. Some examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Taking the lead on a big project&lt;/strong&gt;: Be that person to take the lead and gain experience by communicating with multiple team members, finding a solution that stakeholders are happy about, and delivering the result through teamwork.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mentoring junior team members&lt;/strong&gt;: It could be in a casual form where we always reply to their messages on Slack or in meetings. It could also be arranging regular check-ins with them to see how things go.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proposing and implementing a new process&lt;/strong&gt;: Basic agile approaches such as daily standup, retrospective meetings, or technical processes, including CD or load testing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leading by example to build a healthy team culture&lt;/strong&gt;: There are &lt;a href="https://relevant.software/blog/build-winning-engineering-culture/" rel="noopener noreferrer"&gt;many theories and practical steps&lt;/a&gt; to creating a good engineering culture in the team. Find the improvement points, discuss them with our manager, and implement them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Observing and Learning from Engineering Leaders&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;We can learn insights into effective management practices from experienced engineering managers. Here are some steps we can take to learn from them and progress in our careers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Engage in high-visibility projects to provide opportunities to observe and learn from experienced engineering managers.&lt;/li&gt;
&lt;li&gt;Don't hesitate to contact them and express our interest in transitioning to a managerial role.&lt;/li&gt;
&lt;li&gt;Seek their advice on progressing in our careers.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Gaining Experience Outside of the Organization&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Note that in most organizations, leadership experience outside the organization is usually disregarded in our track record. However, the point of gaining such experience outside the organization is to learn and practice leadership skills for similar situations inside the organization. Some examples include:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Leadership Programs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Participating in a short-term course (&lt;a href="https://professional.mit.edu/course-catalog/engineering-leadership-emerging-leaders" rel="noopener noreferrer"&gt;example&lt;/a&gt;) or program could enhance our understanding of leadership experience. These experiences are organized as learning materials so we can absorb them quickly (i.e., there is no need to reinvent the wheel!).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Working with a career coach&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If we ever feel lost in our pursuit of a management position, aside from talking to our manager, it's also helpful to find a career coach to work with. If you're unfamiliar with the concept, career coaching is a series of one-on-one sessions where we work with our coach to define our goals, identify gaps, and create an action plan. It's a very similar process to working with our manager.&lt;/p&gt;

&lt;p&gt;However, the difference from doing it with our manager is that sometimes our manager has their agenda. Some managers want to achieve specific goals, so they may not prioritize our career goals. This situation is more common in smaller organizations where resources are limited. Working with a career coach ensures they are 100% devoted to helping us achieve our career goals (partially because career coaching is quite expensive 💸).&lt;/p&gt;

&lt;p&gt;Despite going for career coaching, an ideal scenario is having a good manager willing to help and support us in our career path. I hope that is true in all cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Make Ourselves Standout when Opportunities Arise&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ci13i5ra7gss3ei0ux5.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ci13i5ra7gss3ei0ux5.jpeg" alt="work, working, group" width="640" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When opportunities present themselves, it is essential to make ourselves stand out from the crowd. Establishing a strong track record in people and team management, engineering project management, and developing a strong professional network are key to distinguishing ourselves in the field.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Track Record in People and Team Management&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Possessing a solid track record in people and team management signals our readiness for an engineering management role. Keeping a record of achievements that match the requirements of an engineering manager can be beneficial.&lt;/p&gt;

&lt;p&gt;Sometimes, it is not very clear which achievements we are after. In principle, we want to have supporting materials that help them understand that we have the core skills of engineering managers. Some good examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Lead the team to create the team OKR for the next year&lt;/strong&gt;: This is usually the Engineering Manager's task, but from my experience, they are usually open to letting someone else do it for them. Ask them for this opportunity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lead a complex discussion and find the best solution&lt;/strong&gt;: In technical discussions, team members may have different opinions. It would be helpful to write down a specific discussion, listing all possible solutions suggested by different members and how we successfully found the best solution.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It has to be in written form so that it is presentable to those who have impacts during the recommendation process. Our manager might be able to do it, too, but we know our track record best.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Developing a Leadership Network&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A robust professional network can prove invaluable when preparing for transitioning to a managerial role. Establishing relationships and being seen by senior and successful individuals can lead to being perceived as a peer among high-level professionals.&lt;/p&gt;

&lt;p&gt;I suggest reaching out to different engineering leaders in the organization to casually talk about their experience in moving to the management path and whether they have any suggestions for us. This will leave an impression on our motivation to move to the management path, and it could work as a reminder when opportunities arise.&lt;/p&gt;

&lt;p&gt;It would be even better to have regular check-ins with leaders closely working with us on specific projects. This way, we enhance our motivation in their mind and get practical suggestions on improving our leadership skills.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Ask for Them when Opportunities Arise&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Once we have a well-connected professional network, it is natural for someone in the network to think of us when an opportunity arises. However, everyone has a lot on their plate, so we have to be active in this process. As soon as we hear anything, it's critical to express our interest.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Summary&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To wrap things up, the leap from being a software engineer to an engineering manager is a whole new game. It's about more than just coding; it's about learning new skills, stepping up to lead, and being ready to take charge when the time comes. Yes, it's a tough climb, but it's also the kind of challenge that can be incredibly fulfilling for those who are up for it. Every Engineering Manager began their career somewhere, and with the right strategy, that starting point could very well be where we are right now.&lt;/p&gt;

&lt;p&gt;So, if we want to make that shift, start by plotting our course and actively seeking out leadership roles, even small ones. Build up skills in managing projects and people. And remember, it's about being proactive—don't wait for opportunities to find us; go out and grab them. With determination and a clear focus on our goals, we can transition from the world of software engineering into management and leadership.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Frequently Asked Questions&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy636e94njngb2282w499.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy636e94njngb2282w499.jpeg" alt="question mark, important, sign" width="640" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What degree or experience do we need to be a software engineering manager?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;An engineering manager typically requires 5+ years of experience in software engineering. A degree is entirely optional. Skills are more important than having a degree. The vital part is possessing the skill set that the organization requires from an Engineering Manager. Nevertheless, a relevant degree would lay a good foundation for demonstrating essential skills, such as problem-solving and stakeholder communication.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Is it easier to transition to a management role within my current organization or to seek opportunities elsewhere?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;It is generally easier to transition to a management role within our current organization before seeking opportunities elsewhere. Transitioning within the organization allows us to leverage our existing experience and network. Also, organizations don't usually hire someone as an Engineering Manager without prior leadership experience (a Tech Lead role might count).&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How do I become an Engineering Manager without any Software Engineer experience?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;An engineering manager's job is essentially managing a group of software engineers, so performing well would be very challenging if we did not understand the technical knowledge, working patterns, and challenges. We have already seen so many Software Engineers complaining about the ignorance of Product Managers if they lack experience in software development. Having software development experience is almost always a requirement for Engineering Managers.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How can I stand out when opportunities for a managerial role emerge?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;To stand out when opportunities for a managerial role emerge, focus on building a solid track record in people and team management, engineering project management, and developing a professional network. Write these down to match the requirements of the management role's responsibilities. This will help us distinguish ourselves in front of our manager and those who evaluate us.&lt;/p&gt;

</description>
      <category>career</category>
      <category>engineeringmanager</category>
      <category>leadership</category>
    </item>
    <item>
      <title>Mastering Engineering Manager Interviews: The 6 Resources I Use to Land My EM Jobs</title>
      <dc:creator>Adler Hsieh</dc:creator>
      <pubDate>Thu, 07 Nov 2024 08:27:42 +0000</pubDate>
      <link>https://dev.to/adler_hsieh/mastering-engineering-manager-interviews-the-6-resources-i-use-to-land-my-em-jobs-3k0n</link>
      <guid>https://dev.to/adler_hsieh/mastering-engineering-manager-interviews-the-6-resources-i-use-to-land-my-em-jobs-3k0n</guid>
      <description>&lt;p&gt;Are you ready to take the next step in your career as a software engineering manager? Facing an interview for this role can feel intimidating, but there's a method to mastering it. Understanding how to navigate both the technical and behavioral aspects of the interview is key to standing out.&lt;/p&gt;

&lt;p&gt;To help make the preparation process more straightforward, we’ve compiled ten essential resources along with practical tips to focus on key areas! With the right tools and knowledge, we can enter interviews feeling confident and ready to make an impact!&lt;/p&gt;

&lt;h2&gt;
  
  
  What to Expect: Interview Question Types
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fapido87bkqm014u5rx1a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fapido87bkqm014u5rx1a.png" width="800" height="622"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  1. &lt;strong&gt;Coding Interview&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;While not all engineering managers are expected to code regularly, these interviews ensure that we can engage in technical discussions with our team. Typical questions focus on algorithms, data structures, and problem-solving techniques. It’s beneficial to prepare by reviewing coding platforms such as LeetCode to practice writing clear, efficient code. Our goal should be to demonstrate that we are capable of guiding technical decisions and offering meaningful feedback to our teams.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implement a function to find the shortest path in a graph.&lt;/li&gt;
&lt;li&gt;Write a program to sort a list of numbers using merge sort.&lt;/li&gt;
&lt;li&gt;Given a string, find the longest substring without repeating characters.&lt;/li&gt;
&lt;li&gt;Design a stack that supports push, pop, and retrieving the minimum element in constant time.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2. &lt;strong&gt;System Design Interview&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;These interviews focus on how we approach designing complex systems, considering factors like scalability, performance, reliability, and security. We may be asked to design a high-level architecture for a given application or solve a specific problem, such as handling high traffic or ensuring data consistency. Our approach should include breaking down the problem, outlining our design choices, and explaining trade-offs. This type of interview helps showcase our ability to think strategically and translate business requirements into technical solutions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Design a URL shortening service like Bit.ly. Consider data storage, API endpoints, and system scalability.&lt;/li&gt;
&lt;li&gt;Create a high-level architecture for an e-commerce website. How would you handle inventory management, user authentication, and payment processing?&lt;/li&gt;
&lt;li&gt;How would you design a distributed caching system to improve the performance of a read-heavy application?&lt;/li&gt;
&lt;li&gt;Design a notification system that can handle millions of users receiving real-time updates.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  3. &lt;strong&gt;Technical Interview: Technical Questions &amp;amp; Experience&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;The technical interview is distinct from the coding or system design segments and is more focused on evaluating our overall technical expertise and experience. This could involve discussing our past projects, our knowledge of various tools and frameworks, and how we’ve applied technology to solve complex challenges. Questions may touch on specific technologies we have worked with, architectural patterns, or our understanding of software development best practices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What are its benefits and drawbacks compared to monolithic systems vs micro-service architectures?&lt;/li&gt;
&lt;li&gt;Describe a challenging technical problem you encountered in a past project and how you resolved it.&lt;/li&gt;
&lt;li&gt;How do you ensure the quality and scalability of the software your team builds?&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  4. &lt;strong&gt;Behavioral Interview &amp;amp; Leadership Interview&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Behavioral and leadership interviews are designed to evaluate our management style, problem-solving approach, and ability to lead teams effectively. It's the core part of the interviews for management positions.&lt;/p&gt;

&lt;p&gt;For behavioral questions, &lt;strong&gt;they often use questions that start with “Tell me about a time when…” and focus on past experiences&lt;/strong&gt;, including conflict resolution, motivating teams, or managing stakeholders.&lt;/p&gt;

&lt;p&gt;For leadership questions, the emphasis is on our ability to build and maintain strong, high-performing teams. &lt;strong&gt;It’s helpful to use structured frameworks like the STAR (Situation, Task, Action, Result) method to answer these questions&lt;/strong&gt;, ensuring that we clearly outline the context, our approach, and the impact of our actions. Preparing concrete examples that demonstrate our leadership principles and management style will allow us to highlight our strengths and establish our credibility as an engineering leader.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tell us about a time when you had to manage conflict between team members. How did you resolve it?&lt;/li&gt;
&lt;li&gt;Describe a project where you had to balance technical debt against the need for new features. How did you prioritize?&lt;/li&gt;
&lt;li&gt;How do you provide feedback to team members who are underperforming or need improvement?&lt;/li&gt;
&lt;li&gt;Can you share an example of how you influenced a major technical or business decision without having direct authority?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Six Essential Resources
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Video Course Platform:&lt;/strong&gt; &lt;a href="https://www.tryexponent.com" rel="noopener noreferrer"&gt;&lt;strong&gt;Exponent&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;(Paid)&lt;/strong&gt;
Exponent is a platform that offers resources and guidance for preparing for interviews in various technical and management roles. I took their &lt;a href="https://www.tryexponent.com/courses/engineering-management" rel="noopener noreferrer"&gt;EM prep course&lt;/a&gt; and I found some piece of knowledge very valuable. It's also my first materials for preparation so it has a very comprehensive guideline of how to start the preparation in each part.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interview Guideline Book&lt;/strong&gt; &lt;a href="https://www.amazon.com/Software-Engineering-Manager-Interview-Guide-ebook/dp/B0BTBJZMVH" rel="noopener noreferrer"&gt;&lt;strong&gt;"The Software Engineering Manager Interview Guide" by Vidal Graupera&lt;/strong&gt;&lt;/a&gt;
I would say this is the Bible during my Engineering Manager interview preparation process. The content is highly practical and focuses on real-world scenarios and best practices. Without exposing too much details, I would recommend everyone who is doing the preparation to take a look. You can check &lt;a href="https://www.youtube.com/watch?v=CJVpg4enHPA" rel="noopener noreferrer"&gt;this mock interview video&lt;/a&gt; with the author on Exponent to get his insights.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Video Course Platform:&lt;/strong&gt; &lt;a href="https://www.algoexpert.io" rel="noopener noreferrer"&gt;&lt;strong&gt;AlgoExpert.io&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;(Paid)&lt;/strong&gt;
AlgoExpert is a platform offering video (mostly) courses on technical &amp;amp; behavioral interviews. The content is mostly duplicate with the previous materials but they have their own way to explain the same problems and questions. I personally find them easier to digest than on LeetCode or System Design Interview. It's not free, but we probably only need one or two months to digest most resources on this platform.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coding Interview Practice Platform:&lt;/strong&gt; &lt;a href="https://leetcode.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;LeetCode&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;(Freemium)&lt;/strong&gt;
LeetCode is one of the most popular platforms for practicing coding problems. Start from the easy questions LeetCode to brush up on coding basics, and gradually move on to the medium questions. It's going to be overwhelming at first even for the easy questions, but we'll usually start to be able to keep up. Spend 10-20 minutes a day for this. We'll see the progress. I personally would suggest focus on &lt;a href="https://leetcode.com/studyplan/top-interview-150/" rel="noopener noreferrer"&gt;the top 150 problems&lt;/a&gt; that are the most fundamental for any type of questions.Books and Courses&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coding Interview Book:&lt;/strong&gt; &lt;a href="https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850" rel="noopener noreferrer"&gt;&lt;strong&gt;"Cracking the Coding Interview" by Gayle Laakmann McDowell&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;(Paid)&lt;/strong&gt;
I personally didn't use this, but it is highly recommended by a lot of online platforms. It provides guidance on how to approach technical interviews with an eye on clarity and communication, which are the skills important for both engineering managers and individual contributors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;System Design Book:&lt;/strong&gt; &lt;a href="https://www.amazon.com/System-Design-Interview-Insiders-Guide/dp/B08CMF2CQF" rel="noopener noreferrer"&gt;&lt;strong&gt;"System Design Interview - An Insider's Guide" by Alex Xu&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;(Paid)&lt;/strong&gt;
This book is a must-read for anyone preparing for system design interviews. It goes beyond the basics and dives deep into large-scale distributed system design, providing examples that closely mirror real-world interview questions. It's helpful not only for interviews, but for training a systematic approach to problems in our daily workflow as IC or EM as well.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Preparing for the Upcoming Interview
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft2c48im82szndi58l9ax.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft2c48im82szndi58l9ax.png" width="800" height="553"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When getting ready for a software engineering manager interview, it's important that we focus on understanding the job role, researching the company thoroughly, and clarifying the process with recruiters. Let's break down these steps to ensure success.&lt;/p&gt;

&lt;h3&gt;
  
  
  Understand the Job Description
&lt;/h3&gt;

&lt;p&gt;When applying for an Engineering Manager (EM) role, it's essential to thoroughly analyze the job description to understand the unique expectations. Here’s how to approach it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Identify Management vs. Technical Responsibilities&lt;/strong&gt;: Some EM roles are purely focused on people management, mentorship, and strategic oversight. Others require us to be hands-on, contributing code and actively participating in the technical development process.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope of Technical Leadership&lt;/strong&gt;: Certain positions emphasize cross-functional leadership, where we’re expected to manage teams across the full stack (frontend, backend, and sometimes DevOps). Others might require domain-specific leadership, such as being a specialist in either Frontend (FE) or Backend (BE) development.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Understand the Team’s Needs&lt;/strong&gt;: We should look for phrases like “full-stack leadership” or “deep knowledge of FE/BE technologies” to gauge whether the role is broad or specialized. It’s important to determine if the job description mentions specific tech stacks or methodologies, as these details signal what the team values in a technical leader.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailor Our Application&lt;/strong&gt;: We should highlight experiences and achievements that align with the role’s requirements, whether that’s managing diverse engineering teams or driving hands-on technical projects. Our resume and cover letter should reflect our adaptability, technical expertise, and strategic vision as required by the role.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Breaking down the job description this way ensures you present yourself as the right fit, showing a clear understanding of the company’s specific needs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Research the Company
&lt;/h3&gt;

&lt;p&gt;Knowing about the company is just as vital. We would want to dive into the company's mission, values, and culture. This information gives insights into whether our own values match and how we can contribute to their goals.&lt;/p&gt;

&lt;p&gt;A practical step is looking into recent projects or technologies they focus on. Understanding their products and innovations helps us tailor our discussions, showing how we fit into their future plans. Exploring their challenges and how our &lt;strong&gt;unique skills&lt;/strong&gt; can address them gives us a competitive edge.&lt;/p&gt;

&lt;h3&gt;
  
  
  Clarify the Process with the Recruiters/HR
&lt;/h3&gt;

&lt;p&gt;Let’s ensure we have a clear grasp of the interview process. Usually, there is a recruiter or HR representative when setting up the interviews. There might also be a casual chat session. Here are some questions I would clarify when talking to recruiters or their HR:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Understand the Interview Stages&lt;/strong&gt;: We should ask the recruiter for a detailed overview of the interview stages and what each step involves. This includes finding out if the process will include coding tests, system design interviews, behavioral rounds, or panel interviews.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clarify the Evaluation Criteria&lt;/strong&gt;: It’s important to clarify what skills and experiences will be evaluated at each stage. I usually go with the question: "what does a successful candidate look like for this role?"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Confirm the Participants and Roles&lt;/strong&gt;: We should ask who will be involved in each round. Knowing whether we’ll be speaking with other managers, senior engineers, or HR will help us tailor our responses. For example, if the interview involves cross-functional partners like Product Managers or Designers, we should be prepared to showcase our collaboration and cross-team communication skills.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check for Pre-Interview Materials&lt;/strong&gt;: Inquire whether there are any specific resources or preparation materials provided for candidates, such as case studies or coding challenges. Some companies may offer a prep guide or outline key focus areas, which can be invaluable for targeted preparation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Other Tips for Preparations
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fftq4yfl5a8t0yx9htzpa.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fftq4yfl5a8t0yx9htzpa.jpg" width="800" height="524"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Preparing for a software engineering manager interview takes more than technical knowledge. Practice, mindset, and understanding the interview process are key. Let’s explore some effective practices to give us an edge.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mock Interviews &amp;amp; Practice
&lt;/h3&gt;

&lt;p&gt;Engaging in mock interviews can greatly improve our chances of success. By simulating real interview scenarios, we become more familiar with what to expect and gain confidence. We should set up these practice sessions with peers or mentors who can provide constructive feedback.&lt;/p&gt;

&lt;p&gt;Practicing answers to common questions sharpens our responses. Resources like &lt;a href="https://interviewprep.org/software-engineering-manager-interview-questions/" rel="noopener noreferrer"&gt;software engineering manager interview questions&lt;/a&gt; can be valuable. Focusing on clarity and conciseness helps us communicate effectively, which is crucial for a manager's role. Recording these sessions can also help us find areas for improvement.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dos and Don’ts During the Interview
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Dos&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Discuss Real-World Scenarios&lt;/strong&gt;: Use specific examples to illustrate our management style and problem-solving approach. Using the STAR approach would be a good idea.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask Thoughtful Questions&lt;/strong&gt;: Toward the end of the interview, use the opportunity to ask questions that show our genuine interest in the company’s team structure, culture, and challenges.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be Honest About Challenges&lt;/strong&gt;: When discussing past experiences, be honest about challenges you faced and how you overcame them. This demonstrates our ability to handle setbacks and find solutions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Don’ts&lt;/strong&gt;:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Don’t Give Generic Responses&lt;/strong&gt;: Avoid vague answers like “I manage teams effectively.” Instead, provide detailed, context-rich examples that highlight specific actions and results you achieved in our previous roles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don’t Skip Behavioral Questions&lt;/strong&gt;: Some candidates neglect to prepare for behavioral questions, thinking their technical experience is sufficient. Instead, practice behavioral questions about leadership, teamwork, and handling difficult situations to round out our interview performance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don’t Shy Away from Discussing Failures&lt;/strong&gt;: A common mistake is avoiding questions about projects that didn’t go well. Being open about failures and what we learned from them shows resilience and a growth mindset, which are valued traits in engineering leadership.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Preparing for the interview can be challenging, but by focusing on key areas such as coding, system design, and behavioral skills, we can approach it with confidence. The process is not just about showcasing our skills but also about demonstrating how we can align with the company’s vision and support the team’s growth.&lt;/p&gt;

&lt;p&gt;By understanding the job requirements, researching the company, and clarifying the interview process, we’ll be well-prepared to present ourselves as well-rounded candidates ready to take on the challenges of leading high-performing engineering teams. Our path to mastering these interviews involves understanding our strengths and presenting them clearly.&lt;/p&gt;

&lt;p&gt;Let me know if you have any questions! Feel free to drop a comment or send me a message to see if I can help!&lt;/p&gt;




&lt;p&gt;This post was originally published at &lt;a href="https://www.adlerhsieh.com/mastering-engineering-manager-interviews-the-5-resources-i-use-to-land-my-em-jobs/" rel="noopener noreferrer"&gt;adlerhsieh.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>management</category>
      <category>interview</category>
      <category>career</category>
    </item>
    <item>
      <title>Effectively Onboarding Software Engineer Contractors: A Smooth Start</title>
      <dc:creator>Adler Hsieh</dc:creator>
      <pubDate>Wed, 06 Nov 2024 12:13:25 +0000</pubDate>
      <link>https://dev.to/adler_hsieh/effectively-onboarding-software-engineer-contractors-a-smooth-start-fp3</link>
      <guid>https://dev.to/adler_hsieh/effectively-onboarding-software-engineer-contractors-a-smooth-start-fp3</guid>
      <description>&lt;p&gt;Bringing software engineer contractors onto the team is a great way to speed up project development. They usually equip with skills that we need, and they are ready to do it. With a proper plan, it can be a great tool to the business. In this article, we’ll go over the best practices to onboard contractors based on my experience.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Key Takeaways&lt;/strong&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;A structured onboarding process/plan helps contractors integrate smoothly and start contributing faster.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Setup a feedback loop to help moving the process faster, as well as making a decision on whether we should keep these contractors. Use performance metrics to support those decisions.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Utilize tools to speed up the onboarding process such as documentations &amp;amp; automated tools. This ensures good product quality when new contractors join the team.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Managing Contractors vs. Permanent Members
&lt;/h2&gt;

&lt;p&gt;Working with contractors and permanent employees are very different. &lt;a href="https://solutionstream.com/blog/the-pros-and-cons-of-hiring-contractors-vs-full-time-employees-for-software-development" rel="noopener noreferrer"&gt;This article&lt;/a&gt; describes well on the difference, and here is a summary.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzyjjiys95qz14b26jt5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzyjjiys95qz14b26jt5.png" width="800" height="575"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Flexibility vs. Stability
&lt;/h3&gt;

&lt;p&gt;Contractors offer us great flexibility. We can bring them in for specific projects or to fill skill gaps. This helps our engineering teams stay agile and adapt to changing needs. When there is a big project coming in, we bring more members in; on the other hand, we keep a smaller them when we are only working on smaller projects.&lt;/p&gt;

&lt;p&gt;Permanent staff give us more stability. They stick around longer and really get to know our systems. This can be great for long-term projects/products. Most IT companies hope to work on long-term products.&lt;/p&gt;

&lt;p&gt;We often find that a mix works best. Contractors can jump in to tackle new tech or tight deadlines. Permanent folks keep things running day-to-day. The proportion can be tricky, but I would recommend keeping around only 10%-20% contractors. Too many contractors will add instability to the team.&lt;/p&gt;

&lt;h3&gt;
  
  
  Onboarding Differences
&lt;/h3&gt;

&lt;p&gt;Getting contractors up to speed is different from permanent hires. We need to move faster. Here's a quick comparison:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Contractors&lt;/strong&gt;: Brief overview, focus on project specifics&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Permanent&lt;/strong&gt;: Deeper dive into company culture, long-term goals&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We make sure contractors get the key info they need to start coding ASAP. For permanent staff, we take more time to build strong connections.&lt;/p&gt;

&lt;p&gt;Junior engineers often need extra support, no matter their status. We pair them with &lt;a href="https://www.adlerhsieh.com/5-tips-for-becoming-a-senior-software-developer/" rel="noopener noreferrer"&gt;senior engineers&lt;/a&gt; when we can.&lt;/p&gt;

&lt;h3&gt;
  
  
  Communication &amp;amp; Engagement
&lt;/h3&gt;

&lt;p&gt;Keeping everyone in the loop is crucial. We use different strategies for contractors and permanent members.&lt;/p&gt;

&lt;p&gt;With contractors, we focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clear project goals&lt;/li&gt;
&lt;li&gt;Regular check-ins&lt;/li&gt;
&lt;li&gt;Specific task assignments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For permanent staff, we also need to discuss:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Long-term career discussions&lt;/li&gt;
&lt;li&gt;Involvement in team initiatives&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, it does not mean that we don't discuss careers with contractors. In my experience, most contractors are eager to grow in their career as well, but for practical reasons, staying in an contractor agency is the most reasonable choice for them. It's best to clarify with them whether they are looking for long-term career growth as well. &lt;strong&gt;Mixing some career-related discussions in the communication with contractors can contribute to stronger bonding.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Performance Management
&lt;/h3&gt;

&lt;p&gt;Tracking performance looks different for each group.&lt;/p&gt;

&lt;p&gt;For contractors, we usually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set clear milestones&lt;/li&gt;
&lt;li&gt;Do frequent project-based reviews&lt;/li&gt;
&lt;li&gt;Focus on deliverables&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With permanent staff, we:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have regular performance reviews&lt;/li&gt;
&lt;li&gt;Set long-term growth goals&lt;/li&gt;
&lt;li&gt;Look at team contributions beyond just code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Our hiring managers play a big role here. They help make sure everyone's on track, whether they're with us for a few months or the long haul.&lt;/p&gt;

&lt;p&gt;There is an exception that if contractors are interested in contribute beyond code, make a plan to do it. For example, if a member is interested in creating a technical debt list and try to eliminate the debts, work with the team to see if there's any opportunity for that member to do it. I would recommend allowing them to try. It's a positive sign that they are able to contribute what we usually only expect permanent employees to do.&lt;/p&gt;

&lt;p&gt;However, we want to make sure that they are not contributing "too much". One trait with contractors is that, comparing with permanent members, they might be removed from the team for any reason. We want to ensure that core responsibilities in the team are still handled by or shared with permanent members, in order to avoid &lt;a href="https://www.adlerhsieh.com/4-tips-to-avoid-bus-factors-and-have-better-software-maintainability/" rel="noopener noreferrer"&gt;bus factors&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Preparing For Onboarding
&lt;/h2&gt;

&lt;p&gt;Getting ready for contractor onboarding takes some planning. We need to set clear goals, define needed skills, and establish a trial period. These steps help ensure a smooth start for new developers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9haphpsacazxcbcc22aw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9haphpsacazxcbcc22aw.png" width="800" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Define Clear Goals &amp;amp; Schedules
&lt;/h3&gt;

&lt;p&gt;We should start by outlining what we want to achieve with our new software engineer contractor. Let's create a list of specific projects or tasks we need help with. This gives our contractor a clear direction from day one.&lt;/p&gt;

&lt;p&gt;We also need to set realistic deadlines. A schedule helps everyone stay on track. We can use a simple table to lay out key milestones. For example:&lt;/p&gt;

&lt;p&gt;The schedule can be flexible, but remember to review the progress at the end of each period. Write down what went well, what could have been don’t better, and is it necessary to adjust the schedule.&lt;/p&gt;

&lt;h3&gt;
  
  
  Define Required Skills &amp;amp; Domain Knowledge
&lt;/h3&gt;

&lt;p&gt;Next, we need to pinpoint the exact skills our project needs. This helps us pick the right person and plan their onboarding.&lt;/p&gt;

&lt;p&gt;Let's make a checklist of must-have skills:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Programming languages (e.g. Java, Python)&lt;/li&gt;
&lt;li&gt;Frameworks (e.g. React, VueJS)&lt;/li&gt;
&lt;li&gt;Tools (e.g. Jenkins, JIRA)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We should also think about the domain expertise needed. If we're working on a finance app, some experience in working with banking could be helpful.&lt;/p&gt;

&lt;h3&gt;
  
  
  Set a "Probation Period"
&lt;/h3&gt;

&lt;p&gt;There's usually no agreement of probation period for contractors, but we can have one in mind. We would decide a timing when we make a decision on whether we continue to work with them or not. A common timeframe is 90 days.&lt;/p&gt;

&lt;p&gt;During this time, we should:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Have regular check-ins&lt;/li&gt;
&lt;li&gt;Offer extra support&lt;/li&gt;
&lt;li&gt;Give and ask for feedback&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This period is key to a good onboarding experience. It lets us address any issues early on. We can use this time to see how well the contractor fits with our team. It's also a chance for them to decide if they like working with us.&lt;/p&gt;

&lt;p&gt;At the end of the 90 days, depending on the progress, we will decide whether we should continue working with the contractor. Compared with working with permanent members, it's easier to replace contractors so it usually has less emotional impact if we decide to end the contract.&lt;/p&gt;

&lt;h3&gt;
  
  
  Assign a Mentor or Onboarding Buddy
&lt;/h3&gt;

&lt;p&gt;Assigning a mentor or onboarding buddy can make a big difference in how quickly a contractor feels comfortable and productive.&lt;/p&gt;

&lt;p&gt;The mentor should be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;experienced with the team and can answer questions, provide guidance, and help the contractor understand the team's processes and culture.&lt;/li&gt;
&lt;li&gt;Have regular check-ins during the initial period with the new member&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Continuous Feedback &amp;amp; Improvements
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3xp1n16tpcpekudy9ife.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3xp1n16tpcpekudy9ife.png" width="512" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A well-planned onboarding process helps software engineer contractors quickly adapt to their new roles. We've created a sample plan that covers essential aspects like orientation, tool setup, and project integration.&lt;/p&gt;

&lt;h3&gt;
  
  
  Continuous Feedback Loop
&lt;/h3&gt;

&lt;p&gt;Try to reach out to everyone working with the member and get feedback from everyone. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Daily/Weekly 1-on-1 with the contractor&lt;/li&gt;
&lt;li&gt;Weekly 1-on-1 meetings with the contractor's mentor&lt;/li&gt;
&lt;li&gt;Bi-weekly check-ins with the project manager&lt;/li&gt;
&lt;li&gt;Monthly performance reviews/feedback with the contractor and their agency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These help us address any concerns and ensure that they feel supported.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reflect On Initial Period
&lt;/h3&gt;

&lt;p&gt;After the 1st &amp;amp; 2nd month, we schedule reflection sessions. We discuss:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What went well&lt;/li&gt;
&lt;li&gt;Areas for improvement&lt;/li&gt;
&lt;li&gt;Any challenges faced&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Like any retrospective meetings, these help us revisit what happened during the onboarding period.&lt;/p&gt;

&lt;h2&gt;
  
  
  Addressing Challenges When Working With Contractors
&lt;/h2&gt;

&lt;p&gt;Working with software engineer contractors brings unique challenges. Some issues that I ran into:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F65v0h0kngqkvug4ze2sh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F65v0h0kngqkvug4ze2sh.png" width="800" height="588"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Product Ownership
&lt;/h3&gt;

&lt;p&gt;Ownership is rarely a priority for contractors, since they are here for completing the assignments, not for running products (even for long-term contractors).&lt;/p&gt;

&lt;p&gt;That is not a problem if the team has 80% permanent members; but I've been in a team where 95% members are contractors. Lacking ownership means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Members only care about finishing features, but do not care about technical debts.&lt;/li&gt;
&lt;li&gt;Members handle incidents, but do not think about prevention measurements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is no perfect solution to this so far, but I would talk to those contractors who are more senior, to see if they are interested in taking bigger responsibilities, such as creating guidelines, hosting knowledge sharing sessions, and mentoring more junior contractors. I would put emphasis on the career growth.&lt;/p&gt;

&lt;p&gt;It then becomes a win-win situation. They have the opportunity to work on team leadership, and I have certain members be better owners of the product.&lt;/p&gt;

&lt;h3&gt;
  
  
  Managing Different Time Zones
&lt;/h3&gt;

&lt;p&gt;Working with members in a different timezone can be tricky sometimes, especially nowadays a lot of software engineering work are outsourced to Vietnam or India. If contractors do not have sufficient ownership, they might not use their time very well when the managers and permanent team members are outside of working hours.&lt;/p&gt;

&lt;p&gt;A solution to this is to evaluate the output based on deliverables, instead of purely working hours. For example, we expect contractors to deliver their work based on their weekly 40 hours, instead of checking their clock-in &amp;amp; clock-out records.&lt;/p&gt;

&lt;p&gt;As for collaborations, we ensure sufficient overlapping work hours to have real-time communication when needed. This might mean asking contractors to adjust their schedules slightly or finding a middle ground that works for everyone.&lt;/p&gt;

&lt;p&gt;Also, make sure to involve them in regular meetings such as daily stand-ups to discuss progress and any blockers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Maintaining Code Quality
&lt;/h3&gt;

&lt;p&gt;Maintaining code quality process would be similar to how we do it with permanent member, but having documentation becomes more important.&lt;/p&gt;

&lt;p&gt;With contractors, we expect them to onboard as fast as possible. They will start working on projects right away. Without that extra care, it's very easy to see contractors coding differently from the team and no one knows how to handle that difference. A worse situation, for example, is that there are multiple ways to handle logging, package locations, and validations.&lt;/p&gt;

&lt;p&gt;In that case, having good documentation adds an extra layer of communications. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Domain knowledge explanations&lt;/li&gt;
&lt;li&gt;Coding &amp;amp; style guideline&lt;/li&gt;
&lt;li&gt;Workflow explanations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These documents ensure that the new contractors won’t solely rely on the help of the mentor. They will be able to follow the team's workflow and style.&lt;/p&gt;

&lt;p&gt;It's also helpful to have other workflow best practices such as using CI, having sufficient unit test coverage, linters, etc. This allows an automated check on contractors' code submissions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep and Eye on Performance Metrics
&lt;/h2&gt;

&lt;p&gt;Similar to monitoring the performance metrics of permanent employees, it’s going to be easier if we use metrics to measure contractor performance. One big benefit is that everything with contractors are more objective and delivery-based.&lt;/p&gt;

&lt;p&gt;While there are a lot of tools out there, here are some tools that I use with my teams:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://linearb.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;LinearB&lt;/strong&gt;&lt;/a&gt;:&lt;/li&gt;
&lt;li&gt;- &lt;strong&gt;Metrics&lt;/strong&gt;: Cycle time, coding time, review time, deploy time

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Usage&lt;/strong&gt;: Set benchmarks for each metric and compare contractor performance against team averages.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.sonarqube.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;SonarQube&lt;/strong&gt;&lt;/a&gt;:&lt;/li&gt;
&lt;li&gt;- &lt;strong&gt;Metrics&lt;/strong&gt;: Code coverage, code smells, technical debt

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Usage&lt;/strong&gt;: Set quality gates that code must pass before being merged. Use the "Issues" page to assign code quality improvements to contractors.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.atlassian.com/software/jira" rel="noopener noreferrer"&gt;&lt;strong&gt;Jira&lt;/strong&gt;&lt;/a&gt;:&lt;/li&gt;
&lt;li&gt;- &lt;strong&gt;Metrics&lt;/strong&gt;: Sprint velocity, bug fix rates, ticket resolution time, time in status

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Usage&lt;/strong&gt;: Create custom dashboards to track metrics related to project progress. A more specific example below.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For example, we can use Jira to track the duration of each status such as in-progress and in-review. We can use plug-ins or create a custom dashboard with Jira API to track these numbers.&lt;/p&gt;

&lt;p&gt;If you notice a contractor's tickets consistently have longer review times, investigate potential causes: Are they submitting large, complex changes? Are they not responding promptly to review comments? Is there a communication issue with the reviewing team members? Use these insights to coach the contractor on creating more reviewable code chunks or to adjust your team's review process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How does managing contractors differ from managing permanent employees?
&lt;/h3&gt;

&lt;p&gt;Key differences include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Contractors offer flexibility for specific projects; permanent staff provide long-term stability.&lt;/li&gt;
&lt;li&gt;Contractor onboarding is faster, focusing on project specifics.&lt;/li&gt;
&lt;li&gt;Contractor performance is measured by clear milestones, while permanent staff have more comprehensive evaluations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What strategies can help maintain code quality when working with contractors?
&lt;/h3&gt;

&lt;p&gt;The primary focus is alignment. Strategies include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implementing thorough documentation&lt;/li&gt;
&lt;li&gt;Using code quality tools like SonarQube&lt;/li&gt;
&lt;li&gt;Conducting regular code reviews and feedback sessions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How can companies effectively manage contractors in different time zones?
&lt;/h3&gt;

&lt;p&gt;Effective management across time zones involves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Evaluating output based on deliverables, not strict hours&lt;/li&gt;
&lt;li&gt;Ensuring overlapping work hours for communication&lt;/li&gt;
&lt;li&gt;Involving contractors in regular team meetings&lt;/li&gt;
&lt;li&gt;Using project management tools for asynchronous tracking&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>onboarding</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Making Better Decisions with AI as Engineering Managers: A Prompt Guide</title>
      <dc:creator>Adler Hsieh</dc:creator>
      <pubDate>Tue, 05 Nov 2024 01:31:18 +0000</pubDate>
      <link>https://dev.to/adler_hsieh/making-better-decisions-with-ai-as-engineering-managers-a-prompt-guide-4gaj</link>
      <guid>https://dev.to/adler_hsieh/making-better-decisions-with-ai-as-engineering-managers-a-prompt-guide-4gaj</guid>
      <description>&lt;p&gt;&lt;strong&gt;We've all been there as&lt;/strong&gt; &lt;a href="https://www.adlerhsieh.com/essential-guide-on-how-to-become-a-software-engineering-manager-in-2024-skills-and-steps/" rel="noopener noreferrer"&gt;&lt;strong&gt;Engineering Managers&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;: facing a complex issue that does not have a straightforward answer&lt;/strong&gt;. We apply our past experience but are not sure whether we miss anything. For example, we were looking for that rockstar candidate during hiring, but all we found were candidates that were not perfect. Among these candidates, who is the best for the team?&lt;/p&gt;

&lt;p&gt;There is never a perfect decision. Fortunately, with generative AI rising, it also becomes a great tool to help us in such situations. AI is not just about automating tasks anymore. One of the most powerful uses of AI is for brainstorming. I often use them to help with decisions like hiring, team structure, and technical architecture choices. It can digest team context and provide recommendations.&lt;/p&gt;

&lt;p&gt;With the right amount of help from AI (we don't want to go too far!) it supports our judgment to make a better decision.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Key Takeaways&lt;/strong&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Engineering leaders can brainstorm solutions by describing their problems and situations to AI tools such as ChatGPT (with proper care of PII &amp;amp; business secrets).  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Working with AI is a process of "interactive brainstorming". Start broad, refine, and find the answers.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Gen-AI as a Decision-Making Partner
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Interactive Brainstorming
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F63vjrp6olbe6wevowbbr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F63vjrp6olbe6wevowbbr.png" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The strength of AI tools like ChatGPT is to provide endless ideas toward a question, and we would utilize it for brainstorming solutions. Unlike traditional search engines, we can always ask follow-up questions.&lt;/p&gt;

&lt;p&gt;The cycle looks like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;We start from broad/basic questions (e.g, how to improve team productivity)&lt;/li&gt;
&lt;li&gt;AI provide general suggestions&lt;/li&gt;
&lt;li&gt;We either:&lt;/li&gt;
&lt;li&gt;1. refine our questions by adding more context; or,

&lt;ol&gt;
&lt;li&gt;dig deep into one (or more) of the suggestions&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;AI provide more suggestions&lt;/li&gt;

&lt;li&gt;Repeat 3 &amp;amp; 4&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;I call this "&lt;strong&gt;interactive brainstorming&lt;/strong&gt;". It's a cycle where we gradually move toward the answer that we are looking for. It's like talking to a consultant or coach, but with unlimited time ⏱️&lt;/p&gt;

&lt;h3&gt;
  
  
  Expect Multiple Options, Not A Single Answer
&lt;/h3&gt;

&lt;p&gt;If you remember &lt;a href="https://x.com/JeremiahDJohns/status/1794543016650342739" rel="noopener noreferrer"&gt;all the memes&lt;/a&gt; on internet about AI making mistakes, you are probably aware that do not rely on AI to provide one perfect answer. Instead, think of AI as a tool that presents multiple options with pros and cons.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Famax5nc1sm5a9r12g4a4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Famax5nc1sm5a9r12g4a4.png" width="800" height="683"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI can make mistakes&lt;/p&gt;

&lt;p&gt;Your job as an engineering manager is to evaluate these options using your experience and judgment. AI provides the data, you provide the context and make the final call.&lt;/p&gt;

&lt;p&gt;Remember: AI is a partner, not a replacement for your decision-making skills.&lt;/p&gt;

&lt;h3&gt;
  
  
  Techniques For Providing Relevant Context
&lt;/h3&gt;

&lt;p&gt;To get the best results from AI in decision-making, you need to feed it the right information. Here are some examples of context:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Team dynamics: team members, skill sets, workload, etc.&lt;/li&gt;
&lt;li&gt;Goals: Be specific about what the team wants to achieve.&lt;/li&gt;
&lt;li&gt;Historical data: Important past project outcomes and metrics.&lt;/li&gt;
&lt;li&gt;Constraints: budget, time, and resource limitations.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You don't have to provide everything, but anything can be helpful. &lt;strong&gt;I would suggest building a prompt template that can be used in different contexts&lt;/strong&gt;. Save it as a text file and add details to it every time you provide new contexts to AI. It will turn into a knowledge base.&lt;/p&gt;

&lt;p&gt;By giving AI this context, you'll get more accurate and useful insights. It's like briefing a new team member – the more they know, the better they can contribute.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem-Solving Example: Hiring Decisions
&lt;/h2&gt;

&lt;p&gt;Hiring is common in managing a team. However, for new Engineering Managers, it's always overwhelming when making the first hiring decision.&lt;/p&gt;

&lt;p&gt;Companies usually provide a guideline in hiring, but it won't tell managers how to find the best fit for their specific team. In addition to Googling various resources, it's also helpful to seek answers from AI. It's common to have one candidate that is good enough to pass all interviews, but we are wondering whether we should keep looking.&lt;/p&gt;

&lt;p&gt;Let's use hiring as an example to see how can we have a conversation with AI and move toward the solutions that we are looking for:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Start with the Basic Questions
&lt;/h3&gt;

&lt;p&gt;Let's start with the basics and use ChatGPT as an example. I would start with the prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What factors should a manager consider when evaluating a software engineer candidate for the team? There is a candidate that has passed all interviews but the manager is wondering if they should proceed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;ChatGPT will give me a list of factors. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Technical Skills and Fit&lt;/li&gt;
&lt;li&gt;Team Dynamic Compatibility&lt;/li&gt;
&lt;li&gt;Cultural Fit&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The benefit of using AI is that we can continue the conversation. Let's add some details in the next step!&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Refining Questions by Adding Contexts
&lt;/h3&gt;

&lt;p&gt;Seeing all the options provided by AI, you probably will have some ideas what to look for. But in case it's still unclear, &lt;strong&gt;it's always good to look at our problem statements&lt;/strong&gt;: Why are we hiring? What problems are we trying to resolve?&lt;/p&gt;

&lt;p&gt;Let's say the reason why we are hiring is due to addition of some big development projects. In that case, give this detail to AI and they will help us narrow down the options.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The main reason of hiring is that there is a big project coming, and the team needs an extra hand. In that case, what factors should the manager prioritize?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And we'll get some more accurate answers such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Project-Specific Experience&lt;/li&gt;
&lt;li&gt;Team Dynamics and Workload Management&lt;/li&gt;
&lt;li&gt;Communication Skills&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now we have more accurate options to consider. Since AI knows that the main reason of the hiring is for a new project, it will surround its answers with the project. If there are other issues that we are resolving, such as having not enough senior members in the team, it's also helpful to provide those contexts.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Provide Constraints
&lt;/h3&gt;

&lt;p&gt;One common challenge for managers is that they don't know whether they should keep looking or move forward. Often times there is no rockstar candidate. In that situation, we can provide this context to AI as well:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The candidate is good enough to pass the criteria, but the manager is wondering whether they should keep looking. What are some factors that can support the manager making this decision?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We'll get some more factors from AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Urgency of the Hiring Need&lt;/li&gt;
&lt;li&gt;Fit Beyond Minimum Criteria&lt;/li&gt;
&lt;li&gt;Potential Risks vs. Benefits&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You might feel that AI is just giving a list of options without ranking their priority. No problem. Just ask them to do it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Rank these factors&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It will give you a more accurate ranking of which factors should you prioritize.&lt;/p&gt;

&lt;p&gt;Remember, the brainstorming process is always interactive. Imagine AI as a consultant. Ask all questions that you want.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. List Priority Factors and Make a Decision
&lt;/h3&gt;

&lt;p&gt;At this point, you probably already have more than 30 factors to consider thanks to AI, but we are not going to use all of them.&lt;/p&gt;

&lt;p&gt;Create a document and put all the important factors for the team, and add details to those factors. This helps organize our thoughts in decision-making. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🟢 Good Skills match. Shorter onboarding time.&lt;/li&gt;
&lt;li&gt;🟢 Available immediately.&lt;/li&gt;
&lt;li&gt;🟡 Might have language barrier. Still learning English.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just like a &lt;a href="https://www.indeed.com/hire/c/info/scoring-sheet" rel="noopener noreferrer"&gt;hiring scoreboard&lt;/a&gt;, once you are happy with the list, you'll make a well-informed decision.&lt;/p&gt;

&lt;p&gt;In this process, AI helps rank the most important factors related to the team. It might not seem very difficult for experienced managers, but for those who are not familiar with this topic, it could be a great learning opportunity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Practices For AI Collaboration
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3mvyanxyo25c0sku0ipd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3mvyanxyo25c0sku0ipd.jpg" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Start Broad, And Refine
&lt;/h3&gt;

&lt;p&gt;Begin with a wide-angle view when using AI for your projects. 🔍 Cast a broad net with your initial prompts to get a comprehensive overview. For example, ask "What are the main considerations for refactoring a legacy codebase?" This approach helps you understand the full scope of the task.&lt;/p&gt;

&lt;p&gt;As you gather info, narrow your focus. Refine your prompts to dig deeper into specific areas. You might follow up with "What are best practices for refactoring JavaScript in a monolithic app?"&lt;/p&gt;

&lt;p&gt;It's like zooming in on a map - start with the whole country, then drill down to your exact destination.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ask For Structured Response Including Guides, Examples, And Risks
&lt;/h3&gt;

&lt;p&gt;Request guides, examples, and potential risks for each task. This approach helps you get actionable insights and spot potential issues early.&lt;/p&gt;

&lt;p&gt;For instance, when planning a new feature, prompt the AI: "Provide a step-by-step guide for splitting the frontend and backend in a monolith app. Include best practices and risks."&lt;/p&gt;

&lt;p&gt;💡 Key elements to request:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clear, numbered steps&lt;/li&gt;
&lt;li&gt;Potential pitfalls and how to avoid them&lt;/li&gt;
&lt;li&gt;Best practices specific to your tech stack&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Techniques For Iterative Refinement
&lt;/h3&gt;

&lt;p&gt;Refining AI outputs is crucial for getting the best results. It is like a conversation - you're guiding the AI to bring you close to the answers.&lt;/p&gt;

&lt;p&gt;Start by analyzing the initial response. What's missing? What could be improved? Use this to form your next prompt. For example, if the AI suggests a database schema, you might ask, "How can we optimize this schema for read-heavy operations?"&lt;/p&gt;

&lt;p&gt;Some suggestions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ask for alternatives&lt;/strong&gt;: "What are other approaches to solving this problem?"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Request pros and cons&lt;/strong&gt;: "List the advantages and disadvantages of each method"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seek real-world examples&lt;/strong&gt;: "Show me how top tech companies have implemented this"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each iteration brings you closer to the optimal solution for your software development process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges While Working With AI Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbt0ytv8f4z9sg7f1es49.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbt0ytv8f4z9sg7f1es49.jpg" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Handling PII &amp;amp; Private Business Information
&lt;/h3&gt;

&lt;p&gt;When using AI tools like ChatGPT, you need to be careful with sensitive data. Companies like OpenAI usually train their model using your conversations with AI. In worst scenarios, they might accidentally store or leak private info.&lt;/p&gt;

&lt;p&gt;Here are some key points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Always check your company's policies &amp;amp; restrictions on AI use.&lt;/li&gt;
&lt;li&gt;Be cautious about personal information or private business data. We don't want names, phone numbers, and addresses to be leaked.&lt;/li&gt;
&lt;li&gt;Always use role-playing in conversations with AI. Avoid using "I" and "we" to indicate that this is your real situation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Balancing AI And Human Creativity &amp;amp; Accountability
&lt;/h3&gt;

&lt;p&gt;While AI can generate code and ideas quickly, it's crucial to maintain human oversight. You don't want to lose the creative spark of your team or end up with AI-dependent processes.&lt;/p&gt;

&lt;p&gt;We have seen so many developers abusing AI and use ChatGPT-generated codes directly in their codebase without modifications. We don't want to see that happening on Engineering Managers.&lt;/p&gt;

&lt;p&gt;Use AI as a helper, not a replacement for human thinking. Combine AI insights with human expertise for better quality control. The goal is to enhance your team's capabilities, not make them AI-dependent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Other Use Of AI In Decision-Making
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Supporting Materials
&lt;/h3&gt;

&lt;p&gt;AI can find relevant info &amp;amp; ideas to back up your decisions. You might ask for insights on similar decisions, industry trends, or past examples. This saves you time digging through docs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sounding Board
&lt;/h3&gt;

&lt;p&gt;AI can act as a brainstorming partner when you're tackling tricky problems. Describe your situation and ask for different perspectives or solution ideas. This can help you spot angles you might have missed.&lt;/p&gt;

&lt;p&gt;You can also use AI to simulate team discussions. Present a potential decision and ask how different roles (devs, QA, product) might react. This lets you anticipate concerns and refine your approach.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What AI tools are best for interactive brainstorming?
&lt;/h3&gt;

&lt;p&gt;Most popular tools like ChatGPT, Claude, or Gemini are useful in this case. Different tools have their own strength and insights, so I would recommend use multiple tools if you struggle with finding insightful answers on one tool.&lt;/p&gt;

&lt;p&gt;However, it would be helpful if the tool has a "knowledge base" functionality available, so that you don't have to input your prompt from scratch every time. So far, I think Claude is the best for usability, but ChatGPT has better insights sometimes.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are the best practices for integrating AI into engineering management processes?
&lt;/h3&gt;

&lt;p&gt;Start small when adding AI to your work. It would work the best with areas that you are not familiar with. AI can provide general advices to lead you through the door.&lt;/p&gt;

&lt;p&gt;Always check AI results. Don't rely on them completely. Use your own judgment too.&lt;/p&gt;

&lt;p&gt;Keep learning about new AI tech. It changes fast. Stay up to date to get the most benefits.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This post was originally published at &lt;a href="https://www.adlerhsieh.com/making-better-decisions-with-ai-as-engineering-managers-a-prompt-guide/" rel="noopener noreferrer"&gt;adlerhsieh.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>promptengineering</category>
      <category>leadership</category>
    </item>
    <item>
      <title>Is Ruby on Rails Worth Learning in 2024? A Quick Insight</title>
      <dc:creator>Adler Hsieh</dc:creator>
      <pubDate>Sun, 03 Nov 2024 05:13:44 +0000</pubDate>
      <link>https://dev.to/adler_hsieh/is-ruby-on-rails-worth-learning-in-2024-a-quick-insight-7f6</link>
      <guid>https://dev.to/adler_hsieh/is-ruby-on-rails-worth-learning-in-2024-a-quick-insight-7f6</guid>
      <description>&lt;p&gt;As we delve into 2024, many developers might wonder: &lt;strong&gt;is Ruby on Rails still worth learning in 2024&lt;/strong&gt;? In recent years, other emerging technologies and frameworks have gained popularity. However, Ruby on Rails, based on the Ruby programming language, maintains its reputation. It is a highly efficient, mature, and developer-friendly solution. &lt;a href="https://medium.com/@emilyemcmahonn/rails-today-pros-and-cons-of-learning-ruby-on-rails-in-2024-a052b526c259" rel="noopener noreferrer"&gt;Its advantages&lt;/a&gt; in rapid development, a thriving community, and a mature ecosystem make it an attractive skill for developers.&lt;/p&gt;

&lt;p&gt;However, like any other technology, Ruby on Rails has advantages and drawbacks. When considering whether to learn this versatile framework, it's important to weigh the pros and cons and evaluate the future outlook.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Key Takeaways&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Ruby on Rails is still a valuable skill in 2024. Many major players in the market, such as GitHub and AirBnB, are still using it.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Although its usage rate is not the highest in the market, Ruby on Rails remains &lt;a href="https://survey.stackoverflow.co/2023/#top-paying-technologies" rel="noopener noreferrer"&gt;one of the top-paying technologies in 2023&lt;/a&gt;.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Its popularity creates a lot of self-taught learning resources, making it one of the most accessible technologies.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Strengths of Ruby on Rails&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frhjotbgt9aesxqb5lmh3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frhjotbgt9aesxqb5lmh3.jpg" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;An Overview of the Tech&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Ruby on Rails (Rails or RoR) is a Ruby framework that has been a game-changer since its first public release in 2004. Over the years, it has matured into a stable and reliable framework, becoming a popular choice for web developers. It &lt;a href="https://blog.planetargon.com/blog/entries/rails-in-2024-still-relevant-or-living-in-the-past" rel="noopener noreferrer"&gt;remains one of the popular choices of frameworks&lt;/a&gt; due to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flexibility:&lt;/strong&gt; Rails allows you to work on various web projects, from small to large-scale.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Convention over configuration:&lt;/strong&gt; It follows guidelines that help you build applications faster.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Active community:&lt;/strong&gt; Rails has an active and supportive community. Developers can find lots of resources, such as tutorials and documentation, to help you in your learning journey.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Rapid Development (Great for Startups)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;One major advantage of learning Ruby on Rails is its focus on &lt;strong&gt;rapid development&lt;/strong&gt;. &lt;a href="https://rubyonrails.org/doctrine" rel="noopener noreferrer"&gt;Its doctrine&lt;/a&gt; captures its design philosophy and focuses on development efficiency. For example, getting used to a new Rails codebase usually takes very little time due to the "convention over configuration" philosophy. It minimizes the need for lengthy configurations.&lt;/p&gt;

&lt;p&gt;Furthermore, Rails has many built-in tools and features, such as scaffolding. It automates the generation of your application's basic structure. By learning Ruby on Rails, you'll be able to create functional web applications in a fraction of the time compared to other coding languages.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Strong Community&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Another reason to learn Ruby on Rails is its &lt;strong&gt;strong community support&lt;/strong&gt;. The Rails community is vibrant and active. It has a rich ecosystem of &lt;a href="https://rubygems.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;Gems&lt;/strong&gt;&lt;/a&gt; (libraries) that allow you to extend the functionality of your application without reinventing the wheel.&lt;/p&gt;

&lt;p&gt;Some examples of popular Rails Gems are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Devise&lt;/strong&gt; - for authentication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CarrierWave&lt;/strong&gt; - for file uploads&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ActiveAdmin&lt;/strong&gt; - for administration interfaces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This extensive library of Gems lets you focus on what makes your application unique. The community's expertise helps you lay a solid foundation, allowing you to build applications more efficiently and with a higher level of quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Challenges of Using Ruby on Rails&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9x3hk0o6izvftknyfbv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9x3hk0o6izvftknyfbv.jpg" width="700" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Performance Concerns&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;While Ruby on Rails can help you build and deploy web applications quickly, one downside is performance concerns. Due to its language design, scaling Rails applications could be more complicated than other popular alternatives, such as Go and Java.&lt;/p&gt;

&lt;p&gt;However, scaling could be a complicated issue. It involves not only the programming language itself but also database tuning, application logic, and others. The programming language is only one factor in scaling. So, don't let performance be the sole reason to skip learning Ruby on Rails.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Trend Shifts&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Another factor that might cause hesitation when learning Ruby on Rails in 2024 is the technological trend shift. Newer frameworks and languages like Node.js and Go are gaining popularity in the web development community, which might make you wonder about the long-term relevancy of Ruby on Rails.&lt;/p&gt;

&lt;p&gt;However, it's important to remember that Ruby on Rails still has a thriving community and a strong foothold in the job market. Technology trends can change, and it's often more valuable to have a strong grasp of languages and frameworks to stay adaptable.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The State of Web Development&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F03%2FDALL-E-2024-03-12-16.32.26---A-simplistic-and-straightforward-representation-of-web-development.-The-image-features-a-desktop-setup-with-a-computer-displaying-a-code-editor-with-H.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F03%2FDALL-E-2024-03-12-16.32.26---A-simplistic-and-straightforward-representation-of-web-development.-The-image-features-a-desktop-setup-with-a-computer-displaying-a-code-editor-with-H.webp" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Comparison with Other Frameworks&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Here is a list of notable web frameworks to compare with Rails:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Django (Python)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Django is another mature and feature-rich web framework. Python is also widely adopted in general computer programming education due to its simple syntax. According to &lt;a href="https://survey.stackoverflow.co/2023/#web-frameworks-and-technologies" rel="noopener noreferrer"&gt;a StackOverflow survey 2023&lt;/a&gt;, Django has a bigger market share of 11.47% compared with Rails' 5.49%.&lt;/p&gt;

&lt;p&gt;Python and Ruby are known for their friendliness to beginners and abundant learning resources. However, both languages have the same scalability issue when businesses and applications start to grow.&lt;/p&gt;

&lt;p&gt;Their differences mostly lie in the coding style. Python is well known for its use of indentation in the codebase:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;hello&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
  &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hello world&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the indentation breaks, the code breaks. Some consider this style clean, but some consider it hard to read when the codebase is large.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Express.js (Node.js)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Express.js is a minimalistic web framework that brings server-side JavaScript to the table. It is known for its ease of use and performance. It doesn't include many features out-of-the-box like Rails, but it utilizes great features in Node.js, such as scalability and performance.&lt;/p&gt;

&lt;p&gt;One of the most common reasons for adopting Node.js for companies is that they can use JavaScript for both frontend and backend. It's easier for companies to hire full-stack developers. According to the StackOverflow survey, it has the highest market share in web technologies, with the usage of 42.65%.&lt;/p&gt;

&lt;p&gt;Node.js and Ruby usually have different use cases. Node.js is strong and stable on a single thread. So, businesses usually use it for messaging apps like chatrooms and games. Thus, Rails is widely used for CMS and prototyping minimum viable products.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Ruby on Rails dead?
&lt;/h3&gt;

&lt;p&gt;There is an ongoing question people ask every year. If you search for "Is Ruby on Rails dead in 20XX?" you will likely find 10+ articles, including &lt;a href="https://www.reddit.com/r/ruby/comments/1avjf8j/is_ruby_on_rails_dead_in_2024_no/" rel="noopener noreferrer"&gt;forums and blogs&lt;/a&gt;, discussing this topic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The short answer: No&lt;/strong&gt;. Ruby on Rails is far from dead. Some simple reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The community remains strong. There are many learning resources, discussions, updates, meetups, and conferences around the world.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.ruby-lang.org/en/downloads/releases/" rel="noopener noreferrer"&gt;Ruby&lt;/a&gt; and &lt;a href="https://rubyonrails.org/category/releases" rel="noopener noreferrer"&gt;Rails' versions&lt;/a&gt; are still evolving very quickly.&lt;/li&gt;
&lt;li&gt;Major companies like Shopify, GitHub, and Airbnb continue to use and invest in Rails.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Job Market and Opportunities&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F03%2FDALL-E-2024-03-12-17.44.55---A-straightforward-image-of-a-single-developer-checking-market-data-and-job-opportunities.-The-scene-features-the-developer-standing-alone--focused-on-.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F03%2FDALL-E-2024-03-12-17.44.55---A-straightforward-image-of-a-single-developer-checking-market-data-and-job-opportunities.-The-scene-features-the-developer-standing-alone--focused-on-.webp" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Real-World Applications of Ruby on Rails
&lt;/h3&gt;

&lt;p&gt;Ruby on Rails serves as the core technology for numerous online platforms. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; The world's leading software development platform runs on Rails. There are several tweaks to run an application with such scale, but it is still Rails in its foundation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Airbnb:&lt;/strong&gt; Changing how we travel and stay around the globe, Airbnb's seamless user experience is powered by Ruby on Rails.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shopify:&lt;/strong&gt; E-commerce at its finest. Shopify makes selling online easy for over 1 million businesses worldwide, all thanks to Rails under its hood.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Twitch:&lt;/strong&gt; Before becoming a live streaming giant for gamers everywhere, Twitch started its journey with Ruby on Rails.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These companies started small and scaled up big time, all while sticking with Ruby on Rails throughout their growth phases. This highlights Ruby on Rails's adaptability as a tool for crafting web applications and underscores its significance in scaling projects from startups to enterprises.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Demand for Ruby on Rails Developers&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As of 2024, Ruby on Rails continues to be a highly lucrative skill. In a recent survey on StackOverflow, &lt;a href="https://survey.stackoverflow.co/2023/#programming-scripting-and-markup-languages" rel="noopener noreferrer"&gt;Ruby's popularity is behind languages such as JavaScript and Python.&lt;/a&gt; Its use rate is 6.23%. However, Ruby took &lt;a href="https://survey.stackoverflow.co/2023/#top-paying-technologies" rel="noopener noreferrer"&gt;4th place as the top paying technology&lt;/a&gt;, making it worth considering for your career path.&lt;/p&gt;

&lt;p&gt;It's also one of the Ruby community's features that &lt;a href="https://www.reddit.com/r/rails/comments/157is9h/job_market_of_ruby_on_rails/" rel="noopener noreferrer"&gt;there might not be as many job openings in the market&lt;/a&gt; as JavaScript and Python. Still, every opening is a gem worth digging.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Learning Resources for Ruby on Rails&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Diving into Ruby on Rails? There's a sea of resources, whether you're just starting or looking to level up. But let's be real: not all resources are created equal. Here's a curated list that'll take you from zero to a seasoned developer:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://guides.rubyonrails.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;Ruby on Rails Guides&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4dfd9hpsam7r6z73l4fa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4dfd9hpsam7r6z73l4fa.png" width="300" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These guides are the holy grail for Rails learners. They thoroughly cover the framework's initial understanding to a solid knowledge of its features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codecademy.com/learn/learn-rails" rel="noopener noreferrer"&gt;&lt;strong&gt;Codecademy's Learn Rails Course&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F03%2F05XBKmNFYeHCMIn726Nohqb-10-1.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F03%2F05XBKmNFYeHCMIn726Nohqb-10-1.webp" width="500" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do you love interactive learning? Codecademy makes it fun and engaging with its hands-on approach.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gorails.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;GoRails&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuljs5z80gupree2dlbwf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuljs5z80gupree2dlbwf.png" width="800" height="269"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is a collection of videos that dive into the ins and outs of Rails. Its paid plan would bring you more professional knowledge.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.theodinproject.com/paths/full-stack-ruby-on-rails/courses/ruby-on-rails" rel="noopener noreferrer"&gt;&lt;strong&gt;The Odin Project - Ruby on Rails&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F03%2Fhome-isometric-68a769acd8c1f2c43991e3d6b24c658bf5e78b59fbca20aba5c7a97850948269.svg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.adlerhsieh.com%2Fcontent%2Fimages%2F2024%2F03%2Fhome-isometric-68a769acd8c1f2c43991e3d6b24c658bf5e78b59fbca20aba5c7a97850948269.svg" width="100" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Want something more structured? Embark on a journey from the fundamentals of web creation, all through this no-cost educational pathway.&lt;/p&gt;

&lt;p&gt;The journey might seem long now. But remember that every expert was once a beginner wondering if they could do it too. Spoiler alert: You absolutely can!&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Frequently Asked Questions&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdlmr48osxc19fiaucfc0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdlmr48osxc19fiaucfc0.jpg" width="800" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What are the job prospects for Ruby on Rails developers in 2024?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The job prospects for Ruby on Rails developers in 2024 remain promising. Compared with popular languages such as JavaScript and Python, Ruby on Rails might have a low usage rate. However, it is still a popular web framework in strong demand in the job market. &lt;a href="https://survey.stackoverflow.co/2023/#top-paying-technologies" rel="noopener noreferrer"&gt;Ruby took 4th place as the top-paying technology&lt;/a&gt; based on the StackOverflow survey in 2023. With this in mind, learning Ruby on Rails is a viable option for a rewarding career in the tech industry.&lt;/p&gt;

&lt;p&gt;It is for you if you love its coding style, design philosophy, and thriving community. Don't let the popularity of other languages scare you away. The most important factor is that you love this technology and will master it.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What are the latest major projects or companies adopting Ruby on Rails?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Major tech companies like GitHub, GitLab, AirBnB, and Shopify still use Ruby on Rails. They might not use Rails for their entire codebase, but it remains one of the core technologies in their stack.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Can learning Ruby on Rails provide a stable career path in the tech industry nowadays?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Yes. Learning Ruby on Rails can provide a stable career path in the tech industry. Its continuous popularity and the high demand for Ruby developers among startups and agencies.&lt;/p&gt;

&lt;p&gt;We are in &lt;a href="https://www.forbes.com/sites/goldiechan/2024/02/09/5-trends-in-layoffs-for-2024-and-which-industries-are-recession-proof" rel="noopener noreferrer"&gt;the tech recession in 2024&lt;/a&gt;, but it's important to remember that every challenge brings new opportunities. The Rails community continues to thrive, offering support and resources to developers at all levels. There are still emerging opportunities in startups, established companies, or freelance projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What are the key advantages of using Ruby on Rails for new web applications today?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Ruby on Rails offers several key advantages for new web applications today:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It emphasizes convention over configuration. Developers do not need to make decisions about the application's basic structure.&lt;/li&gt;
&lt;li&gt;Its syntax follows a natural language format, making it easy to learn and understand.&lt;/li&gt;
&lt;li&gt;The strong Ruby community support makes finding resources, solutions, and assistance easier when needed.&lt;/li&gt;
&lt;li&gt;Rails is an excellent choice for creating Minimum Viable Products (MVPs), which is important for startups.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;This post was originally published at &lt;a href="https://www.adlerhsieh.com/is-ruby-on-rails-worth-learning-a-quick-insight/" rel="noopener noreferrer"&gt;adlerhsieh.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
