<?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: George Katsanos</title>
    <description>The latest articles on DEV Community by George Katsanos (@katsanos_george).</description>
    <link>https://dev.to/katsanos_george</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%2F97701%2F11105e31-a564-4990-b7dc-e0c70440c2a9.jpg</url>
      <title>DEV Community: George Katsanos</title>
      <link>https://dev.to/katsanos_george</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/katsanos_george"/>
    <language>en</language>
    <item>
      <title>How did we end up with CSS-in-JS and why some developers don't like CSS</title>
      <dc:creator>George Katsanos</dc:creator>
      <pubDate>Wed, 12 Jun 2019 09:37:59 +0000</pubDate>
      <link>https://dev.to/katsanos_george/the-real-reason-why-new-developers-don-t-like-css-jb8</link>
      <guid>https://dev.to/katsanos_george/the-real-reason-why-new-developers-don-t-like-css-jb8</guid>
      <description>&lt;p&gt;I recently read  &lt;a href="https://dev.to/steffenpedersen/why-most-developers-fear-css-3h99"&gt;Why Most Developers Fear CSS&lt;/a&gt; and I decided to take the time and present some thoughts that I've accumulated during the past 4-5 years or so.&lt;/p&gt;

&lt;p&gt;Most of the "Whys" people use to base their frustration with CSS are:&lt;/p&gt;

&lt;h2&gt;
  
  
  Browser incompatibilities
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Claim&lt;/em&gt;&lt;br&gt;
Browsers, mainly IE, were not aligned in the implementation of the CSS spec. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Reality&lt;/em&gt;&lt;br&gt;
It still occasionally happens, but if you haven't done CSS in the years before 2014/2015 then you've seen nothing when it comes to hacks and tricks and bugs we had to solve to make things look descent. Have you done rounded corners using png's, 4 extra HTML elements and absolute positioning? No? Then you have no right to complain. Try to vertically align in the pre-flexbox era. The situation has dramatically improved, and with IE Edge adopting Webkit this question is closed for good.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scope/Cascading/Inheritance
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Claim&lt;/em&gt;&lt;br&gt;
I changed this rule here and it broke something over there. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Solution&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Functional CSS ( &lt;a href="https://tailwindcss.com/"&gt;https://tailwindcss.com/&lt;/a&gt; or &lt;a href="https://tachyons.io/"&gt;https://tachyons.io/&lt;/a&gt; ) &lt;/li&gt;
&lt;li&gt;Component based architecture with one (only one) parent selector that creates a scope for you&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The real reasons some coders have issues with CSS are in my opinion a bit more complicated.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ex-backend devs (PHP,Java,.NET) switched to Frontend because of the JS hype which started around 6 years ago. (slowly with Backbone, followed by Angular and shortly after with React)
&lt;/h2&gt;

&lt;p&gt;These engineers were on average more proficient with handling logic/programming/algorithms, more-so than someone who was mainly doing HTML/CSS/jQuery throughout his career. They picked React as it is still the most popular JS framework out there. &lt;/p&gt;

&lt;p&gt;But, they never got the time, will and hands on experience to learn CSS.&lt;/p&gt;

&lt;p&gt;They regarded CSS as 'inferior', a necessary evil, 'it's not real programming' (maybe true, still doesn't mean it's easy to do) they just dive in, change a couple of lines here, a couple of lines there and pray it works. Spray and pray for CSS.&lt;/p&gt;

&lt;p&gt;I've seen excellent programmers write the ugliest CSS I've seen in my life. Unneeded repetition, deeply nested selectors, magic numbers, little to no architecture etc. &lt;/p&gt;

&lt;h2&gt;
  
  
  A general low barrier of entry
&lt;/h2&gt;

&lt;p&gt;CSS being a descriptive language, a set of rules and what not, feels easy. Anyone can do it. People jump in expecting to understand everything without any learning.&lt;/p&gt;

&lt;p&gt;"This thing can't go exactly where I want it to go"? -&amp;gt; "position: absolute;"&lt;br&gt;
"This rule isn't powerful enough"? -&amp;gt; "!important"&lt;/p&gt;

&lt;p&gt;and so on and so forth.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frameworks
&lt;/h2&gt;

&lt;p&gt;CSS Frameworks even though they're super helpful tools, can't replace real hands on experience with Vanilla CSS. You may whip some Bootstrap modules together with a bit of a luck, but you won't go far. The moment you hit the first bump in implementation, you'll be like "oh this is so complicated, it's the language's fault".&lt;br&gt;
UI Frameworks for React have similar results. You can make a webapp with Material UI for React easy peasy. But when you need to go custom?&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The hate and confusion towards CSS and the possibility to do all web without really doing CSS led to patterns like CSS-in-JS and tools like Webflow. Most of the technical arguments against CSS-in-JS have already been debuckled by Chris Ferdinandi &lt;a href="https://gomakethings.com/whats-wrong-with-css-in-js/"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>css</category>
      <category>saas</category>
      <category>html</category>
    </item>
    <item>
      <title>Generalist vs Specialist Developers: Theory and practice</title>
      <dc:creator>George Katsanos</dc:creator>
      <pubDate>Mon, 15 Oct 2018 21:06:52 +0000</pubDate>
      <link>https://dev.to/katsanos_george/generalist-vs-specialist-developers-theory-and-practice-12eh</link>
      <guid>https://dev.to/katsanos_george/generalist-vs-specialist-developers-theory-and-practice-12eh</guid>
      <description>&lt;p&gt;Like every other Senior developer out there, I am quite often approached by companies looking for Web Developers to join their teams. When the message and project look interesting, I sometimes engage in a first general discussion either by phone or if the company is located physically close, in person.&lt;/p&gt;

&lt;p&gt;There were always vague or badly written job descriptions in our field; Back where I come from, Greece, traditional software companies were notorious for looking developer profiles who could do everything from Databases to backend, frontend, system administration, and in very "exotic" language combinations (PHP, Java, .NET - in one profile). Companies were trying to save money by hiring one person, a generalist, to do everything. That naturally led to chaos and produced throwaway code no one was able to maintain or support (especially when the one man army developer would decide to move to a new project)&lt;/p&gt;

&lt;p&gt;During the past months, and partially because of the prevalence of JavaScript in both ends of the development spectrum, I've noticed a growing popularity for "Full Stack" profiles. I had discussions with companies looking for a "Frontend Developer" who is: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;an expert (!) in iOS (Objective-C, Swift) and Android (Java) development and has years of experience in Native (!) application development&lt;/li&gt;
&lt;li&gt;familiar with Python Ruby or Go&lt;/li&gt;
&lt;li&gt;naturally an expert in frontend Frameworks&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Where I come from, that's definitely not a "Frontend Developer".&lt;/p&gt;

&lt;p&gt;I've observed developers around my network with very solid mathematical problem-solving skills, who come from a pure backend background and have jumped in the JavaScript train. They can code Node.JS based applications and APIs with ease but even if they claim they're "full stack", they really neglect a lot of the skills and tools needed to master the Frontend part of the job.&lt;/p&gt;

&lt;p&gt;To me, a (Senior) Frontend Developer sits somewhere between Product, UI, UX and backend, and by collecting feedback orchestrates the final product result. He is someone who's familiar with things like device and browser quirks, accessibility, SEO, and who ultimately has an eye for design, or possible UX issues all this while keeping it with the very fast paced frontend ecosystem and its' tools and libraries - which is a full time job on its own. &lt;/p&gt;

&lt;p&gt;Do you think Frontend Development is moving to a phase that implementation of web interfaces for the browser is going to be only secondary to things like Node.JS, mastery of docker and microservices, and mobile development?&lt;/p&gt;

&lt;p&gt;What is your opinion on profiles that claim they can do everything, and would you work for a company that expects you to do everything?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>javascript</category>
      <category>frontend</category>
      <category>backend</category>
    </item>
  </channel>
</rss>
