<?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: Jacob David C Cunningham</title>
    <description>The latest articles on DEV Community by Jacob David C Cunningham (@jdccunningham).</description>
    <link>https://dev.to/jdccunningham</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%2F278469%2F4ca87994-4a29-4eb1-80b9-960937a62e3a.jpeg</url>
      <title>DEV Community: Jacob David C Cunningham</title>
      <link>https://dev.to/jdccunningham</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jdccunningham"/>
    <language>en</language>
    <item>
      <title>[Rambling] What does it mean to be a software engineer?</title>
      <dc:creator>Jacob David C Cunningham</dc:creator>
      <pubDate>Sun, 22 Dec 2019 13:01:29 +0000</pubDate>
      <link>https://dev.to/jdccunningham/rambling-what-does-it-mean-to-be-a-software-engineer-15p8</link>
      <guid>https://dev.to/jdccunningham/rambling-what-does-it-mean-to-be-a-software-engineer-15p8</guid>
      <description>&lt;p&gt;This is a real question and I don't literally mean "define it" but that is my title assigned to me at my current job but I don't feel like I am a software engineer. I'm in a corporation and everyone is an engineer haha. But my main thing is working with a front-end framework, I barely do any CSS stuff anymore(I was a heavy front-ender prior to this position eg. build this design from scratch). Most of our stuff is built with components that already exist. I deal with a lot of OOP/class/prototype based code which is surprising to me in JS eg. it's not about the language rather implementation.&lt;/p&gt;

&lt;p&gt;But yeah, I do not really consider myself a software engineer, more "developer/coder". To me software engineer is like writing code in .NET or something. C++ you know, that's "real" engineering. JavaScript seems like "easy" granted I'm not using Typescript/GraphQL up to snuff with the modern stuff(other than using React).&lt;/p&gt;

&lt;p&gt;Our process is strict I mean, you have to write a TDD(Technical Design Document), get that approved by other engineers. Write unit tests, those have to pass on top of the existing tests, code gets reviewed/approved before merging. Then you do automated visual testing "graybox" which is Mocha/Selenium in our case. This is really cool(I always wanted this/tried with Slimer/Phantom). This process "is engineering" to me. Where you have to come up with a solution and go through a heavily structured/reviewed process(good god JIRAs man, JIRAs in my nightmares).&lt;/p&gt;

&lt;p&gt;I don't have a CS degree so that's another reason I don't think I'm an engineer. I don't have the algorithms though I took some initial classes(I tried to get into CS before I failed out of school from Phys/Eng). Like logic/discrete that was hard, logic proofs were hard. After intro to quantum mechanics(which I promptly dropped after a couple classes getting scared of Eigen values) I just felt like I was bad at math, got past Calc III/DiffEQ which I know in most of our jobs(code) isn't even relevant. I just assume/tell myself ML/AI is not for me because of the math.&lt;/p&gt;

&lt;p&gt;Another concerning thing is being bad at certain things like state management or writing recursive code. I think "my brain sucks/is not good at this". I had this one unfortunate thing to deal with where a nested button in a card also clicked the card. And each events were supposed to be separate/not related, so I had to figure out how to write a debouncer or some way to manage/stop the unwanted click from going through... and this was a component-level problem eg. it would have had to have been fixed/gone through a whole process of coding/testing/reviewing. Which would then propagate into other builds/assemblies using this basic card component. There were event emitters/stop propagation but they weren't working in this case and I can't just override stuff without approval eg. change the click behavior on the card component itself. The issue was odd/rare because the component's original purpose was flexed. Anyway... my code was bad. I mean it will probably get pointed out once people see how it works. It works but I know it's bad. It's just hard... like keeping track of states(I don't mean redux) but you know, I draw it on a board over and over and I am trying to figure out ways to make it simpler/make sense. That's the kind of stuff I'm like "damn it's bad that this doesn't just click immediately".&lt;/p&gt;

&lt;p&gt;Anyway I guess the main thing that assures me/makes me believe that I'm some sort of engineer "for real" is that I get paid money hahaha... I don't get fired at my jobs so I guess I have value. Sorry this is just going on and my first post here too, especially after deciding to avoid/give up social media. But I think this place is great because it's technically oriented/learning ability. And this will probably be the last time I post something like this. Generally will do a better job of researching vs. just asking for an answer.&lt;/p&gt;

&lt;p&gt;Thanks to anyone who actually reads this, I know it's a wall of text and just rambling.&lt;/p&gt;

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