<?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: Aaron Ransley</title>
    <description>The latest articles on DEV Community by Aaron Ransley (@aaronransley).</description>
    <link>https://dev.to/aaronransley</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%2F86656%2Fa4a7df43-1929-4b10-baa0-5e064d5d61e6.jpg</url>
      <title>DEV Community: Aaron Ransley</title>
      <link>https://dev.to/aaronransley</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aaronransley"/>
    <language>en</language>
    <item>
      <title>The Woes &amp; Reliefs of Technical Recon</title>
      <dc:creator>Aaron Ransley</dc:creator>
      <pubDate>Wed, 27 Jul 2022 22:52:00 +0000</pubDate>
      <link>https://dev.to/aaronransley/the-woes-of-technical-recon-41fc</link>
      <guid>https://dev.to/aaronransley/the-woes-of-technical-recon-41fc</guid>
      <description>&lt;p&gt;Let's talk about "velocity", crunch, and old habits. There is a particular habit that inspires this note, which is a tendency to:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sprint ahead as work begins. Use time to gather insights. Sometimes prototype solutions unprompted. Amass many questions related to unknown quantities - often referred to as "opens."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I've developed this habit by working in environments where planning, execution, and testing are all delegated to me as a "solo developer."&lt;/p&gt;

&lt;p&gt;The term &lt;strong&gt;Technical Recon&lt;/strong&gt; seems to fit best when describing this approach. In the past, this technique has helped me to build trust with &lt;em&gt;non-technical stakeholders&lt;/em&gt;. I have also used it to encourage consideration of systems and edge-cases earlier. This has generally enhanced the fidelity of development estimates around effort.&lt;/p&gt;

&lt;p&gt;And yet, &lt;strong&gt;Technical Recon&lt;/strong&gt; can cause friction when applied out of habit. Particularly when the stakeholders for a project are technical experts themselves. You run the risk of shifting focus to non-issues which you may not comprehend. It can also be disruptive to production efforts.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wxtFfiUE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1490775949603-0e355e8e01ba%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8%26auto%3Dformat%26fit%3Dcrop%26w%3D1800%26h%3D500%26q%3D80" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wxtFfiUE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1490775949603-0e355e8e01ba%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8%26auto%3Dformat%26fit%3Dcrop%26w%3D1800%26h%3D500%26q%3D80" width="880" height="244"&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Over the years, I've become more hesitant to apply Technical Recon during projects. My reasoning follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;It can be stressful.&lt;/strong&gt; The phrase "save the gas for when you need it" seems pertinent. Pushing toward complexity is sometimes necessary, but not always. For example, Technical Recon can be very useful when estimating high risk implementations.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;It can derail personal focus and leave known quantities neglected.&lt;/strong&gt; Over-application of Technical Recon has led to less-than-robust implementations of simpler systems. With attention spread too thin, more complex code becomes a "fan favorite". Known quantities become an afterthought. This is sometimes necessary - when timelines are hyper-aggressive - but it runs contrary to my love of robust software engineering.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;It can be disruptive to the greater team.&lt;/strong&gt; Asking team leads increasingly obscure questions. Proposing esoteric problem solving during focused meetings with teammates. It feels more healthy - both socially and technically - to have a shared set of immediate problems to solve. An insular set of long-term "maybe problems" are less suited to team discussions.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2Rdf9ci2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1605451933901-75d3f54d3edf%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8%26auto%3Dformat%26fit%3Dcrop%26w%3D1800%26h%3D900%26q%3D80" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2Rdf9ci2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1605451933901-75d3f54d3edf%3Fixlib%3Drb-1.2.1%26ixid%3DMnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8%26auto%3Dformat%26fit%3Dcrop%26w%3D1800%26h%3D900%26q%3D80" width="880" height="440"&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;The remedy for these types of issues - strangely enough, as I've found - is to do less and think less. Space can still be reserved for &lt;strong&gt;Technical Recon&lt;/strong&gt; - even as projects are in mid-production - but they can become team efforts. Once complete, the focus can shift back to immediate problems.&lt;/p&gt;

&lt;p&gt;Since recognizing the existence of this habit and making a more focused effort to relax into the process of engineering a project, I've discovered a healthier balance in my day-to-day work as a developer.&lt;/p&gt;

&lt;p&gt;I highly recommend considering whether or not you are taking part in Technical Recon as a force of habit. &lt;/p&gt;

&lt;p&gt;Perhaps you have a tendency towards habitual exploratory research as well? Is it perhaps a survival mechanism that developed as a result of wrestling with hidden complexities in the past? Or, maybe you are just drawn - like a moth to a flame - to the most complex aspects of a development project.&lt;/p&gt;

&lt;p&gt;In any case, growing awareness around habits like these can be a wonderful way to unburden yourself and increase mental bandwidth.&lt;/p&gt;

</description>
      <category>management</category>
      <category>productivity</category>
      <category>collaboration</category>
      <category>estimation</category>
    </item>
    <item>
      <title>the journey to accessible websites — coming soon</title>
      <dc:creator>Aaron Ransley</dc:creator>
      <pubDate>Thu, 10 Mar 2022 05:02:37 +0000</pubDate>
      <link>https://dev.to/aaronransley/the-journey-to-accessible-websites-coming-soon-3bco</link>
      <guid>https://dev.to/aaronransley/the-journey-to-accessible-websites-coming-soon-3bco</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NFF6vIEX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zjyh6t1peaoiz15ojty2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NFF6vIEX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zjyh6t1peaoiz15ojty2.png" alt="1) learning so many neat things about building accessible websites 2) “how accessible are my projects, anyways?” 3) “lemme just do a quick scan here” 4) 972 total issues; 631 critical issues; 100 serious issues; 207 moderate issues; 34 minor issues 5) *concerned face, slowly putting down the scanning tool*" width="880" height="590"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Discussion: Physics Sandboxes vs. Deterministic Event Timelines</title>
      <dc:creator>Aaron Ransley</dc:creator>
      <pubDate>Wed, 09 Mar 2022 00:02:12 +0000</pubDate>
      <link>https://dev.to/aaronransley/discussion-physics-sandboxes-vs-deterministic-event-timelines-25ef</link>
      <guid>https://dev.to/aaronransley/discussion-physics-sandboxes-vs-deterministic-event-timelines-25ef</guid>
      <description>&lt;p&gt;I wanted to ask a question I've always wondered about to the larger crowd of gamedevs out there:&lt;/p&gt;

&lt;blockquote&gt;
&lt;h4&gt;
  
  
  Why is there often a disconnect between the movement / locomotion systems that a player interacts with, and the ones used in cutscenes or other in-game events?
&lt;/h4&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is a super open-ended and broad question, so I'll give some examples:&lt;/p&gt;




&lt;h2&gt;
  
  
  As a player in a game with a 3rd person action RPG style camera system, I run to a ledge and press the jump button.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;My character is propelled upwards and then falls to the ground below. &lt;/li&gt;
&lt;li&gt;The speed at which I feel rise to the apex of my jump and the speed at which I fall to the ground are consistent with jumps I've made in other areas of the game. &lt;/li&gt;
&lt;li&gt;Everything feels grounded and consistent.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nice!&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  As a player in a game with a 3rd person action RPG style camera, an in-game event begins.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;An NPC spawns on a ledge above me and moves towards the edge. 1. They jump off the ledge, but rather than rising to the apex of their jump and falling to the ground at a consistent speed, they seem to travel more quickly or more slowly than I would as a player. &lt;/li&gt;
&lt;li&gt;The NPC appears stiff, glued to a precalculated path, their animations playing out at whatever speed will guarantee they travel from Point A to Point B in exactly 1.2 seconds. &lt;/li&gt;
&lt;li&gt;Do the physics calculations in this world not apply to them as they do to me? &lt;/li&gt;
&lt;li&gt;I feel pulled out of the world and hyper aware of the "gaminess" of what is happening on screen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bleh.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  As a player, I'm zooming around the world of Destiny 2.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;I'm on my sparrow, a space-magic imbued mount that has S+ tier game-feel baked in every way.&lt;/li&gt;
&lt;li&gt;My field of view changes as I speed up.&lt;/li&gt;
&lt;li&gt;I turn and opt to engage the "cornering" button which modifies the sparrow's friction in the environment. &lt;/li&gt;
&lt;li&gt;I snap around a corner and press another button to hop off my sparrow. &lt;/li&gt;
&lt;li&gt;The momentum of my action launches the sparrow into a nearby wall, and then it falls down a chasm. &lt;/li&gt;
&lt;li&gt;I'm so immersed! So present in the game world!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nice!&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  As a player, a new "Public Event" starts in the shared game world of Destiny 2.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;A "move the payload" prop appears and I hop onto the object.&lt;/li&gt;
&lt;li&gt;It's velocity immediately changes from 0 to 100 [insert units] per second. &lt;/li&gt;
&lt;li&gt;Ooof, that was a bit jarring. &lt;/li&gt;
&lt;li&gt;My field of view does not change while on the payload, despite the speed change. &lt;/li&gt;
&lt;li&gt;The payload comes up on a corner and rounds it. It does so with absolute precision, a clean 90-degree arc. &lt;/li&gt;
&lt;li&gt;There is no banking of the payload; it does not "lean into" the turn. &lt;/li&gt;
&lt;li&gt;An obstacle ahead blocks the path, and the payload stops suddenly. The velocity changes from 100 [insert units] per second to 0. &lt;/li&gt;
&lt;li&gt;There is no momentum or sense of physicality to its movements.&lt;/li&gt;
&lt;li&gt;I'm pulled from the game world and note the disparity between my actions and those of the props in the world.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Yuck.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Hopefully these examples are illustrative enough to paint the picture I'm trying to communicate. With my understanding of game development systems, I imagine a lot of these disparities are due to developers needing to ensure the determinism of these systems that interact directly with the player. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Jumping NPC
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;The NPC needs to spend only X number of seconds in the air, so their act of jumping off a ledge isn't calculated via the physics constants in the world but is instead calculated in a way where gameplay programmers can ensure Actor A can reliably navigate from Transform B to Transform C without unforeseen physics sandbox issues.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Stiff Payload
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Along with the needs of the above w/r/t avoid physics sandbox issues, the payload needs to arrive at each checkpoint in a fixed amount of time. It is simpler to attach the payload to a path and have it advance at a fixed speed, ensuring it arrives at the appropriate time and triggers the next set of event behaviors. The payload does not slow down if it hits a player or a physics prop; it triggers collision on other objects but is not influenced by collision itself.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;This all seems to suggest that determinism is the motivating factor here.&lt;/p&gt;

&lt;p&gt;In all honesty, my question is almost entirely answered by now, just by typing this all out, but I'd still like to pose it to anyone who may want to weigh in with anecdotes or wisdom:&lt;/p&gt;

&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Why are some systems of a game setup to &lt;code&gt;A)&lt;/code&gt; live "in the world", with full collision and kinematics, whereas others seem to be &lt;code&gt;B)&lt;/code&gt; built almost like "event timelines" that play out in a predetermined way?
&lt;/h2&gt;
&lt;/blockquote&gt;

&lt;p&gt;My gut tells me: &lt;strong&gt;cost&lt;/strong&gt; and &lt;strong&gt;scope&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;While the game-feel and satisfaction of interacting with systems of type &lt;code&gt;A)&lt;/code&gt; is unparalleled (think Rockstar's Red Dead Redemption 2, or Arkane sandboxes like Dishonored / Prey), it creates an enormous soup of variables and testing edge cases. Type &lt;code&gt;B)&lt;/code&gt; is simply cheaper to implement, more predictable and more easily reasoned about during development and QA cycles.&lt;/p&gt;




&lt;p&gt;Jeez, anyways, this is a huge post now so I'm going to sign off on it for now. &lt;/p&gt;

&lt;p&gt;Very much looking forward to hearing from folks who have come across these decisions themselves in their games (2D, 3D, VR, I imagine these decisions aren't unique to genre or technologies) and hope to learn more about how y'all make the choice between interactivity + emergent gameplay vs. predictability + guided experiences.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Request for Opinion: Modal UI Archetypes &amp; Naming</title>
      <dc:creator>Aaron Ransley</dc:creator>
      <pubDate>Wed, 02 Feb 2022 19:44:42 +0000</pubDate>
      <link>https://dev.to/aaronransley/request-for-opinion-modal-ui-archetypes-naming-4ml5</link>
      <guid>https://dev.to/aaronransley/request-for-opinion-modal-ui-archetypes-naming-4ml5</guid>
      <description>&lt;p&gt;i am developing a modal system in my application, and i want to define a taxonomy for different archetypes of modals.&lt;/p&gt;

&lt;p&gt;so far I have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;utility modals: those which are invoked only briefly, are generally smol + direct, and aren't addressable via URL&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;detail modals: those which are invoked to support a deeper workflow (e.g. editing a record, display medium-length content) and are presented as 50vw flyouts. may or may not be addressable via URL&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;the thing I want to come up with a name for is: "detail modals that can be invoked from more than one context and may have differing URLs based on the invoking context"&lt;/p&gt;

&lt;p&gt;e.g. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;detail modal supporting &lt;code&gt;OperationA&lt;/code&gt; on &lt;code&gt;RecordB&lt;/code&gt;, launched from &lt;code&gt;ContextA&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;vs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;detail modal supporting &lt;code&gt;OperationA&lt;/code&gt; on &lt;code&gt;RecordB&lt;/code&gt;, launched from &lt;code&gt;ContextB&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;i'm specifically looking for a succinct "name" for these types of &lt;code&gt;Context Aware Detail Modals&lt;/code&gt; (this being my current "best name")&lt;/p&gt;

&lt;p&gt;would love to hear your thoughts on if there's something more clear to describe this behavior&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Finding a Sense of Impact in Web Development</title>
      <dc:creator>Aaron Ransley</dc:creator>
      <pubDate>Thu, 19 Aug 2021 02:02:42 +0000</pubDate>
      <link>https://dev.to/aaronransley/finding-a-sense-of-impact-in-web-development-1o8e</link>
      <guid>https://dev.to/aaronransley/finding-a-sense-of-impact-in-web-development-1o8e</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;How does one align themselves with projects that speak to their core beliefs? Is it naïve to think this kind of balance exists, or that it is achievable while working for someone other than oneself?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Whew. This is a tough one for me.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For some context, I work at an advertising agency that specializes in high-visibility, "boutique" digital experiences. That is to say, high-budget websites. I am a Senior Developer focused on frontend development, working alongside ~8 other developers with varying specializations and backgrounds.&lt;/p&gt;

&lt;p&gt;But back to the topic at hand: how do I find a sense of positive impact? Positive impact on the agency I work for; positive impact on the clientele for a given project; positive impact even on the world?&lt;/p&gt;

&lt;p&gt;I occasionally have the privilege of working on a project with noble aspirations; a desire to address the injustices of the world. This is rare. Most often, I feel at-odds with the values that many clients bring to the table, and in turn I feel at-odds with contributing to their success.&lt;/p&gt;

&lt;p&gt;From private equity firms run by old-money millionaires, to exorbitantly priced hotels, retreats or resorts, there is a distinct impression that these companies and organizations do not exist to better our planet or society, but instead exist chiefly to turn a profit from those with disposable income to spare.&lt;/p&gt;

&lt;p&gt;To further complicate things, these projects stand in stark contrast with the immense joy and fulfillment I feel when helping fellow team members. Whether it is through building a new technology or tool that improves their day-to-day life; through teaching and mentoring; or by advocating for a teammate, this kind of work is at the core of what I feel to be impactful.&lt;/p&gt;

&lt;p&gt;When the cards fall in such a way that my chief responsibility for given project is not "build the site so the client is happy, don't think too much about the company behind the curtain", I come alive with a sense of pride and belief that my work is creating the impact this company value speaks to. In other contexts, this is not so much the case.&lt;/p&gt;

&lt;p&gt;But it is still such a mystery to me... These questions have been keeping me up at night lately.&lt;/p&gt;

&lt;p&gt;And so I'm writing this to see if there are others out there who feel the same way; who have the same questions or perhaps have walked this path before. What are your solutions, your technologies, your mindsets? I would love to know how you find a sense of impact in the vast landscape of web development.&lt;/p&gt;

&lt;p&gt;Please leave a comment if you have thoughts you would like to share. You can also &lt;a href="https://twitter.com/aaronransley"&gt;find me on Twitter as @aaronransley&lt;/a&gt;, or &lt;a href="//mailto:me@aaronransley.com"&gt;shoot me an email&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Impactfully,&lt;br&gt;
Aaron&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What Is It Like to Write Code For a Living?</title>
      <dc:creator>Aaron Ransley</dc:creator>
      <pubDate>Thu, 17 Sep 2020 05:02:00 +0000</pubDate>
      <link>https://dev.to/aaronransley/what-is-it-like-to-write-code-for-a-living-o36</link>
      <guid>https://dev.to/aaronransley/what-is-it-like-to-write-code-for-a-living-o36</guid>
      <description>&lt;p&gt;Having been employed as a programmer for ~14 years, the following is a stream-of-conciousness breakdown of my experiences. Buckle in for some random tidbits and read on!&lt;/p&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/z543qvo77e98/5ThO1AD0jRzRIm8aHLUban/57ebcee9358c5f11b62305c98609ec90/photo-1598223012104-78f9fe51f8c5" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/z543qvo77e98/5ThO1AD0jRzRIm8aHLUban/57ebcee9358c5f11b62305c98609ec90/photo-1598223012104-78f9fe51f8c5" alt="ambient-architecture"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Ensuring Specifications
&lt;/h2&gt;

&lt;p&gt;While they can be very brief, I always strive to have at least some kind of specification from the stakeholder or client to work towards. The rule of thumb is "as long as it offers some form of a &lt;code&gt;finish line&lt;/code&gt;, it's good enough". I can always eek by with less-than-ideal levels of detail.&lt;/p&gt;

&lt;p&gt;Often, work is broken down into milestones where I'll round up with a stakeholder and verify my work so far against their desired goal(s).&lt;/p&gt;

&lt;p&gt;Here, things can pivot or change in direction, and the most important aspect of these kinds of meetings is capturing any new direction. Remaining flexible &amp;amp; understanding shifting goals can sometimes be tough, but it pays off to not get too attached to any early development efforts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tracking the Work
&lt;/h2&gt;

&lt;p&gt;I'm always using an issue tracker like JIRA, Redmine, Trello, etc. In rare cases work will be tracked exclusively through Slack or a series of phone calls, but even in these cases it can be helpful to use a personal task tracking solution to keep things organized.&lt;/p&gt;

&lt;p&gt;Ensuring that change requests are tracked in these systems is &lt;em&gt;critical&lt;/em&gt; as well. It's helpful when another dev needs to come in and take over work &amp;amp; understand how specifications changed over time, but also for stakeholders to understand the impact of changes on budget, delivery timelines, and so on.&lt;/p&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/z543qvo77e98/62fZVuYZxgN85hZaZJhDDG/f6b86e8a697f633611698e0524e0e832/photo-1507925921958-8a62f3d1a50d" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/z543qvo77e98/62fZVuYZxgN85hZaZJhDDG/f6b86e8a697f633611698e0524e0e832/photo-1507925921958-8a62f3d1a50d" alt="todo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Doing the Work
&lt;/h2&gt;

&lt;p&gt;Making sure I have uninterrupted hours for just getting things done is essential.&lt;/p&gt;

&lt;p&gt;A typical cycle I might find myself repeating for any project is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Planning; sketches in a notebook or online flow-charting system&lt;/li&gt;
&lt;li&gt;Writing the code (notice how everything else is in support of this humble list item?)&lt;/li&gt;
&lt;li&gt;Debugging using &lt;em&gt;proper tools&lt;/em&gt;. This is huge and in my later years of development I've come to recognize how proper debugging tools can save you &lt;em&gt;immense&lt;/em&gt; amounts of time. Use breakpoints, work smarter not harder, etc.&lt;/li&gt;
&lt;li&gt;Googling problems or error messages not covered in documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Speaking of problem solving and Googling...&lt;/p&gt;

&lt;h2&gt;
  
  
  Googling Things
&lt;/h2&gt;

&lt;p&gt;One of the most common gate-keeping strategies in tech is to insinuate that "real devs don't need to Google stuff every five minutes" — this is false and ridiculous.&lt;/p&gt;

&lt;p&gt;We only have so much mental bandwidth, and focusing on the abstract problem at hand should comes, while implementation details come second.&lt;/p&gt;

&lt;p&gt;I spend an enormous amount of time reading documentation for language features, individual open-source packages, paid vendor libraries, API specifications, and so on. I Google for error messages and strange behaviors I'm not expecting. &lt;strong&gt;This is clutch.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Without many hours of writing the same kinds of code over and over again, there will always be a need to reference documentation and external knowledge.&lt;/p&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/z543qvo77e98/nqKtLwZrI4VWQgD5j862b/71f448cc6a0c77240370fe80d7933954/photo-1517420704952-d9f39e95b43e" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/z543qvo77e98/nqKtLwZrI4VWQgD5j862b/71f448cc6a0c77240370fe80d7933954/photo-1517420704952-d9f39e95b43e" alt="testing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing, Implementation, DevOps
&lt;/h2&gt;

&lt;p&gt;I'll regularly push code I've work on to remote environments for staging and verification. I manage code and supporting assets in source control (e.g Git, Perforce) for a project; checkouts, merges, commits, and the like.&lt;/p&gt;

&lt;p&gt;Occasionally, there might be responsibilities for setting up hosting environments for web frontend/web backend services, configuring databases, or working within various services specific to domains, DNS, and so on.&lt;/p&gt;

&lt;p&gt;Verifying functionality once code or product is running on a remote environment is important. The goal here is to primarily avoid a "Well, it works on my PC!" mentality. I think it's key to take ownership and ensure things are working in a context outside of local development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Research, research, research!
&lt;/h2&gt;

&lt;p&gt;Much of my time is spent Googling and just hanging out online. While it's a part of pretty much any career in tech these days, it's not always about solving direct problems on Stack Overflow or a in a technical Slack group.&lt;/p&gt;

&lt;p&gt;I'll spend time reading postmortems from large industry projects, articles about new technologies or techniques, as well as more broad concepts like systems architecture and how each "brick" of a large programming project can come together to form the &lt;em&gt;grand masonry&lt;/em&gt; of the finished superstructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Experimentation
&lt;/h2&gt;

&lt;p&gt;Spinning up personal projects to explore a new technology or technique is something I find myself doing often. It has the potential to really put some wind in my sails during a lull at work, or when the project(s) I'm working on are very rote; I like new things!&lt;/p&gt;

&lt;p&gt;It's easy to feel like there's just too much to do, and not enough time. Keep an eye on self care and don't burn out!&lt;/p&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/z543qvo77e98/2aHDySMgzwQLLar38Zm7AM/7a8ea5cb1479940765e4a65221078c96/image.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/z543qvo77e98/2aHDySMgzwQLLar38Zm7AM/7a8ea5cb1479940765e4a65221078c96/image.png" alt="stripes-pro-con"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Pros &amp;amp; Cons
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Likes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Creative opportunities. There are many ways to solve a single issue, and finding the optimal route to a solution is engaging and rewarding.&lt;/li&gt;
&lt;li&gt;Programming is powerful. There is so much that can be automated or enabled by coding. The applications for these skills are really broad, and expertise can travel across all kinds of industries.&lt;/li&gt;
&lt;li&gt;In the mix. Unlike some disciplines that come either before or after a project's production phase, development often occurs in the heart of the pipeline. This makes for lots of collaborative opportunities, chances to right wrongs, push functionality towards it's best possible incarnation, and so forth.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Dislikes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Chiefly technical. Despite there being creative opportunities for implementation, development exists in a realm where the "correct" outcome can be expressed with cold, hard logic. This leaves less room for creative expression, which can be draining over time.&lt;/li&gt;
&lt;li&gt;Rote. Once you're comfortable with a given problem domain, writing code can become little more than wiring together known quantities. Access API X, verify outcome Y, output result Z, and so forth.&lt;/li&gt;
&lt;li&gt;Toxic gatekeepers. While this kind of thing can be found it almost any industry or career path, I feel pretty strongly that the expertise and esoteric knowledge gained during a programming career pushes people towards these tendencies.

&lt;ul&gt;
&lt;li&gt;More times than I can count, I have encountered folks who are more interested in being the keeper of knowledge than a purveyor of solutions or collaboration.&lt;/li&gt;
&lt;li&gt;Avoiding this can be difficult, and I often want to escape to a more subjective discipline when faced with team members or clients like this.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  In Closing
&lt;/h2&gt;

&lt;p&gt;While I love the pragmatic approaches necessary to be successful in development, I long increasingly for work that allows for more subjective expression and offers more opportunity for emotional storytelling. These days, the realities of programming full-time have inspired me to begin thinking about a shift in focus. Perhaps away from technical expertise and more towards technical writing, documentation, or educational materials.&lt;/p&gt;

&lt;p&gt;In any case, I am sure my development experience will enhance whatever I find myself doing next. It's a wonderful set of skills to have cultivated over the years.&lt;/p&gt;

&lt;p&gt;Please reach out if you have any questions about your own journey in programming or beyond. You can &lt;a href="https://twitter.com/aaronransley"&gt;find me on Twitter as @aaronransley&lt;/a&gt;, or &lt;a href="//mailto:contact@aaronransley.com"&gt;shoot me an email&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>career</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Comfort in Collaboration</title>
      <dc:creator>Aaron Ransley</dc:creator>
      <pubDate>Mon, 11 Nov 2019 23:57:37 +0000</pubDate>
      <link>https://dev.to/aaronransley/comfort-in-collaboration-5flh</link>
      <guid>https://dev.to/aaronransley/comfort-in-collaboration-5flh</guid>
      <description>&lt;p&gt;The teams where I am happiest are the ones that employ regular, thoughtful pauses. After a moment, an astute project manager might ask what a quiet member of the team thinks. They answer with the insight the discussion needed, and the ball rolls on.&lt;/p&gt;

&lt;p&gt;These are teams where hypotheticals are encouraged, and people can think aloud without worry of being "in the weeds."&lt;/p&gt;

&lt;p&gt;Cost, complexity, and scheduling are shared pillars that everyone should have the ability to question. In doing so, understanding between team members is reinforced, and the project's deliverable is likely made stronger as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Antithesis
&lt;/h2&gt;

&lt;p&gt;Nothing is more contrary to a well-oiled project team than ego. To be in a room—or on a call—where you feel only the loudest and biggest are heard is the death of honest, open collaboration.&lt;/p&gt;

&lt;p&gt;In my experience, many managers (project or general) do not feel comfortable with the uncertainty necessary to facilitate open, non-judgemental meeting spaces. To realize bulleted points in an agenda cannot be developed for each moment of a conversation truly is a tough pill for many to swallow. The result is project teams (and entire companies) assembled largely from people who are forced to over-promise, under-question, and scramble to deliver.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Ask yourself&lt;/strong&gt;:&lt;br&gt;Do you wonder if you will be unfairly judged when asking a question on your team, or any of the teams you're a part of? If so, your energy is being dangerously rationed. The actual problem your team is there to solve has become secondary to appearances and politics. Not to mention this sort of thing suggests deep toxicity in the workplace.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Teams that are filled with members who don't ask the questions they deeply want to are tragic. If these patterns go on long enough, team members who were once curious can &lt;em&gt;lose sight of the questions that mattered to them in the first place&lt;/em&gt;. They go "heads down", and promise to "circle back" at a later date. Fear like this has no place in the workplace, and no one should be made to feel so small.&lt;/p&gt;

&lt;h2&gt;
  
  
  Be Golden
&lt;/h2&gt;

&lt;p&gt;If you're a part of a team that suffers from these dark patterns, consider these strategies. Even if you aren't in a position of leadership, there is almost certainly a way you can help steer things in a more positive direction:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adopt a position of renewed curiosity. With the purest intention you can muster, try asking some hypothetical questions during the least tumultuous moments of a meeting.&lt;/li&gt;
&lt;li&gt;Gently ask the quietest person in a meeting what they think.&lt;/li&gt;
&lt;li&gt;Eschew titles and seniority in favor of curiosity. Ask the newest member of a team what they think about a longstanding issue.&lt;/li&gt;
&lt;li&gt;Send out an email with meeting notes, asking for feedback on topics that may have been hurried over. &lt;/li&gt;
&lt;li&gt;Be liberal with your @mentions in Slack or other chat tools. Encourage conversation and set an example of inclusion.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And of course, if all else fails, or if you're simply ready to move on: &lt;strong&gt;search for a healthier place to work.&lt;/strong&gt; No one deserves to be unhappy, especially when the grass is truly greener.&lt;/p&gt;

&lt;p&gt;Remember that it's never too late to take a step towards joining the hundreds of thousands of people (citation needed) who recognize that kindness and curiosity are the fuel for greatness. &lt;/p&gt;

&lt;p&gt;❤&lt;/p&gt;

</description>
      <category>management</category>
      <category>people</category>
      <category>motivation</category>
      <category>health</category>
    </item>
    <item>
      <title>Blogging despite fear of Twitter Cool Guys using 1) lists and 2) GIFs</title>
      <dc:creator>Aaron Ransley</dc:creator>
      <pubDate>Tue, 16 Jul 2019 20:02:47 +0000</pubDate>
      <link>https://dev.to/aaronransley/blogging-despite-fear-of-twitter-cool-guys-using-1-lists-and-2-gifs-2ldh</link>
      <guid>https://dev.to/aaronransley/blogging-despite-fear-of-twitter-cool-guys-using-1-lists-and-2-gifs-2ldh</guid>
      <description>&lt;p&gt;I wish it was easier to come up with something to write about! I have a blog over at &lt;a href="https://aaronransley.com/blog"&gt;aaronransley.com/blog&lt;/a&gt; that I'm trying to get off the ground, but it's tough to find topics to write about.&lt;/p&gt;




&lt;p&gt;My process typically goes something like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I want to write, and share with the world!&lt;/li&gt;
&lt;li&gt;Oh, I'll write about XYZ from work!&lt;/li&gt;
&lt;li&gt;Wait, I can't really share that because it's Company Secrets.&lt;/li&gt;
&lt;li&gt;Maybe I'll write about this cool tech I used!&lt;/li&gt;
&lt;li&gt;Ok, now to just make it abstract enough that it isn't Company Secrets.&lt;/li&gt;
&lt;li&gt;Hmm, this is really watered down.&lt;/li&gt;
&lt;li&gt;These 19 other blog posts do a much better job of explaining this concept.&lt;/li&gt;
&lt;li&gt;I shouldn't waste anyone's time. 😢&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Next, I'll pivot to something more pet-project in nature:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I want to write, and share with the world!&lt;/li&gt;
&lt;li&gt;Oh, I'll write about XYZ personal site!&lt;/li&gt;
&lt;li&gt;Wait, this project is so simple that it doesn't warrant a blog post.&lt;/li&gt;
&lt;li&gt;I should work on more important side projects, things with value!&lt;/li&gt;
&lt;li&gt;Wow, that would take a lot of time. I spend so much time at work on Company Secrets.&lt;/li&gt;
&lt;li&gt;Am I wasting my life working on things I can't share?&lt;/li&gt;
&lt;li&gt;Oh look, 14 new tools from prolific makers on Twitter!&lt;/li&gt;
&lt;li&gt;I'm not smart enough to fit in. 😢&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Ok, one last try. Maybe I'll write about this very thing! Everyone has feelings, right?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I want to write about how I want to write but can't quite get there!&lt;/li&gt;
&lt;li&gt;Ok, here are some Real Thoughts in lists. This is good, I am being honest.&lt;/li&gt;
&lt;li&gt;Wait, this honesty stuff isn't as easy as the LiveJournal days.&lt;/li&gt;
&lt;li&gt;If everyone sees this, will they think I'm a &lt;code&gt;0.1x Beta Professional&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;What if I keep adding items to this list, to make it—like—a thing?&lt;/li&gt;
&lt;li&gt;Hmm, this is kind of working. I'm almost to 8 items.&lt;/li&gt;
&lt;li&gt;What if I just pressed Publish and didn't worry about it?&lt;/li&gt;
&lt;li&gt;Then I'd have done it! I'll have written and shared! 😊&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Am I really going to do this? &lt;em&gt;Why is it so scary?!&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/l4pTqdlMJVeqbxXry/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/l4pTqdlMJVeqbxXry/giphy.gif" width="700" height="700"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Let me just preview things here... Is my Markdown formatting working OK?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/2zZKmC3BnDicRHbm8z/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/2zZKmC3BnDicRHbm8z/giphy.gif" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What about the &lt;em&gt;Hot Takes from The Internet&lt;/em&gt;?!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/yCzWVYBFTOAik/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/yCzWVYBFTOAik/giphy.gif" width="200" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Whatever, here we go.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/3o6oztFarz7aiK2cCc/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/3o6oztFarz7aiK2cCc/giphy.gif" width="700" height="700"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>writing</category>
      <category>justdoit</category>
      <category>fear</category>
      <category>hottakes</category>
    </item>
  </channel>
</rss>
