<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Michael Barany</title>
	<atom:link href="https://michaelbarany.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://michaelbarany.com/</link>
	<description>Experienced Software Engineer &#38; Technical Leader</description>
	<lastBuildDate>Thu, 14 Sep 2023 02:50:46 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://michaelbarany.com/wp-content/uploads/2023/08/cropped-Profile-Picture-Me-32x32.jpeg</url>
	<title>Michael Barany</title>
	<link>https://michaelbarany.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>The Staff Engineer&#8217;s Path</title>
		<link>https://michaelbarany.com/the-staff-engineers-path/</link>
					<comments>https://michaelbarany.com/the-staff-engineers-path/#respond</comments>
		
		<dc:creator><![CDATA[Michael Barany]]></dc:creator>
		<pubDate>Thu, 14 Sep 2023 02:49:31 +0000</pubDate>
				<category><![CDATA[Book Highlights]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://michaelbarany.com/?p=78</guid>

					<description><![CDATA[<p>The following book highlights are from The Staff Engineer&#8217;s Path by Tanya Reilly. Staff+ Role Why do we need engineers who can see the big picture? Staff engineers often take on ambiguous, messy and difficult problems in order to make them manageable by someone else There is no standard model for how Staff+ engineers report [&#8230;]</p>
<p>The post <a href="https://michaelbarany.com/the-staff-engineers-path/">The Staff Engineer&#8217;s Path</a> appeared first on <a href="https://michaelbarany.com">Michael Barany</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-left">The following book highlights are from <a href="https://www.oreilly.com/library/view/the-staff-engineers/9781098118723/">The Staff Engineer&#8217;s Path by Tanya Reilly</a>.</p>


<div class="wp-block-image">
<figure class="alignright size-full is-resized"><img fetchpriority="high" decoding="async" src="https://michaelbarany.com/wp-content/uploads/2023/09/image.png" alt="" class="wp-image-81" style="width:209px;height:313px" width="209" height="313" srcset="https://michaelbarany.com/wp-content/uploads/2023/09/image.png 250w, https://michaelbarany.com/wp-content/uploads/2023/09/image-200x300.png 200w" sizes="(max-width: 209px) 100vw, 209px" /></figure>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Staff+ Role</h2>



<p>Why do we need engineers who can see the big picture?</p>



<ul class="wp-block-list">
<li>Individual teams tend to optimize for their own interests</li>



<li>Decisions that seem to belong to one team have consequences that extend beyond their boundaries</li>



<li>Teams need decision influencers who can take an outsider view and consider the goals of multiple teams</li>



<li>Why can’t this be managers or the CTO?
<ul class="wp-block-list">
<li>Good people managers don’t have time to stay up to date with technical developments</li>
</ul>
</li>



<li>Teams should ideally interlock like a jigsaw puzzle</li>



<li>Staff engineers are cautious of technical debt and are wary of any poor decisions for future maintainers of those systems</li>



<li>More seasoned engineers provide architectural best practices and creates the kind of tooling that makes everyone faster and safer</li>



<li>Staff+ engineers are role models for building quality software</li>
</ul>



<p>Staff engineers often take on ambiguous, messy and difficult problems in order to make them manageable by someone else</p>



<ul class="wp-block-list">
<li>You&#8217;re not a manager, but you are a leader</li>



<li>You’re in a “technical” role</li>



<li>You aim to be autonomous</li>



<li>You set technical direction</li>



<li>You communicate often and well</li>
</ul>



<p>There is no standard model for how Staff+ engineers report into the rest of the engineering organization.</p>



<p>Your reporting chain will likely affect your scope.</p>



<p>Your job is to make your organization successful.</p>



<p>Your time is finite. Be deliberate about choosing a primary focus that’s important and that isn’t wasting your skills.</p>



<h2 class="wp-block-heading">The Shadow Org Chart</h2>



<p>The unwritten structures through which power and influence flow.</p>



<ul class="wp-block-list">
<li>“Connectors” &amp; “old timers”</li>
</ul>



<p></p>



<h2 class="wp-block-heading">Technical Vision &amp; Strategy</h2>



<p>Practice the skills of intentionally looking for a bigger picture and seeing what’s happening.</p>



<p>A technical vision describes the future as you’d like it to be once the objectives have been achieved and the biggest problems are solved.</p>



<p>Resources:</p>



<ul class="wp-block-list">
<li>Fundamentals of Software Architecture by Mark Richards and Neal Ford</li>



<li>Chapter 4 of Making Things Happen by Scott Berkun</li>



<li>How to Set the Technical Direction for Your Team by James Hood</li>



<li>Writing our 3-Year Technical Vision by Daniel Micol</li>
</ul>



<p>A technical strategy is a plan of action. It’s how you intend on achieving your goals, navigating past the obstacles you’ll meet along the way.</p>



<p>Resources:</p>



<ul class="wp-block-list">
<li>Good Strategy / Bad Strategy by Richard Rumelt</li>



<li>Technical Strategy Power Chords by Patrick Shields</li>



<li>Getting to Commitment: Tackling Broad Technical Problems in Large Organizations by Mattie Toia</li>



<li>A Survey of Engineering Strategies by Will Larson</li>



<li>Technology Strategy Patterns by Eben Hewitt</li>



<li>Rands Leadership Slack
<ul class="wp-block-list">
<li>#technical-strategy</li>



<li>#books-good-strategy-bad-strategy</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading">You Have Finite Time</h2>



<p>How busy do you like to be?</p>



<ul class="wp-block-list">
<li>Energy</li>



<li>Credibility</li>



<li>Quality of life</li>



<li>Skills</li>



<li>Social capital</li>
</ul>



<p>Staff+ engineers will be largely responsible for choosing their own work. You are responsible for choosing work that aligns with your life and career needs as well as advancing your company’s goals.</p>



<p>Your social capital and peer credibility are “bank accounts” that you can pay into and spend from.</p>



<p>Free up your resources by giving other people opportunities to grow.</p>



<p>Focus means sometimes saying no.</p>



<p>It’s normal to feel overwhelmed by a huge project. The project is difficult. That’s why it needs someone like you on it.</p>



<p>Leading a project means deliberately driving it, not just letting things happen.</p>



<p>Write things down. Be clear and opinionated. Wrong gets corrected, vague sticks around.</p>



<p>As a project lead you are responsible for understanding why your project has stopped and getting it started again.</p>



<h2 class="wp-block-heading">You Are A Role Model Now</h2>



<p>What does it mean to do a good job?</p>



<ul class="wp-block-list">
<li>Be competent
<ul class="wp-block-list">
<li>Know things</li>



<li>Build experience</li>



<li>Build domain knowledge</li>



<li>Stay up to date</li>



<li>Show that you’re learning (especially to junior engineers)</li>
</ul>
</li>



<li>Be self-aware
<ul class="wp-block-list">
<li>Admit what you know</li>



<li>Admit what you don’t know</li>



<li>Understand your own context</li>
</ul>
</li>



<li>Have high standards
<ul class="wp-block-list">
<li>Seek out constructive criticism</li>



<li>Own your mistakes</li>



<li>Be reliable</li>
</ul>
</li>



<li>Be responsible
<ul class="wp-block-list">
<li>Take ownership</li>



<li>Make decisions</li>



<li>Ask “obvious” questions</li>



<li>Don’t delegate through neglect</li>
</ul>
</li>



<li>Take charge
<ul class="wp-block-list">
<li>Step up in an emergency</li>



<li>Ask for more information when everyone is confused</li>



<li>Drive meetings</li>



<li>If you see something, say something</li>
</ul>
</li>



<li>Create calm
<ul class="wp-block-list">
<li>Defuse, don’t amplify</li>



<li>Avoid blame</li>



<li>Be consistent</li>
</ul>
</li>



<li>Remember the goal
<ul class="wp-block-list">
<li>Remember there’s a business</li>



<li>Adapt to the situation</li>



<li>Be aware that there’s a budget</li>



<li>Spend resources mindfully</li>
</ul>
</li>



<li>Remember there’s a user</li>



<li>Remember there’s a team</li>



<li>Look ahead
<ul class="wp-block-list">
<li>Telegraph what’s coming</li>



<li>Tidy up</li>



<li>Keep your tools sharp</li>



<li>Create institutional memory</li>
</ul>
</li>



<li>Expect failure</li>



<li>Keep it simple</li>



<li>Build to decommission</li>
</ul>



<p>The metric for success is whether other people want to work with you.</p>



<p>Scaling your good influence:</p>



<ul class="wp-block-list">
<li>Individual</li>



<li>Group</li>



<li>Catalyst</li>
</ul>



<p>Forms of influence:</p>



<ul class="wp-block-list">
<li>Advice</li>



<li>Teaching</li>



<li>Guardrails</li>



<li>Opportunities</li>
</ul>



<p>Scaling your teaching to a group</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><cite>You can scale your teaching by creating materials for a class. Putting together a class takes a ton of effort. There’s a high up-front cost for the first time you teach it, but you’ll amortize that cost every time you teach it again.</cite></blockquote>
<p>The post <a href="https://michaelbarany.com/the-staff-engineers-path/">The Staff Engineer&#8217;s Path</a> appeared first on <a href="https://michaelbarany.com">Michael Barany</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://michaelbarany.com/the-staff-engineers-path/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>For Your Consideration</title>
		<link>https://michaelbarany.com/for-your-consideration/</link>
					<comments>https://michaelbarany.com/for-your-consideration/#respond</comments>
		
		<dc:creator><![CDATA[Michael Barany]]></dc:creator>
		<pubDate>Tue, 08 Aug 2023 14:55:59 +0000</pubDate>
				<category><![CDATA[Communication]]></category>
		<category><![CDATA[Code Review]]></category>
		<guid isPermaLink="false">https://new.michaelbarany.com/?p=48</guid>

					<description><![CDATA[<p>About 10 years ago or so I was working at a small tech startup. We had a new &#8220;rockstar&#8221; engineer join my team, we&#8217;ll call him &#8220;Steve&#8221;. As I sent him my Pull Requests he would occasionally add a comment like &#8220;consider &#8230;&#8221;. One time it was &#8220;consider adding a test for this new functionality&#8221;. [&#8230;]</p>
<p>The post <a href="https://michaelbarany.com/for-your-consideration/">For Your Consideration</a> appeared first on <a href="https://michaelbarany.com">Michael Barany</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img decoding="async" width="779" height="328" src="https://michaelbarany.com/wp-content/uploads/2023/08/PR-review-bash-quotes.png" alt="" class="wp-image-65" srcset="https://michaelbarany.com/wp-content/uploads/2023/08/PR-review-bash-quotes.png 779w, https://michaelbarany.com/wp-content/uploads/2023/08/PR-review-bash-quotes-300x126.png 300w, https://michaelbarany.com/wp-content/uploads/2023/08/PR-review-bash-quotes-768x323.png 768w" sizes="(max-width: 779px) 100vw, 779px" /></figure>



<p>About 10 years ago or so I was working at a small tech startup. We had a new &#8220;rockstar&#8221; engineer join my team, we&#8217;ll call him &#8220;Steve&#8221;. As I sent him my Pull Requests he would occasionally add a comment like &#8220;consider &#8230;&#8221;. One time it was &#8220;consider adding a test for this new functionality&#8221;. I thought to myself for a minute and then proceeded to write a test, pushed it up and then sent it over to Steve once more for another review. It was definitely satisfying to get that approval <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> from him.</p>



<p>I soon realized there was some magic in the word &#8220;consider&#8221;. I mean of course as a senior software engineer I knew that unit tests were part of the job, but since testing culture had not been ingrained into my flow I didn&#8217;t feel the desire to write a test. I could have easily brushed off the comment or have ignored it and gotten a &#8220;rubber stamp approval&#8221; from another engineer, but there was something to that word &#8220;consider&#8221; that really convinced me to comply with the suggestion.</p>



<p>Since then I have been adding this word to almost every Pull Request comment I have made. I&#8217;ve even used the word &#8220;consider&#8221; almost passive aggressively at times. Like &#8220;Consider linting this file&#8221; or &#8220;Consider not using this pattern. Consider using the better pattern over here&#8221;.</p>



<p>The other advantage to using this magical word is that it builds up influence with your colleagues. This can be especially useful as you are starting a new job.</p>



<p>So consider using the word &#8220;consider&#8221; when giving feedback to your colleagues. Whether that&#8217;s a review of code, architecture or design documents.</p>
<p>The post <a href="https://michaelbarany.com/for-your-consideration/">For Your Consideration</a> appeared first on <a href="https://michaelbarany.com">Michael Barany</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://michaelbarany.com/for-your-consideration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
