<?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: Michael Cheng</title>
    <description>The latest articles on DEV Community by Michael Cheng (@miccheng).</description>
    <link>https://dev.to/miccheng</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%2F202240%2F179b72a8-60f3-4c31-8fc2-92481bcff992.jpg</url>
      <title>DEV Community: Michael Cheng</title>
      <link>https://dev.to/miccheng</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/miccheng"/>
    <language>en</language>
    <item>
      <title>Singapore Tech Community Stance on Harassment</title>
      <dc:creator>Michael Cheng</dc:creator>
      <pubDate>Sat, 31 Oct 2020 06:25:10 +0000</pubDate>
      <link>https://dev.to/miccheng/singapore-tech-community-stance-on-harassment-9ed</link>
      <guid>https://dev.to/miccheng/singapore-tech-community-stance-on-harassment-9ed</guid>
      <description>&lt;h1&gt;
  
  
  Harassment in the Singapore Tech Community
&lt;/h1&gt;

&lt;p&gt;Members of the Singapore Tech Community, I would like to touch on the sensitive issue of harassment (including sexual harassment) in the community. Unbeknownst to many of us, this has been happening in Singapore for a while. It is not something that only plagues our western counterparts. It is happening within our shores.&lt;/p&gt;

&lt;p&gt;As a leader in the community, I have personally received messages from members of the community who have experienced harassment. In the past few instances of receiving the complaints, we (myself along with other community leaders in the &lt;a href="https://www.meetup.com/Singapore-JS/"&gt;SingaporeJS&lt;/a&gt;, &lt;a href="https://singaporecss.github.io/"&gt;SingaporeCSS&lt;/a&gt; and &lt;a href="http://juniordev.sg/"&gt;JuniorDevSG&lt;/a&gt; meetup groups) have banned individuals from our meetup group activities. The culprits were notified and removed from all chats and user groups pages.&lt;/p&gt;

&lt;p&gt;However, this does not mean the individuals have repented or the harassment has stopped. New people are being targeted.&lt;/p&gt;

&lt;h1&gt;
  
  
  Zero Tolerance Policy
&lt;/h1&gt;

&lt;p&gt;Which prompts me to make this statement: &lt;strong&gt;We have a zero tolerance policy on harassment of any kind&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If we receive reports of harassment of members in our community, we will take action to exclude the culprit from further activities in order to ensure that our community remains a safe space for our members.&lt;/p&gt;

&lt;p&gt;For the affected community members, we do not want you to suffer in silence. If anyone asks questions or says inappropriate things that make you feel uncomfortable or unsafe, please inform us. We want to help you, and if need be, take action against these bad actors in our community. And if necessary, legal recourse - for example, &lt;a href="https://irblaw.com.sg/learning-centre/protection-from-harassment/"&gt;Protection from Harassment Act&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Ways of Reporting
&lt;/h1&gt;

&lt;p&gt;You can email the report to &lt;a href="mailto:report@engineers.sg"&gt;report@engineers.sg&lt;/a&gt; or &lt;a class="comment-mentioned-user" href="https://dev.to/miccheng"&gt;@miccheng&lt;/a&gt;
 on Telegram. Your identity will be kept secret.&lt;/p&gt;

&lt;p&gt;You should also speak to the Admin of the group chats where you and the culprit are in. The culprit might also be targeting other members in that group.&lt;/p&gt;

&lt;h1&gt;
  
  
  Safe Community
&lt;/h1&gt;

&lt;p&gt;We want the Singapore Tech Community to be a diverse and inclusive place, where everyone can feel safe in sharing knowledge and growing together in our craft.&lt;/p&gt;

&lt;p&gt;Thank you for doing your part. 🙇‍♂️&lt;/p&gt;

&lt;h1&gt;
  
  
  Useful Links
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://singaporecss.github.io/code-of-conduct/"&gt;Singapore CSS - Code of Conduct&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/SingaporeJS/talk.js/blob/master/code-of-conduct.md"&gt;Singapore JS - Code of Conduct&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/JuniorDevSingapore/meetups/blob/master/code-of-conduct.md"&gt;JuniorDevSG - Code of Conduct&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>community</category>
      <category>harassment</category>
      <category>safety</category>
      <category>singapore</category>
    </item>
    <item>
      <title>How about a "transferrable" coding interview question?</title>
      <dc:creator>Michael Cheng</dc:creator>
      <pubDate>Tue, 23 Jun 2020 11:44:20 +0000</pubDate>
      <link>https://dev.to/miccheng/how-about-a-transferrable-coding-interview-question-28hn</link>
      <guid>https://dev.to/miccheng/how-about-a-transferrable-coding-interview-question-28hn</guid>
      <description>&lt;p&gt;Thinking about coding interview questions or take home assignments. We all come up with our own that we use to evaluate all our candidates. And it's a great tool for figuring out a candidate's capability to deliver working software.&lt;/p&gt;

&lt;p&gt;Then I came across my friend's Tweet:&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--Axks3AEz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1261276337374760961/MQwqoyx3_normal.jpg" alt="qian 🌺 profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        qian 🌺
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="comment-mentioned-user" href="https://dev.to/qiannyqian"&gt;@qiannyqian&lt;/a&gt;

      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P4t6ys1m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Very 😒 at companies that just expect you to contribute two technical tests' worth without even a HR / screening call for the candidate to know about the company&lt;br&gt;&lt;br&gt;Interviewing is a two way street FFS!!!
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      10:37 AM - 22 Jun 2020
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1275014930182180864" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1275014930182180864" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      2
      &lt;a href="https://twitter.com/intent/like?tweet_id=1275014930182180864" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      10
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;I know of many job seekers who hunker down over weekends to do multiple coding assignments with fixed deadlines. Perhaps we are expecting too much or going overboard with our interview questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Culture Fit Interviews
&lt;/h2&gt;

&lt;p&gt;Other than take home assignments, we also do live coding interviews to further evaluate a candidate's culture fit - how do they handle stressful situations, how do they troubleshoot a problem, can the candidate communicate well or articulate the technical decisions they make. These are good for gauging whether a candidate could be a suitable co-worker. So the culture aspect is quite specific to your company culture and what you look out for in a suitable candidate. &lt;/p&gt;

&lt;p&gt;What i'm curious to know is if there can be a set of coding assignments that candidates can use to show that they know their shit. Not as formal as a certification, but more of a do you have a baseline competency for the role we are looking for.&lt;/p&gt;

&lt;h2&gt;
  
  
  How about online coding puzzle sites?
&lt;/h2&gt;

&lt;p&gt;Sure, we can use HackerRank or something similar for this as a shared reference point for the candidate's capabilities. But those coding problems tend to incentivise a certain kind of behaviour. Coding for performance in a coding puzzle is not the same as writing well designed &amp;amp; maintainable code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make it transferrable?
&lt;/h2&gt;

&lt;p&gt;Perhaps we should let candidates who don't make our cut to just bring their coding assessment to show the next company? I mean, you can say its your company's intellectual property... and it might encourage plagiarism... or give future candidates an unfair advantage if they know your coding test.&lt;/p&gt;

&lt;p&gt;However, the flip side is this might actually accelerate the interview process. If the candidate is good, they wouldn't just copy pasta, they would do something properly (depending on the type of company you are in, copy pasta may or may not be a good thing).&lt;/p&gt;

&lt;h2&gt;
  
  
  No dramas...
&lt;/h2&gt;

&lt;p&gt;Also, this may also ease the stress level of newbie coders who are bogged down with so many coding interview assignments from the companies they interview at.&lt;/p&gt;

&lt;p&gt;What do you think?&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>inthirtyseconds</category>
      <category>interview</category>
    </item>
    <item>
      <title>Tips: How to be at the top of your game for live coding interviews!</title>
      <dc:creator>Michael Cheng</dc:creator>
      <pubDate>Mon, 02 Mar 2020 11:09:34 +0000</pubDate>
      <link>https://dev.to/miccheng/tips-how-to-be-at-the-top-of-your-game-for-live-coding-interviews-3ccg</link>
      <guid>https://dev.to/miccheng/tips-how-to-be-at-the-top-of-your-game-for-live-coding-interviews-3ccg</guid>
      <description>&lt;p&gt;If you are invited for an interview that involves live coding, here’s some tips for you to improve your performance. These are from my perspective as an interviewer:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Googling for syntax is fine. It shows us you are human.&lt;/li&gt;
&lt;li&gt;Knowledge of different data structures show us you have enough experience to pick the right tool. &lt;/li&gt;
&lt;li&gt;Also don't rush into writing code - plan ahead to show us that you understand the problem space. Also to help clarify your understanding of the question. Last thing you want to do is solve the wrong problem.&lt;/li&gt;
&lt;li&gt;Related to 3 - don't spend too much time planning. This is a coding assessment, we want to see you write code, not dazzle us with your handwriting and pseudo code.&lt;/li&gt;
&lt;li&gt;Manage your time: Clarify how much time you have for the assessment. That should inform you about how much to build. Its not cool to over-engineer when you only have 1 hour - but not solve the problem.&lt;/li&gt;
&lt;li&gt;It's ok to ask questions. We like it when you ask us questions cos that shows you not a mindless drone.&lt;/li&gt;
&lt;li&gt;Communicate - cos we are also looking for a co-worker we can collaborate with. Also, we can't read minds. So communicate what you are doing as you code. It shows us you are following a plan. &lt;/li&gt;
&lt;li&gt;Even the most mysterious problems can be solved methodically. In a face to face interview, we are interested in your progression and process as much as the answer.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For extra brownie points:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Show proficiency in your tools - your IDE and keyboard skills. Know how to operate your IDE and demonstrate that you know the keyboard shortcuts.&lt;/li&gt;
&lt;li&gt;Write tests to solve the puzzle. TDD is a super bonus point in my books.&lt;/li&gt;
&lt;li&gt;MVP the solution quickly and then refactor.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I don't expect all devs to do the above 3. However, they are indicators of competence and mastery.&lt;/p&gt;

&lt;p&gt;Hope this helps you when you go into your next interview grind.&lt;/p&gt;

</description>
      <category>interview</category>
      <category>tips</category>
      <category>livecoding</category>
    </item>
    <item>
      <title>Pair-Programming with CoderKungfu - sharing the "gospel" of pair-programming</title>
      <dc:creator>Michael Cheng</dc:creator>
      <pubDate>Sun, 29 Dec 2019 09:19:52 +0000</pubDate>
      <link>https://dev.to/miccheng/pair-programming-with-coderkungfu-gm6</link>
      <guid>https://dev.to/miccheng/pair-programming-with-coderkungfu-gm6</guid>
      <description>&lt;p&gt;Around June of 2019, when I was in between jobs, I decided to kill time by offering to do some pair-programming with anyone who would want to give it a try.&lt;/p&gt;

&lt;p&gt;Pair-programming can be a rather strange experience if you are not accustomed to talking about your code to another person. But it is a muscle that you can train and something you can adopt as part of you software development workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Format
&lt;/h2&gt;

&lt;p&gt;I created a &lt;a href="https://calendly.com/" rel="noopener noreferrer"&gt;Calendly&lt;/a&gt; schedule and let people book 2 hours slots between 2 weeks in June. The sign-up form included questions about what they would like to achieve.&lt;/p&gt;

&lt;p&gt;In order to have a productive time pair-programming, I needed a conducive environment. One that is quiet, has WiFi and power, and I can feel free to communicate openly with my pair without being disturbed. Fortunately, my appeal for a free space scored me a 1 month free membership at WeWork.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ftj5ephgzpr0qdhne14nz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ftj5ephgzpr0qdhne14nz.jpg" alt="My desk setup at WeWork"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The venue was the WeWork Labs office at &lt;a href="https://www.wework.com/buildings/380-jalan-besar--singapore" rel="noopener noreferrer"&gt;WeWork 380 Jalan Besar&lt;/a&gt;. Many thanks for my long time friend &lt;a href="https://www.linkedin.com/in/iadriantan/" rel="noopener noreferrer"&gt;Adrian Tan&lt;/a&gt; (who runs &lt;a href="https://www.wework.com/labs/" rel="noopener noreferrer"&gt;WeWork Labs&lt;/a&gt;) for sponsoring.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pairing up
&lt;/h2&gt;

&lt;p&gt;Most who signed up were largely of 2 categories.&lt;/p&gt;

&lt;h3&gt;
  
  
  CTO or newly minted head of engineering
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fe9j6xbvs1d2kqpnn96j4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fe9j6xbvs1d2kqpnn96j4.jpg" alt="One of the CTOs i spoke to"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These were tech co-founder or people newly promoted to a technical lead role in their startup.&lt;/p&gt;

&lt;p&gt;For them, the session was more like a consulting session where I gave them tips on hiring and managing an engineering team.&lt;/p&gt;

&lt;h3&gt;
  
  
  Junior Developers
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fjxsmaopzcz1rd71386fc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fjxsmaopzcz1rd71386fc.jpg" alt="Junior dev whom i paired with"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These folks are in their first professional job as a software engineer. They are fresh graduates, mid-career switchers and most of them has not experienced what it was like to write code with pair-programming. For these, I mostly attempted a Code Kata (a coding puzzle) with them.&lt;/p&gt;

&lt;h4&gt;
  
  
  Bootcamp Students
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fhvqxlbso7xvhnkbbhwco.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fhvqxlbso7xvhnkbbhwco.jpg" alt="The students"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I also did a session with the students from &lt;a href="http://www.trentglobal.edu.sg/diplomainsoftwaredevelopment" rel="noopener noreferrer"&gt;Trent Global's Diploma in Software Development&lt;/a&gt;. They are mostly mid-career switchers. I gave them some advice on how to prepare for the job market ahead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical Tips for Effective Pair Programming
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fx8is1skbyfwodoayq5bq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fx8is1skbyfwodoayq5bq.jpg" alt="Some tips"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are some of the tips that i shared with them.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Be conversational&lt;/strong&gt;. Talk through your thought process. Because people can't read minds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plan&lt;/strong&gt;. Take time to plan what you hope to achieve at the beginning of the pairing session.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Take notes&lt;/strong&gt;. I find that sometimes, it's faster to communicate ideas on paper/whiteboard than on the screen. I draw architectural diagrams and bullet points on paper (or on a whiteboard) to brainstorm ideas. An ex-colleague loves to fill up the monitor edges with post-it notes of the task list - and she would dutifully cross them off when its done.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agree on a pairing workflow&lt;/strong&gt;. There are many pairing technique. My favourite is the Ping-Pong method - where one pair writes a test, and the other pair writes the code that passes the test, and repeat. Another technique is a Driver-Navigator method - where one takes the helm (of the keyboard &amp;amp; mouse) and the other guides through the things that needs to be done. This technique is suitable when one has more knowledge of the code base and can help the other ramp up. Agree on a workflow and stick to it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focus on the work at hand&lt;/strong&gt;. Don't get distracted by non-work PM, emails and social media pings. Don't waste the other pair's time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Share keyboard time&lt;/strong&gt;. Don't hog the keyboard. Let the other pair speak through code as well. Be patient with them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learn all the keyboard shortcuts&lt;/strong&gt;. This is to be more efficient - reduces the time from thought to code. Also to not waste people's time. In a pairing situation, the pair usually agrees on an IDE or text editor to use. The one who is more familiar with the editor can use the opportunity to do more of the driving and show the other pair the frequently used shortcut keys. If you are afraid of constantly disrupting the "driver" to ask "what keyboard shortcut did you use?", you can try using this on-screen utility to help you display the shortcut keys used: &lt;a href="https://github.com/keycastr/keycastr" rel="noopener noreferrer"&gt;https://github.com/keycastr/keycastr&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use on screen cues to help bring focus&lt;/strong&gt;. Use line number to help zoom in on code. Learn to bring focus to things on screen with the mouse cursor instead of your finger. The other pair's focus is on the monitor, so unless you are using the same monitor, they might not notice where your focus is when you point on your own monitor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Take breaks&lt;/strong&gt;. Do take breaks frequently. Once you reach a natural breakpoint, like after a Git check commit has been made, do take a short break to clear the mind. Pairing can be very intense and involves much concentration and focus - so taking frequent breaks will help rest your mind. As a guide, I take 15 minute breaks between every 1.5 to 2 hours of pairing time.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ffqqw7gjqx22yh0q8ke9v.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ffqqw7gjqx22yh0q8ke9v.jpg" alt="More happy pairing partners"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The session was eye-opening for the devs as it was the first time that they tried coding this way. It was interesting to see how they opened up and we had a good conversation on what the next steps were and how we should go about solving the coding puzzles.&lt;/p&gt;

&lt;p&gt;I hope they will continue to learn and grow in their software engineering journey.&lt;/p&gt;

</description>
      <category>juniordev</category>
      <category>pairprogramming</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>1-on-1 with Junior Developers</title>
      <dc:creator>Michael Cheng</dc:creator>
      <pubDate>Wed, 25 Dec 2019 05:22:57 +0000</pubDate>
      <link>https://dev.to/miccheng/1-on-1-with-junior-developers-2nj0</link>
      <guid>https://dev.to/miccheng/1-on-1-with-junior-developers-2nj0</guid>
      <description>&lt;p&gt;Just to share my experience mentoring junior developers via 1-on-1.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KDloA0a4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/d9dw3ar0wj4navc43ee7.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KDloA0a4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/d9dw3ar0wj4navc43ee7.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Recently, I did another experiment on doing things that doesn’t scale &amp;amp; filling gaps in the tech industry - adhoc 1-on-1 with junior developers. I first opened this up to the junior devs participating in the JuniorDevSG Mentoring Program.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why?
&lt;/h2&gt;

&lt;p&gt;As the organizer of the JuniorDevSG mentoring program, I was happy to help facilitate the mentoring groups and handle administrative things. But I had a nagging feeling that I needed to get in touch with the ground and see for myself if our efforts are making any impact.&lt;/p&gt;

&lt;p&gt;And since I recently became a Reporting Officer (RO) at work, I needed some practice in doing 1-on-1.&lt;/p&gt;

&lt;h2&gt;
  
  
  Format
&lt;/h2&gt;

&lt;p&gt;Essentially, I created a Calendly schedule and shared the link with the mentoring group. I only allocated Friday evening, Saturday evening and Sunday afternoons. I typically meet 2 persons per day.&lt;/p&gt;

&lt;p&gt;I also opened this up to the mentors &amp;amp; the JuniorDevSG leadership team as I wanted to get to know them better too.&lt;/p&gt;

&lt;p&gt;We met at StarBucks and just chatted for an hour on whatever they wish to talk about - their career advancement, advise on interview prep, or just chit chat.&lt;/p&gt;

&lt;p&gt;In the sign-up form, I did ask about what they wish to talk about and their LinkedIn profile. The profile was so that I can familiarize myself with them before meeting them face to face.&lt;/p&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;p&gt;So broadly, here’s the groups of people I met:&lt;/p&gt;

&lt;h3&gt;
  
  
  Early Stage Junior Devs
&lt;/h3&gt;

&lt;p&gt;Generally, most of the junior devs in this group needed advise on their career path. What it would look like going forward, how to move up the career ladder - becoming a better technical Individual Contributor (IC) and/or what’s beyond IC.&lt;/p&gt;

&lt;p&gt;For this group, I assure them that there are companies who has Technical Tracks all the way to the top. But one thing common is that going beyond IC, one needs to take on more mentoring and coaching roles (either positionally or peer coaching of junior devs).&lt;/p&gt;

&lt;h3&gt;
  
  
  Mid-Career Switchers &amp;amp; Fresh Grads (or students about to graduate)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wCQshoA6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/dsvmulbf6z93t7lpuag0.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wCQshoA6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/dsvmulbf6z93t7lpuag0.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For this group, they needed advise on interview prep.&lt;/p&gt;

&lt;p&gt;I reviewed their resumes and gave specific advice like highlighting their side projects / practice projects on GitHub. The GitHub link is more important than the live demo app link as interviewers want to see code they did rather than the “pretty visuals” of their app.&lt;/p&gt;

&lt;p&gt;I also told them about the type of questions that they could ask in interviews:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How is the company’s onboarding process for new hires?&lt;/li&gt;
&lt;li&gt;What is a typical day like for a dev in the company?&lt;/li&gt;
&lt;li&gt;What is the dev workflow like? Do they do TDD, BDD, agile, retrospectives, use a project management tool, pair programming, etc.&lt;/li&gt;
&lt;li&gt;Will there be a onboarding buddy/ mentor to help get familiar with things in the company?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These questions are highly important for teasing out details about the company culture. It also informs you about their readiness to mentor a new hire. If they don’t have a good answer to any of these, it might be a red flag.&lt;/p&gt;

&lt;p&gt;As much as the face to face interview is the company checking if the candidate is a good fit, the candidate also needs to check if the company is suitable for them at their current stage of software engineering.&lt;/p&gt;

&lt;h3&gt;
  
  
  Intermediate Stage Developers
&lt;/h3&gt;

&lt;p&gt;For these folks, it was more a catch up and sharing on practices that will help sharpen their skills.&lt;/p&gt;

&lt;p&gt;My advise was doing code katas, side projects, and become more T-shaped in their skills.&lt;/p&gt;

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

&lt;p&gt;It was definitely tiring to do this. I was actually on the verge of burn out before starting on this. But I needed to resolve the inner doubt about the impact of my work in the dev community. As such, I took a week to rest up before I started as I wanted to be centered before helping others.&lt;/p&gt;

&lt;p&gt;For me, it was immensely satisfying to know of the impact of what I was doing in JuniorDevSG and Engineers.SG. And the 1-on-1 served as an opportunity to provide specific help for the individuals I met.&lt;/p&gt;

&lt;p&gt;It was also an opportunity to catch up with the JuniorDevSG Leadership team on their motivations and goals for the group going forward.&lt;/p&gt;

&lt;p&gt;Highly recommend doing 1-on-1s as an exercise in helping coach individuals with their software engineering journey.&lt;/p&gt;

</description>
      <category>mentoring</category>
      <category>1on1</category>
      <category>juniordev</category>
      <category>career</category>
    </item>
  </channel>
</rss>
