<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Michael Cain</title>
    <description>The latest articles on DEV Community by Michael Cain (@thecodetrane).</description>
    <link>https://dev.to/thecodetrane</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%2F68296%2Fafafbc5b-6fb8-472b-9be3-b68cc972e03e.jpeg</url>
      <title>DEV Community: Michael Cain</title>
      <link>https://dev.to/thecodetrane</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thecodetrane"/>
    <language>en</language>
    <item>
      <title>Year-End Review of An Anonymous Developer</title>
      <dc:creator>Michael Cain</dc:creator>
      <pubDate>Thu, 27 Dec 2018 16:29:52 +0000</pubDate>
      <link>https://dev.to/thecodetrane/year-end-review-of-an-anonymous-developer-39i3</link>
      <guid>https://dev.to/thecodetrane/year-end-review-of-an-anonymous-developer-39i3</guid>
      <description>

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;I didn't get fired and built some cool stuff.&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Me, 2018&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Before We Start...
&lt;/h1&gt;

&lt;p&gt;I'm all for year-end reviews. They can be motivating and inspiring, and we know we all need a little encouragement now and then. I'm happy people post them and collect their social-media accolades.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That said, "Compare and Despair" is real.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For example, I follow &lt;a href="https://twitter.com/sarah_edo"&gt;Sarah Drasner&lt;/a&gt; on Twitter. She's great- insightful, funny, VERY knowledgeable and supportive of her community. She speaks all over the world, (now) has a great family life and has a (seemingly) baller job at Microsoft. Her year-end review was full of world travel, insightful blog posts, marriage and high-status Microsoft work.&lt;/p&gt;

&lt;p&gt;When I went to write mine, it can pretty much be summed up like this:&lt;/p&gt;

&lt;h2&gt;
  
  
  I...didn't get fired and built some cool stuff.
&lt;/h2&gt;

&lt;p&gt;We live in a time where our employment status is not guaranteed. Our field is, I'd argue, more in flux than most. New technology is coming out all the time and the pressure to "diversify your portfolio" is REAL (to me, anyway). I have experienced "compare and despair" when I see other people achieving great things. I wonder on occasion:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"What's wrong with me?"&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Why am I not motivated to blog/code/OSS-anything in my spare time?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Am I an OSS thief?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I'm one of those "non-trad" developers. I got into the field at 35 years old after what was largely a failed music career (playing &lt;em&gt;"Sugar, We're Going Down"&lt;/em&gt; in the college bars for the 1547th time was not what I had in mind when I went to grad school). I have taken advantage of the great community support for newbies (Ruby on Rails is my stack) and have bootstrapped my way into being a decent developer. &lt;/p&gt;

&lt;p&gt;I'm 39, now, and finally can afford to have the kind of lifestyle I thought music would afford me (hello, world travel!). However, to be brutally honest, I don't have the enthusiasm or seemingly endless energy to code like I used to have when I was writing jazz music until the wee hours of the morning after teaching all day. I like CS and am grateful to be a developer, but for me it's a means to an end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I don't write OSS code in my off-time.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I don't go to tech meetups regularly.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I have spoken a couple of times (RailsConf 2016 &amp;amp; 2017), but don't have a burning desire to be the next @tenderlove (&lt;em&gt;although if Aaron wants to tour as geek comics, count me in!&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;I say all this to say it can feel like if you're not out there blogging or making PRs for OSS or podcasting about the latest JS framework, you're being left behind.&lt;/p&gt;

&lt;p&gt;As my Duolingo Vietnamese lessons would say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Học và chơi; chơi và học&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Learn and play; play and learn (Duolingo)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;As long as you're doing your job and learning a little bit along the way, you will be fine. &lt;/p&gt;

&lt;p&gt;So, here's to all the anonymous developers who put in their 40 chopping digital wood for an honest day's wage. Cheers.&lt;/p&gt;


</description>
      <category>dev</category>
      <category>devculture</category>
      <category>beginners</category>
      <category>yearinreview</category>
    </item>
    <item>
      <title>The Legacy Blues: How To Maintain Joy Doing Digital Janitorial Work</title>
      <dc:creator>Michael Cain</dc:creator>
      <pubDate>Mon, 08 Oct 2018 13:19:58 +0000</pubDate>
      <link>https://dev.to/thecodetrane/the-legacy-blues-how-to-maintain-joy-doing-digital-janitorial-work-1bpe</link>
      <guid>https://dev.to/thecodetrane/the-legacy-blues-how-to-maintain-joy-doing-digital-janitorial-work-1bpe</guid>
      <description>&lt;p&gt;I am having a hard time staying motivated and doing good work on an app that I find boring with poor architecture. How do you find joy in doing the dirty work?&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>World of Warcraft - Programmer's Edition</title>
      <dc:creator>Michael Cain</dc:creator>
      <pubDate>Wed, 12 Sep 2018 15:17:50 +0000</pubDate>
      <link>https://dev.to/thecodetrane/world-of-warcraft---programmers-edition-19f8</link>
      <guid>https://dev.to/thecodetrane/world-of-warcraft---programmers-edition-19f8</guid>
      <description>&lt;p&gt;I like &lt;a href="https://dev.to"&gt;dev.to&lt;/a&gt;. It's a pleasant respite from Twitter (the only other social media I subscribe to) and largely populated with a bunch of nice people who mean well and want to help each other. Being someone of a surly, snarky nature, hanging out with a such a community softens my edges. I dig it.&lt;/p&gt;

&lt;p&gt;That said...I recently found myself pulling out the knives. &lt;/p&gt;

&lt;p&gt;I'm a Rails programmer. I've been in the game for a little over 3 years after a long "career" as a college teacher and freelance musician trying to side-step penury by any musical means necessary. I learned by watching &lt;a href="https://www.railscasts.com"&gt;Ryan Bate's Railscasts&lt;/a&gt;, blogs, online tutorials, &lt;a href="//www.codecademy.com"&gt;Codecademy&lt;/a&gt;, whatever I could find working my help desk job that required me to help exactly no one. &lt;/p&gt;

&lt;p&gt;All that said, I'm protective of the language/framework and the community that helped me start an entirely new, awesome career. It's like Lois from Family Guy said: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Say what you want about be, but come for my tribe and I'll rip your *()&amp;amp;$@ eyes out".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It seems to be a thing today to post blogs on &lt;em&gt;"Is ~lang~ dead?" "You should stop using ~lang~" "Starting a new app? Don't use ~lang`!"&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  WHY??
&lt;/h3&gt;

&lt;p&gt;My master's degree is in Jazz Studies. I'm capable of writing and performing music that is significantly more sophisticated than what 90% of people listen to on a daily basis. &lt;em&gt;So WHAT??&lt;/em&gt; People don't listen to music to marvel at the complexity of the composer's skill. They want to &lt;em&gt;feel&lt;/em&gt; something, and it turns out you can get that done with a drum machine, a synth and 4 loops. &lt;/p&gt;

&lt;h4&gt;
  
  
  Code serves a purpose, it is not a purpose unto itself
&lt;/h4&gt;

&lt;p&gt;Is Elixir faster than Ruby? Yes. Is Ruby &lt;em&gt;fast enough&lt;/em&gt;? Most of the time. It certainly is for that app you're building that has less than 1,000 customers. Is it good to know vanilla JS? Yes. Can you bang out work in React? &lt;em&gt;Yes&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;There are plenty of people out in the developer universe that didn't go to college for it, didn't start dinking around with code in their childhood and just want to chop wood and make a decent living doing it. Let's be respectful of our peers and put the kibosh on these childish hit-pieces on each others' tools. &lt;/p&gt;

&lt;p&gt;/rant&lt;/p&gt;

</description>
      <category>tools</category>
      <category>beginners</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Help! I'm A Mobile Developer Now!</title>
      <dc:creator>Michael Cain</dc:creator>
      <pubDate>Tue, 14 Aug 2018 15:54:28 +0000</pubDate>
      <link>https://dev.to/thecodetrane/help-im-a-mobile-developer-now-iam</link>
      <guid>https://dev.to/thecodetrane/help-im-a-mobile-developer-now-iam</guid>
      <description>&lt;h1&gt;
  
  
  Help!
&lt;/h1&gt;

&lt;p&gt;So...my very good friend runs a startup and has made the decision to scrap the tech that he has now and asked me to rebuild it for him. I'm super excited to work on it...but I don't know much about mobile-first development.&lt;/p&gt;

&lt;p&gt;It needs to be available in the app stores, but doesn't really need much access to the native capabilities of the device (it's a social coupon kind of thing). &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I decide what technologies in which to build it?&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Jazz is Code: How The Jazz Band Can Make You A Better Developer</title>
      <dc:creator>Michael Cain</dc:creator>
      <pubDate>Thu, 14 Jun 2018 13:52:56 +0000</pubDate>
      <link>https://dev.to/thecodetrane/jazz-is-code-how-the-jazz-band-can-make-you-a-better-developer-2nkn</link>
      <guid>https://dev.to/thecodetrane/jazz-is-code-how-the-jazz-band-can-make-you-a-better-developer-2nkn</guid>
      <description>&lt;p&gt;My previous career to software development was "professional musician"; which is a lot more time teaching lessons, college classes, and honking my way through the 3,397th time I've played &lt;em&gt;Don't Stop Believin'&lt;/em&gt; in a bar or banquet hall for some drunk 20-somethings who just tied the knot than playing actual &lt;strong&gt;music&lt;/strong&gt;. That said, there are some valuable lessons I learned on the bandstand that can be applied to software development.&lt;/p&gt;

&lt;h3&gt;
  
  
  Begin with the output: What do you want to hear?
&lt;/h3&gt;

&lt;p&gt;It's easy for composers ('musical coders', if you like) to get bogged down in the notation of music, only to be frustrated and perplexed when it doesn't sound the way they envisioned. Duke Ellington had a solution for this - he wrote for his &lt;em&gt;people&lt;/em&gt; not his &lt;em&gt;musicians&lt;/em&gt;. His parts didn't say "Trumpet 1" or "Alto Sax 1", they said "Cootie Williams" and "Johnny Hodges". He knew his band very, very well and wrote the music he could hear being played by the musician who would be interpreting it. &lt;/p&gt;

&lt;p&gt;In code, we can often get lost in the sauce of our favorite or familiar tools because we can write beautiful code that way. Does it perform optimally? How does your code "sound" when performed? I have gotten a lot of miles out of thinking about what I want the end result to look like, and working backwards.&lt;/p&gt;

&lt;h3&gt;
  
  
  Frameworks: Freedom To and Freedom From
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;(for an in-depth approach on the jazz band and teams, check out &lt;a href="https://www.youtube.com/watch?v=R0AY4ILjJQo"&gt;this&lt;/a&gt; video)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In jazz music, improvisation is a vital part of its performance. The "changes" (underlying harmony of the tune) are used as a common reference for the ensemble of musicians on which to "spontaneously compose". These changes provide some necessary limitations to the creative process. There are "consonant" and "dissonant" notes and phrases, depending on where you are in the framework. Dissonance is used assiduously (most of the time).&lt;/p&gt;

&lt;p&gt;We spend years cultivating a musical language by creatively manipulating melodies and musical ideas, and often "borrow" those that have come before us. We need not re-invent the wheel. Today, modern jazz music has a musical lexicon that can be quite overwhelming to newer players. With some practice, one can stand on the shoulders of the giants of the past and create music all their own.&lt;/p&gt;

&lt;p&gt;Software frameworks (especially for the web/mobile and soon IoT) are omnipresent in our community. OSS (open source software) revolutionized how products are built. Frameworks can be "opinionated" and have strong conventions that can feel limiting or patronizing (the Ruby/Rails community has to constantly address this critique). That said, the limitations/conventions are not meant to stifle you; they are meant to direct your creativity to the places where you can shine the brightest. Personally, I'd rather write beautiful, interactive, useful applications than re-invent the MVC of Rails. Don't even get me started on the magic of Rubygems....&lt;/p&gt;

&lt;h3&gt;
  
  
  Music In Real Time
&lt;/h3&gt;

&lt;p&gt;The magic of jazz, to me, is that amazing music is made &lt;strong&gt;on the fly&lt;/strong&gt;. Whether it's a big band or a trio, there are points in the music where everyone is "off book" and simply listening and responding to each other. I've had some truly religious experiences soloing with a band that can inspire and support me.&lt;/p&gt;

&lt;p&gt;We, as programmers, can appreciate the majesty of meta-programming and run-time mutations. I'm doing a deep dive into React/Redux/GraphQL right now and am consistently awe-struck by the Mahler-esque symphony of rendering components, getting/setting/transforming data, and its asynchronous cooperation. If you feel the same, I encourage you to check out some bebop (small group jazz from the late 1940s - 1960s is my favorite).&lt;/p&gt;

&lt;h3&gt;
  
  
  TL; DR
&lt;/h3&gt;

&lt;p&gt;Jazz and Code have a lot in common- they both require interpretation, involve mind-melting amounts of creativity and yield endless permutations and interpretations. My deep love of jazz informed my new love of code, and I'd wager now that you know what goes on "under the hood", you my byte-loving friend just might find some inspiration in it as well. &lt;/p&gt;

&lt;h4&gt;
  
  
  New to Jazz? Here are some great "intro records"
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://open.spotify.com/album/4QFrtovMqK8hxCiZcYjiHz?si=daDEli7VQUuExSJUl4el6g"&gt;Charlie Parker - Best of Charlie Parker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://open.spotify.com/album/7dlYNvbD4QYDL3sSkTCjxi?si=6oS_YGvMTU6pyxQyRIH1bg"&gt;Bill Evans - Portrait In Jazz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://open.spotify.com/album/7pojWP7x9uEFSJgw765khA?si=6JHA9-pnSIuPM8HEE9NMsw"&gt;Charles Mingus - Ah Um&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://open.spotify.com/album/731OW49heGHCMrMOREHYlY?si=mnnVqwPgRvaYcbwrwVCwBA"&gt;Hank Mobley - Soul Station&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>code</category>
      <category>music</category>
      <category>skills</category>
    </item>
    <item>
      <title>Surviving the Doldrums - What To Do When Your Job Is Slow</title>
      <dc:creator>Michael Cain</dc:creator>
      <pubDate>Wed, 13 Jun 2018 17:18:22 +0000</pubDate>
      <link>https://dev.to/thecodetrane/surviving-the-doldrums---what-to-do-when-your-job-is-slow-26al</link>
      <guid>https://dev.to/thecodetrane/surviving-the-doldrums---what-to-do-when-your-job-is-slow-26al</guid>
      <description>&lt;h2&gt;
  
  
  What do you do when you have down time at work?
&lt;/h2&gt;

&lt;p&gt;My list includes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reading&lt;/strong&gt;: I learned most of what I know about code from reading books/articles/blogs/etc. I try to sharpen my skills when I have the moment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enki&lt;/strong&gt;: Reading is great, but it can be boring. Enki (a code skills app) makes it fun to learn new skills&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise Exploration&lt;/strong&gt;: I am always learning about new products and services that are offered by my company outside of the products that I work on. It helps me understand the broader ecosystem of my company and our industry.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;What about you?&lt;/em&gt;
&lt;/h4&gt;

</description>
      <category>discuss</category>
      <category>question</category>
      <category>query</category>
      <category>survey</category>
    </item>
    <item>
      <title>How do you find a mentor as a "non-trad"?</title>
      <dc:creator>Michael Cain</dc:creator>
      <pubDate>Tue, 15 May 2018 11:48:25 +0000</pubDate>
      <link>https://dev.to/thecodetrane/how-do-you-find-a-mentor-as-a-non-trad-3fng</link>
      <guid>https://dev.to/thecodetrane/how-do-you-find-a-mentor-as-a-non-trad-3fng</guid>
      <description>&lt;h2&gt;
  
  
  The Question:
&lt;/h2&gt;

&lt;p&gt;I'm a "non-traditional" developer in the sense that I'm 38, with 3 years in the game as a Ruby on Rails developer who, through some fortuitous opportunities, was able to teach myself how to develop. I can't say I have a lot of industry connections, and I find myself pretty clueless as to how to navigate the industry career-wise. I'd love to find a mentor who could help me guide my decision-making and help me make sense of the endless languages/frameworks that continuously come out and where my skill sets would be most valuable. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where did you find your mentor?&lt;/strong&gt; &lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
  </channel>
</rss>
