Jekyll2023-11-10T12:03:14+00:00https://garyrafferty.com/feed.xmlGary RaffertyThoughts and musingsGary RaffertyReskilling in the Age of AI - Notes2023-10-02T00:00:00+01:002023-10-02T00:00:00+01:00https://garyrafferty.com/writing/Reskilling-In-The-Age-Of-AI<p>The most recent issue (September - October) of <a href="https://hbr.org/magazine">Harvard Business Review</a> contained an interesting
piece on reskilling. The article discusses how the rapid acceleration, and advancement, of technology will see knowledge workers
adapting how they work and operate in their fields.</p>
<p>The authors highlight <strong>five paradigm shifts</strong> that were observed across a sample set of companies that are heavily investing in reskilling initiatives.</p>
<ol>
<li>Reskilling is a Strategic Imperative.</li>
<li>Reskilling is the Responsibility of Every Leader/Manager.</li>
<li>Reskilling is a Change Management Initiative.</li>
<li>Employees Want to Reskill, When it Makes Sense.</li>
<li>Reskilling Takes a Village.</li>
</ol>
<h2 id="reskilling-is-a-strategic-imperative">Reskilling is a Strategic Imperative</h2>
<p>Understanding the criticality of reskilling to create a competitive advantage, by acting in response to ever changing markets. The article
cited some interesting examples such as Vodafone aiming to fill 40% of their future software development needs with internal talent,
and Amazon who rolled out their Machine Learning University to reskill internal employees in ML.</p>
<p>This is not just a mechanism to retain talent, but it’s also a mechanism to attract new talent.</p>
<h2 id="reskilling-is-the-responsibility-of-every-leadermanager">Reskilling is the Responsibility of Every Leader/Manager</h2>
<p>Managers are closest to the metal when it comes to the job requirements, employee performance and development, and how their teams
can help to achieve the organisation’s goals. Thus, managers are well placed to design and deliver/contribute reskilling plans for
the organisation. Reskilling efforts could (and perhaps should) be baked into the performance assessment of leaders.</p>
<p>I really like this one, and <a href="/writing/Recent-Writings.md/">I’ve written about this theme</a> in the past.</p>
<h2 id="reskilling-is-a-change-management-initiative">Reskilling is a Change Management Initiative</h2>
<p>There’s more to reskilling than training. A successful initiative is composed of multiple workstream topics, including an
understanding of supply/demand, changes to how we recruit and evaluate candidates, encouraging managers to nurture and grow
talent for the business, rather than hoarding talent for their team, and most importantly, building skills on the job,
by way of shadowing and assignments.</p>
<p>Developing talent for the business is a great example of Will Larson’s Company First, Team Second, Self Third mantra.</p>
<h2 id="employees-want-to-reskill-when-it-makes-sense">Employees Want to Reskill, When it Makes Sense</h2>
<p>Employees will be more willing to participate in reskilling programs, if they have had a voice in creating them.
Companies should adopt a customer first mindset, and develop the program around the employee.<br />
Be transparent, seek input and feedback, and provide enough slack and resources for them to succeed. This requires forward
thinking and resource choreography from line managers, but again, this is a manager’s responsibility.</p>
<blockquote>
<p>One large auto manufacturer told its diesel engineers that because of changes in the automobile industry, it had less and less need for their skills, and presented its program as a way of ensuring that they would have new jobs and job security in the years ahead.</p>
</blockquote>
<h2 id="reskilling-takes-a-village">Reskilling Takes a Village</h2>
<p>Reskilling goes beyond a single organisation, and being open to partnerships can yield more impact. In some cases, this might be partnering across the same industry, partnering with nonprofits to amplify diversity reach, or partnering with local colleges and training providers.</p>Gary RaffertyThe most recent issue (September - October) of Harvard Business Review contained an interesting piece on reskilling. The article discusses how the rapid acceleration, and advancement, of technology will see knowledge workers adapting how they work and operate in their fields.The Lean Product Playbook - Notes2023-09-19T00:00:00+01:002023-09-19T00:00:00+01:00https://garyrafferty.com/writing/The-Lean-Product-Playbook<p>Some notes from a recent read of <a href="https://www.amazon.co.uk/Lean-Product-Playbook-Innovate-Products/dp/1118960874">The Lean Product Playbook</a>.</p>
<h2 id="core-concepts">Core Concepts</h2>
<p><strong>Product-market fit</strong>: Being in a good market, with a product that can satisfy the market i.e you have built something that creates real customer value, and it does this better than alternatives.</p>
<p>The term was originally coined by Marc Andreeson <a href="https://pmarchive.com/guide_to_startups_part4.html">back in 2007</a>.</p>
<p><strong>Market</strong>: Target customers who have an Underserved (unmet, or unsatisfactory) need.</p>
<p><strong>Product</strong>: A specific offering of functionality or features that meets the needs of the customer.</p>
<p>Success criteria depends on how well your product (top three layers) satisfies the market (bottom two layers)</p>
<p><img src="/assets/images/lean/pyramid.jpeg" alt="the-lean-product-pyramid" /></p>
<h2 id="the-lean-product-process">The Lean Product Process</h2>
<h3 id="determine-your-target-customer">Determine your Target Customer</h3>
<p>Identify who your customer is - segmenting the market based on demographic, psychographic, behavioural, and needs based attributes.
Be aware of the technology adoption lifecycle from Geoffrey Moore.</p>
<p><img src="/assets/images/lean/chasm.png" alt="crossing-the-chasm" /></p>
<p><em>NB: Users can differ from Buyers, especially in a B2B product offering.</em></p>
<h3 id="identify-underserved-needs">Identify Underserved Needs</h3>
<p>Identifying what needs your product must serve for this potential customer segment.</p>
<p>Candidate frameworks include:</p>
<h4 id="importance-vs-satisfaction-framework">Importance vs Satisfaction Framework</h4>
<p>Importance: A measure of how important a particular customer need is.
Use a 5 point scale from negative to positive*</p>
<p>Satisfaction: Satisfaction level with any existing product.
Use a 7 point scale from negative to positive*</p>
<p>*Research has shown that 5 point scales are best for unipolar, but 7 point is best for bipolar.</p>
<p><img src="/assets/images/lean/satisfaction.png" alt="satisfaction" /></p>
<h4 id="gap-analysis-framework">Gap Analysis Framework</h4>
<p>Gap = Importance - Satisfaction</p>
<p>The larger the Gap, then the more underserved the customer’s need is.</p>
<h4 id="jobs-to-be-done-framework-preferred-over-gap-analysis">Jobs to be Done Framework (preferred over Gap Analysis)</h4>
<p>Opportunity Score = Importance + Max(Importance-Satisfaction,0)</p>
<p>Customers decide to buy based on how well it delivers their “desired outcomes” for the “jobs to be done”.</p>
<p>Ultimately, we want to find the needs that add the most value for the customer.</p>
<p><em>NB: The “Vitamin vs Painkiller” classification is very relevant here. Are we creating a real problem solver, or are we a “nice to have”?</em></p>
<h3 id="define-your-value-proposition">Define your Value Proposition</h3>
<p>Which of the important customer needs could we be addressing?</p>
<p>This chapter refers to ranking the features and benefits. The author uses the KANO method, which adopts a classification of basic (must-haves), performance (better), and delighters (unexpected), and compares against the competition.</p>
<p>MoSCoW could also be used. Whatever the framework or system, we should yield a clear understanding of our value proposition.</p>
<h3 id="specify-mvp">Specify MVP</h3>
<p>What is the absolute bare minimum that we need to deliver, to validate that we are heading in the right direction.<br />
We need to be weighing up the investment vs the return.</p>
<p>Using traditional agile methodologies and best practices, we would favour small batches, described via measurable User Stories.<br />
Remember Bill Wake’s INVEST acronym for stories.<br />
Independent, Negotiable, Valuable, Estimable, Small, Testable.</p>
<p>Decide on the MVP candidate, with awareness for the estimated ROI (Return on Investment).<br />
Our MVP should not be only basic, but include slices of performance and delight.</p>
<h3 id="create-mvp-prototype">Create MVP Prototype</h3>
<p>Our MVP should not be only basic, but include slices of performance and delight. Think of it as a subset of the KANO pyramid.
Our MVP needs to be testable, and for this, there are different categories of test.</p>
<p>Product vs Marketing, and Quantitative vs Qualitative.</p>
<p><img src="/assets/images/lean/mvp_tests.jpeg" alt="crossing-the-chasm" /></p>
<h3 id="test--iterate">Test & Iterate</h3>
<p>Qualitative user feedback on your offering (the product itself, or a design deliverable such a wireframe).<br />
Ideally, speak with one customer at a time to maximise value (sidesteps any potential group dynamic and biases).<br />
Favour open questions over closed.
Be sure to differentiate feedback on usability, versus feedback on product market fit.</p>
<p>Synthesise the feedback such that it can power the Hypothesize-Design-Test-Learn loop.</p>
<p>Pivot when necessary (e.g if target customers are only lukewarm and there is little to no excited from them)</p>
<h2 id="building-and-optimising">Building and Optimising</h2>
<p>This section describes using Agile processes such as Scrum and Kanban for Product delivery. No notes taken.</p>Gary RaffertySome notes from a recent read of The Lean Product Playbook.Recent Writings2023-01-28T00:00:00+00:002023-01-28T00:00:00+00:00https://garyrafferty.com/writing/Recent-Writings.md<p>Cross-posting some recent articles that I wrote for the <a href="https://engineering.zalando.com/">Zalando Engineering Blog</a>.</p>
<ol>
<li><a href="https://engineering.zalando.com/posts/2023/01/how-you-can-have-impact-as-an-engineering-manager.html">How You Can Have Impact As An Engineering Manager</a></li>
<li><a href="https://engineering.zalando.com/posts/2022/07/growth-engineering-at-zalando.html">Growth Engineering at Zalando</a></li>
<li><a href="https://engineering.zalando.com/posts/2021/09/internal-mobility.html">Using Internal Mobility For Growth</a></li>
</ol>Gary RaffertyCross-posting some recent articles that I wrote for the Zalando Engineering Blog.Mentorships at Zalando (x-post)2022-11-10T00:00:00+00:002022-11-10T00:00:00+00:00https://garyrafferty.com/reading/xpost-mentorships<p>Cross-posting an interview with Silicon Republic on the benefits of mentorships.</p>
<ul>
<li><a href="https://www.siliconrepublic.com/careers/mentorship-career-development-zalando">Mentorships can bring career development to both mentors and mentees</a></li>
</ul>Gary RaffertyCross-posting an interview with Silicon Republic on the benefits of mentorships.Mental Models2022-05-19T00:00:00+01:002022-05-19T00:00:00+01:00https://garyrafferty.com/reading/Mental-Models-Notes<p>I recently read <a href="https://www.amazon.co.uk/Great-Mental-Models-Thinking-Concepts-ebook/dp/B07P79P8ST">The Great Mental Models Volume 1: General Thinking Concepts</a>, and took some notes along the way.</p>
<p>Wikipedia describes a mental model as an explanation of someone’s thought process about how something works in the real world.</p>
<p>The book provides an introduction to nine different models.</p>
<h2 id="the-map-is-not-the-territory">The Map is not the Territory</h2>
<p>A map is a reduction or representation of reality. By definition, a representation is just that, an objective description or portrayal of something else - a belief of how we interpret something. We need to be careful when relying on maps, and remember that the belief is not reality.</p>
<p>When using a map, consider the following:</p>
<ol>
<li>Reality is the ultimate update.</li>
<li>Consider the cartographer.</li>
<li>Maps can influence territories.</li>
</ol>
<p>Use maps for guidance, but not to prevent us from a new discovery, or from updating the map.</p>
<h2 id="circle-of-competence">Circle of Competence</h2>
<p>Define the boundaries of your circle of competence, and work within it. The size of the circle matters less than knowing the boundary.
You can grow your circumference over time, but stay mindful of that boundary.
When growing your circle of competence, or when operating beyond your circle, we should recognise that we are not experts, seek
guidance or advice from somebody who’s circle of competence encompasses this area, and not be afraid to say “I don’t know”.</p>
<p><img src="/assets/images/mentalmodels/circle.png" alt="circle-of-competence" /></p>
<h2 id="first-principles-thinking">First Principles Thinking</h2>
<p>Questioning the assumptions and reducing a complex problem down into blocks that are non-reducible. We want to separate facts from assumptions, and question everything.
The <a href="https://en.wikipedia.org/wiki/Five_whys">Five whys</a> mechanism was cited as a useful method of getting to the root of a problem.
Reasoning from first principles should unlock creativity and yield novel solutions.</p>
<h2 id="thought-experiment">Thought Experiment</h2>
<p>Using the brain’s ability to test drive various hypotheses that probe all the possibilities that we can come up with.</p>
<p>“What if…”</p>
<p>The more potential scenarios and experiments that we can test, the more likely we are to make better decisions.</p>
<p>The steps involved are:</p>
<ol>
<li>Ask a question.</li>
<li>Conduct background research.</li>
<li>Construct hypothesis.</li>
<li>Test with (thought) experiments.</li>
<li>Analyse outcomes and draw conclusions.</li>
<li>Compare to the hypothesis and adjust accordingly.</li>
</ol>
<h2 id="second-order-thinking">Second Order Thinking</h2>
<p>Reasoning about the potential consequences and impacts of a decision, based on the information that you have at your disposal.
Second order thinking is especially useful for:</p>
<ol>
<li>Prioritising long term investments cover immediate gain.</li>
<li>Constructing effective arguments.</li>
</ol>
<h2 id="probabilistic-thinking">Probabilistic Thinking</h2>
<p>Estimating the likelihood, or chance, of a particular outcome.</p>
<p>Discusses the three aspects of 1) <strong>Bayesian thinking</strong> - taking base information into account when we are encountering something new , 2) <strong>Fat-tailed curves</strong> - the curve that extends beyond the bell curve - indicating the extremes, and 3) <strong>Asymmetries</strong> - “metaprobability”, the probability that our probability estimates are good - often not.</p>
<h2 id="inversion">Inversion</h2>
<p>Flipping the problem on its head, and working backwards from the goal. Typically we think of progressing towards an answer, but instead, it can be beneficial to start at the end, and work back from there.<br />
The two approaches cited were:</p>
<ol>
<li>Start by assuming that your proof is either true or false, and step back towards what else would need to be true.</li>
<li>Don’t aim for the goal/solution, but disregard what we want to avoid, and see what we are left with.</li>
</ol>
<h2 id="occams-razor">Occam’s Razor</h2>
<blockquote>
<p>“Anybody can make the simple complicated. Creativity is making the complicated simple.”</p>
</blockquote>
<p>Prefer the simplest explanation with the fewest moving parts. Not applicable to all problems - some problems are just too complex - but where appropriate, remember that a simpler explanation is more likely to be correct.</p>
<h2 id="hanlons-razor">Hanlon’s Razor</h2>
<blockquote>
<p>“We should not attribute to malice that which is more easily explained by stupidity”.</p>
</blockquote>Gary RaffertyI recently read The Great Mental Models Volume 1: General Thinking Concepts, and took some notes along the way.Keeping a Bragdoc2022-01-24T00:00:00+00:002022-01-24T00:00:00+00:00https://garyrafferty.com/software/Keeping-A-Bragdoc<p>At the beginning of each year, I spend a considerable amount of time speaking and advising colleagues and peers on the topic of goals and ambitions.
Regardless of your organisation’s performance cycles, the start of a new year is always a nice time to self assess the previous 12 months,
and to look ahead at the next. I’ve previously written a little bit about the latter (<a href="https://garyrafferty.com/career/Goal-Setting/">goal-setting</a>), but this
time I’d like to focus on self assessing your own performance over the previous year.</p>
<p>Assessing our own performance is often something that we find difficult.
We find this difficult for a few reasons. Put bluntly, it is because we are not paying enough attention to our achievements, and because we have poor memory.
More eloquently, it is because in order to help our brain with information retention, we need to consciously be attentive to something, and because we
are all hindered by recency bias. Both of these little nuisances can be mitigated very easily by maintaining a bragdoc.
(sidenote: I never liked the word bragdoc, but it is popular in the industry, and it seems to resonate with people).</p>
<p>First, let’s look at those two issues.</p>
<h2 id="lack-of-attention">Lack of Attention</h2>
<p>Memory is an incredibly complex topic. For as long as I can remember, I have had a poor memory.
To combat this, I bring my diary (old-school) to each meeting / call, and I take notes on key points and important actions that I need to follow up on.
This practice of listening and writing helps me to remember things. It turns out, this happens because I am consciously paying extra attention to the
topics, and giving my brain a little nudge towards retaining this.
In her book, <a href="https://www.amazon.co.uk/Remember-Science-Memory-Art-Forgetting/dp/1838954155/">Remember : The Science of Memory & The Art of Forgetting</a>,
Lisa Genova gives a much more informed and authoritative explanation of this, but the core message remains the same.</p>
<p>We do not (easily) remember what we do not pay attention to.</p>
<h2 id="recency-bias">Recency Bias</h2>
<p>This is our natural tendency to favour recent events over past ones - to emphasise fresher memories over those that are older.
If you asked me to give you a list of three important things that I achieved in work recently, I would probably behave like a stack, and pop three
times in a LIFO (last in, first out) order. Later that day, some other things might come to mind that were more important,
but I likely forgot to mention, because they were further down the stack. This is recency bias.</p>
<h2 id="how-a-bragdoc-helps">How a Bragdoc Helps</h2>
<p>The bragdoc is a simple way to alleviate these two issues. A bragdoc is simply a running list, that you keep up to date, of your accomplishments and
contributions. Each item in the list is something that you have achieved, created, contributed to, or are otherwise proud of and worth calling out.</p>
<ul>
<li>Helped onboard a new joiner to the team? Pop it in the bragdoc.</li>
<li>Joined your company’s interview pool? Pop it in the bragdoc.</li>
<li>Helped resolve an incident, and contributed to the postmortem? Pop it in the bragdoc.</li>
<li>Presented a new library to your team during a knowledge sharing session? Pop it in the bragdoc.</li>
</ul>
<p>I don’t spend too much time wondering about how important something needs to be to get added to the list. If it is important to me or relevant to my goals,
then I note it. Similarly, I don’t worry about how much or how little detail to add.
Most of my items are no more than a single sentence. Just enough to jog my memory. As J.D. Salinger said</p>
<blockquote>
<p>“How long should a man’s legs be? Long enough to touch the ground.”</p>
</blockquote>
<p>If you feel so inclined, you can always attach a label or category that correlates to your overarching goals, or your role expectations.</p>
<p>Two nice side effects of keeping a bragdoc are that your self assessments are made that little bit easier, and that you now have an ever growing list of your achievements.</p>
<h2 id="self-assessment-made-easier">Self Assessment Made Easier</h2>
<p>Your self assessment of your development should accept your bragdoc as input, and decorate it within the context of your goals and development plan.
I personally place an incredibly high value on one’s own self assessment. Your self assessment demonstrates to me that you track and value your progress,
that you are acutely aware of your skills and expertise relative to what is expected of you, that you are taking ownership of your own career,
and that you have an aspiration or sense of direction. If your organisation practices 360 degree feedback, then your peer assessments are
complimenting and reinforcing your own assessment.</p>
<p>My expectation bar for this is relative to your tenure and experience in the industry.</p>
<h2 id="at-a-glance-accomplishments">At a Glance Accomplishments</h2>
<p>Seeing your list grow over time helps to provide a great sense of accomplishment. If you’re like most of us, then encountering a shitty day at work is
typically followed by a momentary bout of imposter syndrome and self doubt. This is normal. It happens to all of us. What I have found though,
is that when this happens, it can be nice to peek at your bragdoc to remind yourself of all the great things that you have accomplished.
Taking a step back to look at your achievements as a whole is a great way to visualise your progress and to avoid suffering from a
development equivalent of <a href="https://en.wikipedia.org/wiki/Change_blindness">change blindness</a> phenomenon.</p>
<h2 id="start-today">Start Today</h2>
<p>Open a new Google doc, text file, notebook, or whatever you’re most comfortable with, and start noting things that you have achieved.
Revisit it regularly. My own one sits in an Asana project that’s always kept as an open tab. I check in on it at least once a week. It’s that simple.</p>Gary RaffertyAt the beginning of each year, I spend a considerable amount of time speaking and advising colleagues and peers on the topic of goals and ambitions. Regardless of your organisation’s performance cycles, the start of a new year is always a nice time to self assess the previous 12 months, and to look ahead at the next. I’ve previously written a little bit about the latter (goal-setting), but this time I’d like to focus on self assessing your own performance over the previous year.Notes from Hiring Success2022-01-05T00:00:00+00:002022-01-05T00:00:00+00:00https://garyrafferty.com/software/Notes-From-Hiring-Success<p>Notes from <a href="https://www.amazon.co.uk/Hiring-Success-Visionary-Compete-Talent/dp/1544506899/">Hiring Success : How Visionary CEOs Compete for the Best Talent</a>.</p>
<p>Stop relying on Time-to-Hire and Cost-per-Hire metrics. They are not indicators of successful hiring.<br />
We need three metrics to accurately measure our hiring success.</p>
<ol>
<li>Hiring Budget</li>
<li>Hiring Velocity</li>
<li>Net Hiring Score</li>
</ol>
<h2 id="hiring-budget">Hiring Budget</h2>
<p><em>Total Cost of Recruiting / New Hire Payroll</em>, where cost includes TA salaries, technology spend, candidate travel cost, marketing & advertising.</p>
<p>Typical spend is between 5% and 15%, but this depends on speed and quality. See below.</p>
<h2 id="hiring-velocity">Hiring Velocity</h2>
<p>The percentage of jobs filled on time. A velocity of above 80% indicates healthy progress.</p>
<p><strong>TTH is meaningless if we are not enabling the company’s objectives.</strong> In other words, does it matter if TTH has been reduced by x% if projects are not being completed due to lack of resources?</p>
<h2 id="net-hiring-score">Net Hiring Score</h2>
<p>Measures job fit, and should not be derived from your end of year performance reviews. Simple three step formula to calculate NHS.</p>
<ol>
<li>Ask HM: On a scale of 0-10, how much of a fit is the new hire for the job?</li>
<li>Ask NH: On a scale of 0-10, how much of a fit is the job for you?</li>
<li><em>NHS = (% of strong fits - % poor fits) x 100</em>, where poor fits = {0…6} and strong = {9,10}</li>
</ol>
<h2 id="examples">Examples</h2>
<p><img src="/assets/images/scorecard/hiringscorecard.jpeg" /></p>Gary RaffertyNotes from Hiring Success : How Visionary CEOs Compete for the Best Talent.Landing your first Software Engineering Role2021-11-23T00:00:00+00:002021-11-23T00:00:00+00:00https://garyrafferty.com/software/Landing-Your-First-Junior-Engineering-Role<p>Software Engineering is an incredibly rewarding and satisfying career choice. On a daily basis, you get to flex your creative muscles to solve complex
problems across a vast array of industries and domains. You get to work in an incredibly diverse space, with continuous learning opportunities
at your fingertips.</p>
<p>Getting a foot in the door, however, can be difficult. The bar is high and there is a lot of competition.<br />
At times, the process can feel overwhelming. You find yourself immersed in recruitment phone calls, screening sessions, multiple final round interviews,
and in most cases, working on a take home test in your own time.<br />
Hopefully, at the end of this lengthy process, both you and the company have swiped right, and can live happily ever after, but how can you get to yes?</p>
<p>Having spent many years interviewing engineers at all levels, you begin to identify patterns of success, and antipatterns to avoid.
What I would like to do is to give you my own recommendations of how you can maximise your chance of reaching the first rung of the ladder.</p>
<p>We won’t dive too deeply into any particular languages or tools, but instead we will focus on general guidance that should be applicable to
most entry level software engineering positions.</p>
<h2 id="prepare">Prepare</h2>
<p>I mentioned some stages of a typical hiring funnel in the opening section. Every company will be slightly different, and depending on their scale and size,
the funnel might be bigger or smaller, but here’s how it might look.</p>
<p><img src="/assets/images/funnel/funnel.png" width="40%" /></p>
<p>You will begin with a coding exercise. If successful, you will then speak with somebody in HR to learn more about the company and the role.
The next stage might be to speak with the hiring manager - at which point you will learn more about the team and the domain that you might expect to be working on.
Moreover, this round is typically assessing culture and team fit. If successful, multiple final round interviews will probe deeper into specific topics such as data structures and algorithms, general technology and knowledge. If all this goes well, then it proceeds to the offer stage.</p>
<p>The end to end process covers a lot of ground.</p>
<p>As Desmond Tutu once said</p>
<blockquote>
<p>“there is only one way to eat an elephant, and that is one bite at a time”.</p>
</blockquote>
<p>This advice holds true. Take the interview process one bite at a time. Ask the recruiter what to expect in each session, and what success looks like.
Take time to prepare for each. Jot down questions that you would like to ask, or key points that you want to communicate.
A good hiring funnel will not contain any superfluous rounds, and each one is assessing or focusing on different aspects.<br />
Know what to expect with each round, and prepare for each.</p>
<p>Some recommended reading material would be <a href="https://www.amazon.co.uk/Pragmatic-Programmer-journey-mastery-Anniversary/dp/0135957052/">The Pragmatic Programmer</a>, and <a href="https://www.amazon.co.uk/Cracking-Coding-Interview-6th-Programming/dp/0984782850/">Cracking the Coding Interview</a>.</p>
<h2 id="promote-yourself-and-your-projects">Promote Yourself and Your Projects</h2>
<p>Most candidates for this role will not have much, if any, professional experience, and typically are coming straight from college or from a conversion course.
As a result, you will not be selling your past roles, but instead, this is an opportunity to sell your projects and achievements.</p>
<p>As a hiring manager, I love to see an active presence on Github - highlighting the side-projects and apps that you have built or collaborated on.
A well presented project not only demonstrates technical acumen. A good README showcases your written communication skills.
If there are other participants involved, it shows me that you can collaborate with others.<br />
Shine a spotlight on what you have created. Tell me about the problem that it is solving, the challenges you encountered, and how you overcame them,
and the value that the project brings. This hones in on your business acumen and your ability to identify problems and solutions.</p>
<p>Sidenote: If you are not yet contributing to projects on Github, then I would recommend checking out <a href="https://goodfirstissue.dev/">GoodFirstIssue.dev</a>
which helps you to make your first open source contribution by curating issues that are suitable for beginners.</p>
<h2 id="interview-the-interviewer">Interview the Interviewer</h2>
<p>I always tell candidates that interviews are a two way street, and that they are assessing me just as much as I am assessing them.
As interviewers, we are representing the company and the team. Ask us questions. Here are some great questions that I often get asked by candidates.</p>
<ul>
<li>Why do you enjoy working here?</li>
<li>What’s the hardest part of your job?</li>
<li>Tell me about something that you learned recently?</li>
<li>Why should I work with your team?</li>
</ul>
<p>For me, this shows enthusiasm, and demonstrates that the candidate is invested in the process. The company and the team need to be a good fit for the candidate,
and vice versa.</p>
<p>I want you to come away from the interview wanting to work with us, and to help get you to that mindset, I will be as open and honest as I can be.</p>
<h2 id="understand-the-question">Understand the Question</h2>
<p>I find this tip to be most needed for the collaborative coding / data structure stage. During this round, the interviewer may ask you to extend your take-home test,
or to implement something completely new. It is very important to make sure that you completely understand the question that is being asked.
If something seems ambiguous, seek clarification. If it seems straight forward, then repeat aloud what the ask is (this can be an effective pulse-check to be 100% sure before proceeding).</p>
<p>In his book, <a href="https://www.amazon.co.uk/System-Design-Interview-insiders-Second/dp/B08CMF2CQF">System Design Interview – An insider’s guide</a>, Alex Xu describes a
four step framework for tackling system design exercises, and whilst the examples in the book will exceed the scope of a junior role,
the principles are the same, and should be applied to any technical round.</p>
<ol>
<li>Understand the problem and establish design scope.</li>
<li>Propose high level design and get buy-in.</li>
<li>Deep dive / Implement.</li>
<li>Wrap up.</li>
</ol>
<p>Communicate and collaborate with the interviewer at each step.</p>
<h2 id="think-aloud--remember-maths-exams">Think Aloud / Remember Maths Exams</h2>
<p>I struggled with Maths during school, and spent many hours getting tutored before exams. One piece of advice that always stuck with me was that
by writing out the steps that led you to the answer, you will get some credit. You might not get 100%, but you can get some of the way there.<br />
The same advice goes for technical interviews. Think aloud and vocalise your thought process. This shows me how you tackle problems, and
it also creates an opportunity for collaboration.</p>
<p>As engineers, we work collaboratively with our team to decompose big problems into smaller solutions, and therefore, being able to clearly
communicate your analytical thinking is a soft-skill that carries clout.</p>
<h2 id="feedback-ask-and-give">Feedback (Ask and Give)</h2>
<p>This is one that I cannot stress enough. After all of my interviews, I prepare a short feedback section that can be shared with the candidate.
It does not indicate the outcome, but moreso, it provides some recommendations to the candidate on areas where they can further their growth.
It might include topics to explore, books to read, or areas where they demonstrated strength. This is especially important when a candidate will
not be progressing to the next stage.<br />
Having invested a lot of their time in the process, we owe it to them to provide meaningful, actionable feedback.</p>
<p>Similarly, tell the recruiter how you found the process. By giving the company feedback, we can continue to refine and improve things for the next candidate.</p>
<h2 id="be-yourself">Be Yourself</h2>
<p>I’m not looking for a ninja 🥷. I’m not looking for a rockstar 🤘. I am looking for a genuine person who wants to help my team to build great things,
and will work hard on learning software engineering methodologies and best practices.<br />
In return, I will provide you with a great team environment, the necessary amount of coaching and mentoring, and challenges that will help you to
grow as an engineer.</p>Gary RaffertySoftware Engineering is an incredibly rewarding and satisfying career choice. On a daily basis, you get to flex your creative muscles to solve complex problems across a vast array of industries and domains. You get to work in an incredibly diverse space, with continuous learning opportunities at your fingertips. Getting a foot in the door, however, can be difficult. The bar is high and there is a lot of competition. At times, the process can feel overwhelming. You find yourself immersed in recruitment phone calls, screening sessions, multiple final round interviews, and in most cases, working on a take home test in your own time. Hopefully, at the end of this lengthy process, both you and the company have swiped right, and can live happily ever after, but how can you get to yes? Having spent many years interviewing engineers at all levels, you begin to identify patterns of success, and antipatterns to avoid. What I would like to do is to give you my own recommendations of how you can maximise your chance of reaching the first rung of the ladder.On Writing Well - Principles2021-09-09T00:00:00+01:002021-09-09T00:00:00+01:00https://garyrafferty.com/reading/On-Writing-Well<p>I recently read <a href="https://www.amazon.co.uk/Writing-Well-30th-Anniversary/dp/0060891548/">On Writing Well</a>, by William Zinsser. <br />
In this book, the author provides seven principles that can be used to write great non-fiction.
These are my notes.</p>
<h2 id="the-transaction">The Transaction</h2>
<p>At the heart of all great, non-fiction writing, is a personal transaction that projects the passion and nature of the writer.
Each of us has our own background and experiences which shape the stories that we tell. Often, this is what captivates the reader.</p>
<h2 id="simplicity">Simplicity</h2>
<p>The best sentences are devoid of words and jargon that do not add value. We should strive to distill our sentences down to the bare minimum
that conveys the message. This refers not only to its length, but can also include inconsistent tenses, switching pronouns mid-sentence, or disconnected flows.</p>
<p>The simpler the sentence, the easier it will be to understand. Eliminate what is not useful. Be concise.</p>
<p><img src="/assets/images/writing/IMG_2240.jpg" alt="clutter" /></p>
<h2 id="clutter">Clutter</h2>
<p>Deweed words and phrases that do not serve any purpose. The author gives some common examples of weeds to identify.</p>
<h3 id="word-clusters">Word Clusters</h3>
<ul>
<li>I might add</li>
<li>It should be pointed out</li>
<li>It is interesting to note</li>
<li>Until such time</li>
</ul>
<h3 id="superfluous-wording">Superfluous Wording</h3>
<ul>
<li>Are you experiencing any pain vs Does it hurt</li>
<li>A personal friend of mine vs My friend</li>
<li>At the present time vs Now</li>
</ul>
<h3 id="unnecessarily-long-words">Unnecessarily Long Words</h3>
<ul>
<li>Assistance vs Help</li>
<li>Remainder vs Rest</li>
<li>Initial vs First</li>
<li>Referred to as vs Called</li>
<li>Numerous vs Many</li>
</ul>
<p>Inspect every word, critically assessing if it adds value.</p>
<h2 id="style">Style</h2>
<p>Embrace your own style. When you try to sound like somebody else, you will lose that personal connection, and readers will pick up on the ingenuity.
To help this, write in the first person, when possible.</p>
<p>Similar to what was described in “The Transaction”, sell yourself and your style.</p>
<h2 id="the-audience">The Audience</h2>
<p>You can’t please everybody, nor can you appeal to every reader, so write for yourself. This also means writing as yourself.
If you would not say something in conversation, then don’t write it. The author gives some common examples like “moreover” and “indeed”.</p>
<p>I don’t fully agree with this. I think that some words flow better when written than spoken, but food for thought nonetheless.</p>
<h2 id="words">Words</h2>
<p>Reject journalese.<br />
I had not heard this word before, but it is described as “a hackneyed style of writing supposedly characteristic of that in newspapers and magazines.”<br />
Some examples of journalese include words such as “greats” and “notables”, padded verbs such as “beef up”, “hammered out” etc.
Takeaway is that we have a plethora of actual words at our disposal. Use them.</p>
<h2 id="usage">Usage</h2>
<p>“Good usage, to me, consists of using good words if they already exist - as they usually do - to express myself clearly and simply to someone else”.</p>Gary RaffertyI recently read On Writing Well, by William Zinsser. In this book, the author provides seven principles that can be used to write great non-fiction. These are my notes.Feedback Templates - SBIN vs COIN2021-04-01T00:00:00+01:002021-04-01T00:00:00+01:00https://garyrafferty.com/learning/Feedback-Templates<p>Some notes on two different feedback templates, and my 2c on when to opt for one over the other.<br />
Almost identical, they differ only on how the stage is opened and closed.</p>
<h2 id="sbin">SBIN</h2>
<p>SBIN is a helpful one for providing feedback that is directly linked to a particular situation. The acronym stands for Situation, Behaviour, Impact, Next Steps.</p>
<p>Personally, I find this helpful for providing behavioural feedback.
Use this one when referencing a particular setting, such as a meeting, or team event. Also relevant when you do not have a close relationship with the receiver.</p>
<h3 id="situation">Situation</h3>
<p>In last week’s Sprint Review.</p>
<h3 id="behaviour">Behaviour</h3>
<p>I noticed that you regularly spoke over the other engineers, and cut people off mid sentence.</p>
<h3 id="impact">Impact</h3>
<p>This led to a noticeable decrease in participation, and as a result, reduced learnings for the team.</p>
<h3 id="next-steps">Next Steps</h3>
<p>Going forward, I would like you to encourage your peers to contribute, and to be mindful of letting them finish their points before speaking.</p>
<h2 id="coin">COIN</h2>
<p>COIN is a helpful one for providing similar feedback, but framed against a goal or objective of the receiver. The acronym stands for Connection, Observation, Impact, Next Steps.</p>
<p>This one is helpful for referencing a personal connection, and usually requires a closer relationship.</p>
<h3 id="connection">Connection</h3>
<p>We’ve talked about your goal to become a people leader, and I wanted to discuss your leadership of our Sprint Review last week.</p>
<h3 id="observation">Observation</h3>
<p>I noticed that you regularly spoke over the other engineers, and cut people off mid sentence.</p>
<h3 id="impact-1">Impact</h3>
<p>This led to a noticeable decrease in participation, and as a result, reduced learnings for the team.</p>
<h3 id="next-steps-1">Next Steps</h3>
<p>A strong leader is responsible for ensuring that their team feels safe and valued. I would like you to lead by example by encouraging participation and allowing everyone’s voice to be heard in the next Sprint Review.</p>
<h2 id="conclusion">Conclusion</h2>
<p>The difference is subtle.<br />
When there is a personal connection to the feedback, it can be useful to opt for COIN, but when the feedback is situation specific, then I opt for SBIN. When the connection refers to a long-running goal or career aspiration, you may find that the C (of COIN) is more static, than the S (of SBIN).</p>Gary RaffertySome notes on two different feedback templates, and my 2c on when to opt for one over the other. Almost identical, they differ only on how the stage is opened and closed.