3 ms·
While I share your sentiment about frameworks, I work in enterprise app development and I can't remember the last time I encountered someone else who had a firm
by cptskippy 8y ago
While I share your sentiment about frameworks, I work in enterprise app development and I can't remember the last time I encountered someone else who had a firm grasp of CSS or even the Frameworks.
Our organization adopted Bootstrap because it's a consistent and familiar framework and it takes less time for the inexperienced developers (most in my experience) to come up to speed on an app.
When you have 20 developers rotating responsibilities between 40+ apps with regular turn over and contractors cycling out, have consistent project setups and standard frameworks across the organization is essential.
- zerkten 8y agoOut of interest, would a firm grasp of CSS be a benefit, or merely neutral compared to other developer skills when you are recruiting?
- epicide 8y agoNot OP, but I'd say a willingness and proven ability to learn far outweigh any particular tools. Proving ability to learn does require past experience, of course. I think it helps a lot more to show that you understand styling principles (reusability, selector precedence) than it does to be able to make pixel-perfect implementations based only on knowledge off the top of your head. [0] That being said, in order to have that understanding, you probably need to have some experience with CSS or similar. Basically, hands-on CSS experience is the means not the ends. [0]: Perhaps all of this is what you meant by having a "firm grasp of CSS".
- cptskippy 8y agoIt depends on where that developer was slotted in. We currently have ~3 dedicated front end developers who have limited skills beyond HTML, CSS, and Javascript who maintain our large forward facing public presence. The remainder of our developer pool are full stack developers who maintain a myriad of internal systems and apps used to run the business. A few of these apps are publicly accessible but they're niche and don't require strict adherence to brand or accessibility standards. The remainder are simply internal applications. A firm grasp of CSS would seem to be essential to the front end devs, though I might be inclined to say it's not given some of the code I've seen. I am however willing to give them the benefit of doubt because I know they're a newer team that inherited an unfathomably large site running on an ancient CMS (Stellent) and the new products they're working on are integrated with some pretty heinous 3rd party platforms. For the remainder of our Devs usability and appearance take a back seat to functionality. So CSS chops are more of a nice to have.
- ckosidows 8y agoI'm going to have to agree. Out of all the technologies my team had to juggle while I was on a web team, CSS and its various components (CSS precompilers, sass/scss/less, frameworks, etc) were the hardest to keep neat. You don't _have_ to write CSS well to get it to work. People wouldn't follow naming conventions, wouldn't group common components near others... some people didn't understand CSS precedence and it could lead to incredible confusion, spaghetti code and extra work. Often people re-implemented functionality that was present elsewhere. And problems were exacerbated with sass. From my perspective, tools that prevent people from writing additional CSS code will have a niche to fill for the foreseeable future.
- weka 8y agoThis is where I have seen stylelint personally come into play and shine. https://github.com/stylelint/stylelint https://github.com/stylelint/stylelint It lints and validates the styles written and does it ruthlessly.
- airstrike 8y agoAs useful as this tool may be, it doesn't seem to prevent redundant or repetitive styles from being created, which is a bigger issue than ensuring correct syntax (since your editor is likely to do that already).
- Zelphyr 8y agoThis, in my opinion, is why frameworks of any ilk exist at all. Too many developers out there don't want to take the time to learn the language and the frameworks give them a (false, again, my opinion) sense of productivity. But, especially with CSS, I really don't see the value provided by a framework. CSS isn't hard to learn or master! And as OP suggested, doing so means you get more done with less code. I know a guy who set up a project with a framework. He had a nice scaffold of the project and was amazed and overjoyed with what he had done with so little effort until it was pointed out to him that he had 40,000 files in a project that didn't actually do anything. Much less solve the customers problem.
- wild_preference 8y agoFrameworks aren't at odds with knowing CSS or any other language. You're missing the point with "CSS isn't hard!" And you're wrong. CSS is incredibly hard to maintain. It easily becomes an append-only list of rules. Medium.com for example hired a team a CSS developers including a co-creator of Bootstrap just to work full-time on its CSS. This is a good example of developer hubris and the HN trope of "it isn't that hard, why don't other idiot devs just do <X>? It must be because they're incompetent." I'm not convinced you've drunk your own Kool-aid in production on a non-trivial project. Because then the trade-offs would be obvious to you and you wouldn't think one is better.
- cptskippy 8y agoI think I fall somewhere between the two extremes you guys represent. It's not hard and it's not easy. Also, some developers are developers because they wanted to GTFO of some situation and don't give two shits about personal development, best practices, efficiency, long term maintenance, or any else. They're just showing up for a paycheck. Ideally you want to avoid those developers but realistically you don't always have a choice because not everyone who is passionate about software can work for Goopplebooksoft.
- thomasz 8y agoCSS is incredibly hard to learn and master. Everything is extremely unintuitive and subjected to subtle inconsistencies between browsers and browser versions. It’s just that we’ve been living with this insanity for so long that we fail to see it for what it is.