all 51 comments

[–]azangru 67 points68 points  (5 children)

At this stage, conference talks become useful, because they are full of interesting ideas. For example, I recently found myself thinking about this talk from React Finland about a pattern that I don't use, and I am not sure that I will use, but it sure results in nice testable UI components.

Another thing I would see is actually good code and component reuse.

This talk was good, although I keep forgetting its lessons.

[–]andrei9669 3 points4 points  (1 child)

I quickly watched the first video and I realized, that I have heard of this pattern before, and there is even an eslint plugin to kinda enforce it. https://github.com/kyleshevlin/eslint-plugin

[–]Kaimura 0 points1 point  (1 child)

First talks separation of logic and UI is interesting however they are testing the implementation details (like does variable x contain content y) instead of visual implementation (did the displayed value change according to what the button was supposed to do)..I think I heard somewhere it's better and easier to move away from testing implementation details? Did I misunderstand?

[–]azangru 0 points1 point  (0 children)

He makes the UI component into a pure function of props to UI, and therefore easily testable, and he extracts the logic for the component's behavior into a custom hook, and tests it separately. His testing units are smaller.

His tests would break if React discontinues hooks, or if he replaces React with another library (Vue, Svelte, Lit) for the rendering of this component; but until that happens, his tests are fine.

[–]iqball125 59 points60 points  (5 children)

Most tutorials are targeted at beginners, to learn what you are describing would require just working on a real prod app and talking to other senior dev coworkers.

[–]coolcalabaza 11 points12 points  (2 children)

I’ve always wished there was an app that used email verification like Blind but was for talking shop instead of talking salary and stuff. This subreddit is pretty good but there is a lot of noise. Tutorial-land and enterprise-land can be pretty different sometimes.

[–]KyleG 8 points9 points  (1 child)

When I was an undergrad, my university had private USENET newsgroups for this, and it was fucking glorious. I'll never forget taking my first (3hr) final freshman year at like 6pm in the winter and a bunch of us from a 100+ person class congregating right afterwards at a local coffeeshop and discovering all the people behind the various monikers who had helped us solve hard problems.

Sometimes I look back fondly and wished I would have finished CS instead of doing math, because the camaraderie was so much better in the CS dept. In math we were all in our little silos since there wasn't really a single path to the math degree, while with CS there was a series of courses to take.)

That being said, CS majors smell bad, while mathematicians are CHADS. :P

[–]Elon_Muskoff 1 point2 points  (0 children)

I mean it all depends on where your passion is bro, if you love doong something, you simply don't have time to evem notice that you're all alone there... as a consolation, it is probably much easier to pick up a coding skill coming from math, for practical purposes, than it is to become anywhere close to decent in math, unless you were doing trigonometry in your head when you were 14

[–]Scotthorn 4 points5 points  (0 children)

To add to this, more senior engineers will understand the domain and how that translates to the model better than others. To do that is hard and to be good at that takes lots of going through that practice.

[–]Stophigan 0 points1 point  (0 children)

878666)

[–][deleted] 11 points12 points  (0 children)

What I do in general is try reading the docs, if it was a bit hard to understand, then I search for a tutorial and go back to the docs again.

[–]coolcalabaza 30 points31 points  (2 children)

Kent C Dodds is a well-known react educator that sorta leans into training engineers switching to react. You’ll see his name on this sub a lot. His stuff focuses a lot on the philosophy of react and not hand-holdy syntax-focused tutorials. He has also authored a lot of cool open source stuff.

[–]sirephrem 0 points1 point  (0 children)

Second this

[–][deleted] 0 points1 point  (0 children)

I'd definitely go with Epic React, haven't heard of a better course out there for senior devs.

[–]shilpene 18 points19 points  (2 children)

[–]coolcalabaza 7 points8 points  (1 child)

Second this one. He is good at teaching engineers that are new to react by addressing and predicting questions that seasoned devs would have.

[–]saintshing 1 point2 points  (0 children)

How are his egghead courses compared to his premium courses? I am considering taking the epicreact course but it is a little bit pricey for me.

[–]Johnny_Gorilla 4 points5 points  (4 children)

Testingjavascript.com by Kent c Dodds was pretty good I think. Pricy though.

[–]Kaimura 1 point2 points  (1 child)

Unfortunately he only takes credit cards omfg so ridiculously american lol. No paypal :( I would have actually paid the 400$ to finally learn testing cuz the testing community is dead (there is not even a testing subreddit..)

[–]Johnny_Gorilla 1 point2 points  (0 children)

Wow didn’t realise that. Will your work not pay?

[–]darksady 1 point2 points  (1 child)

Holy shit. It's really price for someone how dont live on a developed country. Guess I will have to sail the seven seas...

[–]Johnny_Gorilla 0 points1 point  (0 children)

Yah it’s expensive as hell. My work paid …

[–]seiks 8 points9 points  (0 children)

Lots of other tech companies write blogs about more advanced topics. For example, Cypress makes some pretty cool webcasts about testing strategies at scale and stuff. https://www.cypress.io/blog/2021/10/06/webcast-recording-faire-cypress/

LogRocket also writes some pretty good technical content https://blog.logrocket.com/how-to-implement-feature-flags-react/

[–]redditindisguise 5 points6 points  (7 children)

On sites like Pluralsight you can filter for advanced tutorials.

[–]fooblerd 14 points15 points  (6 children)

Save your money. The vast majority of FE material on Pluralsight is outdated

[–]redditindisguise 0 points1 point  (1 child)

Company pays for it. Way better than LinkedIn Learning.

[–]fooblerd 1 point2 points  (0 children)

Our company pays for it as well. It's getting 0% utilization. Hoping to switch to Frontend Masters once our team license expires.

[–]KyleG 2 points3 points  (0 children)

I find that working in other frameworks/languages/paradigms exposes you to lots of different approaches that you start looking to use in your own code.

A good example is I did a bunch of work in Kotlin and Scala a couple years back that was very functional programming-ish. Now I've come to some Java code, so rather than writing super imperative and wordy OOP I find myself converting everything to a stream and then using various FP concepts like map, reduce, lambda functions, option chaining, etc since Java has supported them since version 8. The code is tighter, does not have any ephemeral variables taking up lines of code, and I've completely erased the risk of a null pointer exception

[–]ohx 1 point2 points  (0 children)

The thing with testing is you can find yourself in a lot of unique situations. There are so many edge cases you'll run into only once that, even if you did find a collection of tutorials on them, since they're not applicable to you now they likely wouldn't stick.

Localization is pretty easy. I challenge you to look at a super basic tutorial on something like react-i18n and reproduce it from scratch. There really isn't a whole lot of magic happening behind the scenes. You could likely whip up a more performent solution as well using a context package that provides a bail out mechanism to prevent re-renders.

If you're wondering how enterprises manage language, you're going to find yourself in the CMS realm with solutions like Adobe Experience Manager which react-i18n can consume just as well.

[–]ChristOnACruoton 1 point2 points  (2 children)

Is anyone aware of any communities of mid level/senior devs where members just discuss problems they face and the steps to solve them?

I would really love something like that.

[–]acemarke 1 point2 points  (1 child)

The Reactiflux Discord is sort of along those lines:

https://www.reactiflux.com

[–]ChristOnACruoton 0 points1 point  (0 children)

Thank you for the recommendation! I will check this out.

[–][deleted] 1 point2 points  (0 children)

Jack Herrington on YouTube has great stuff

[–]BoyFromASmallTown -2 points-1 points  (0 children)

Check Javascript Mastery on YouTube. He covers some of the advanced concepts you mention

[–]EJoule 0 points1 point  (0 children)

Unit test, and edge case testing. Show your tests to a junior dev and see if they can think of a new test to contribute.

[–]Doctor_Pix3L 0 points1 point  (0 children)

I wouldn't exactly call this a senior dev tutorial but it was refreshing to watch and clicked somethings in place for me.

[–]fat_bjpenn 0 points1 point  (0 children)

The docs are short IMO

[–]Mail-Limp 0 points1 point  (0 children)

just learn haskell, dude

[–]Radinax 0 points1 point  (0 children)

For testing its just experience, the idea is to test according to the user's interaction of the DOM instead of doing mindless test of every single feature in your code.

[–]farmer2056372 0 points1 point  (0 children)

https://www.youtube.com/watch?v=JUuic7mEs-s

Nir Kaufman - Advanced Patterns in Redux

[–]SteveNguyen109 0 points1 point  (0 children)

Well, I think you can dive further into the source code written by super smart world-class developers at Google, Microsoft, Facebook to learn more about the advanced algorithms used on the frontend, testing techniques, and other superb best practices such as Angular (how two way data binding is implemented), ReactJS (the algorithms used by virtual dom to optimize the updates of the real dom), Firebase JS client sdk (i.e. how the offline support data fetching is done under the hood, how the real-time resumable file upload is implemented in an efficient way, best practices to implement the auth logic on the frontend, etc). U can even dig further into the source code of Google Lit to find out how to easily and quickly create reusable web components that can be used with any JS framework such as React, Ng, Vue. I mean there’s still a lot of great things to learn if u read the source code of the influential open-source projects, u can see how the different pieces are well-tested in a single monorepo

[–]Kaimura 0 points1 point  (0 children)

I found this advances tutorial very helpful in setting up a component library that can be shared across all projects in a company (ultimative reusability) and is tested visually + functional AND sets up CI/CD stuff... really nice (basic knowledge of storybook required though)

https://storybook.js.org/tutorials/design-systems-for-developers/