<story><title>Computer science is not software engineering</title><url>https://swizec.com/blog/computer-science-is-not-software-engineering</url></story><parent_chain><item><author>whatever1</author><text>As a non-CS engineer who writes software for a living, I can definitely say that there are times that I wish I had formal training in algorithms, parallel data structures, compilers, operating systems and hardware. There are many times that I need to rewrite my code because of non-adequate design. Other times I reach corner cases that take me too long to debug, only to realize much later that there was a lower-level explanation for the unexpected behavior.</text></item><item><author>fennecfoxen</author><text>“Software engineering” in practice is 90% about keeping your stuff organized well enough that you and others can comprehend it, make sure it does what it intends, and use and and extend it. That extends to making project plans to begin with, and any documentation.&lt;p&gt;That’s hard to teach as a separate thing.</text></item></parent_chain><comment><author>swat535</author><text>I graduated with a CS degree and a minor in Web Services and Applications. Let me tell you that whilst those topics are useful, they were pretty tailored and if I&amp;#x27;m being 100% honest, I don&amp;#x27;t even recall the majority of them.&lt;p&gt;My day to day job is piping APIs together and making sure we deliver features on time.&lt;p&gt;On the rare occasion that I need to use a data structure or an algorithm to optimize for Time Space complexity, I&amp;#x27;ll either use a community built package or a language level feature. I&amp;#x27;ll never invent my own because whatever I come up with will be half baked anyway.&lt;p&gt;Knowing all the above is useful for passing interviews but not much use in your everyday life unless you are doing something other than SWE such as R&amp;amp;D or data science.&lt;p&gt;Just my 2c.</text></comment>
<story><title>Computer science is not software engineering</title><url>https://swizec.com/blog/computer-science-is-not-software-engineering</url></story><parent_chain><item><author>whatever1</author><text>As a non-CS engineer who writes software for a living, I can definitely say that there are times that I wish I had formal training in algorithms, parallel data structures, compilers, operating systems and hardware. There are many times that I need to rewrite my code because of non-adequate design. Other times I reach corner cases that take me too long to debug, only to realize much later that there was a lower-level explanation for the unexpected behavior.</text></item><item><author>fennecfoxen</author><text>“Software engineering” in practice is 90% about keeping your stuff organized well enough that you and others can comprehend it, make sure it does what it intends, and use and and extend it. That extends to making project plans to begin with, and any documentation.&lt;p&gt;That’s hard to teach as a separate thing.</text></item></parent_chain><comment><author>mannykannot</author><text>Congratulations! By not dismissing these temporary setbacks as being just the way things are, you have the right attitude to become even more successful at what you do.&lt;p&gt;There seems to be lots of information, of the sort you are interested in, available on the internet (I won&amp;#x27;t recommend anything specific as there is &lt;i&gt;too&lt;/i&gt; much!) One can learn a lot simply by digging deeper into the specific issues that one has encountered, especially as you begin to see the links between them.</text></comment>