DEV Community

Cover image for How to not be a dinosaur.

How to not be a dinosaur.

Johan van Tongeren on November 13, 2019

This is the story of how I became an experienced senior frontend developer and how I had to start all over again. How it felt like I had to start a...
Collapse
 
helleworld_ profile image
DesirΓ© πŸ‘©β€πŸŽ“πŸ‘©β€πŸ«

Great post!

I'm not even a senior frontend but this article describes perfectly how I feel learning these fancy frameworks so I can get a job somewhere... Even if I do my best there are too many things I don't understand (I'm a self-taught designer&developer, so I lack a lot of basic knowledge I guess...).

Unfortunately I can't ask any of my colleagues, but we have this incredible sharing-based community and posts like this, that make my hopes go high!

Thank you for sharing your experience.

Collapse
 
dreamdealer profile image
Johan van Tongeren

Hi DesirΓ©, thanks for your response!

I am also a complete auto-didactic person. My way is just to start doing something and let my curiosity lead me. Not only professionally, but also in my spare time I taught myself to weld, use a lathe, do bodywork, build engines, etc.

Big downside of being self-taught is the terminology. I often hear my colleagues say stuff that I have no clue about, but when I ask them to explain I often also find that I perfectly know what they are talking about, but don't know the theory and words for it.

Also, having colleagues to talk to, discuss with and learn from is so valuable! But if you don't have the luxury of having them, it's very good to engage in communities like this one :)

Collapse
 
eaich profile image
Eddie

Your story resonates with me. While I did take some time to learn the hottest frameworks, it turns out that sticking with PureJS and mastering Design Patterns has paid off in the long run. ES6+ really solved a lot of the problems that brought on these frameworks in the first place. And now with the next wave of trends coming in (Web Components, WebAssembly and their accompanying frameworks), we're left with a choice. Follow the shiny object or stick with PureJS, standards, proven design patterns.

Collapse
 
dreamdealer profile image
Johan van Tongeren

Hi Eddie! Pure/vanilla JS is always a good thing to master. It's the base of "our world".

But what you say about the next wave of trends is actually a hot topic with me too. I have been, and still am, working very hard to catch up with the previous trends and I also feel this new wave coming. But what I find hard is: how to keep up with all the news and filter out what's a fluke or what's the next Angular/React/whatever.

Collapse
 
eaich profile image
Eddie • Edited

I have a few perspectives on your great questions.

Separate the core concepts in order to learn more efficiently
Try to separate frameworks into two categories: Design Patterns and Syntax. The Syntax is the easy part and just requires time to commit to memory. The Design Patterns is the one that is the most challenging to overcome, because it requires you to set aside any notion you may have on how to structure and architect an application. If you can understand the underlying Design Patterns of a particular framework, this will actually help you learn the next wave of frameworks much quicker. This is tough because you have to open yourself up to understanding someone else's opinions.

Frameworks are just that - someone else's opinions
If you keep this in the back of your mind, then it will allow you to approach your learning with healthy skepticism. If you feel that the prescribed approach of a framework is cumbersome compared to your prior experiences, then that is a valid point and you're probably not the only one who feels this way.

On keeping up with trends
Your question about keeping up reminded me of this great video from the creator of Django - A Framework Author's Case Against Frameworks.
I do advise you to stay up-to-date on incoming trends just to see what's coming, but I don't think that you should be stressing about mastering every single one. If you're constantly following the shiny object, you're not making yourself resilient to the ever changing dev industry. Here is a great article on this topic The Brutal Lifecycle of JavaScript Frameworks.

Thread Thread
 
dreamdealer profile image
Johan van Tongeren

Thanks Eddie, that are some great insights. I'll check out your links/videos asap :-)

Collapse
 
vgrovestine profile image
Vincent Grovestine • Edited

As a recovering Cretacious-era developer, thanks! I needed to read this today.

...Although I do take exception with your "...and even Coldfusion in a dark era..." remark--I have fond memories of the Allaire/Macromedia ColdFusion days! :)

My career dates back to the dot-com bust period, working as a back-end developer when vanilla code was king, a basic RDBMS was enough, and tables were still an acceptable layout method.

Along the way, I got further and further away from the code, delving more into consulting and support. And just like a frog in a pot on the stove, I boiled without hardly noticing.

Now, after many years in an "applied IT" capacity, I have the itch to get back to my roots. ...Holy crap, is that prospect ever overwhelming!

So today, I went into the basement in search of knowledge. (I work in an academic library; however, just as in the "real world", all things IT are relegated to a dark, window-less room. :P)

My reading material for the coming weeks:

books: "Programming Ruby", "Don't Make Me Think!", "Why Software Sucks..."

One step at a time, right? One step at a time...

Collapse
 
dreamdealer profile image
Johan van Tongeren

Hi vincent! First off; I have good memories of my Coldfusion time too. But CF got a bit of a meme status in our office, so the "dark era" remark was more of an inside joke. No hard feelings ;-)

If you feel like moving back to your roots I can only support that choice! You've got to do what makes you happy. But since it's so overwhelming sometimes it's good to take baby steps and also: focus on one aspect. Don't try to master all the frameworks and tools at the same time. Just start with a simple Hello World and expand from that.

And by the way: I am very lucky not to work in a dark windowless basement. Instead of that me and my colleagues work in one of the prettiest old buildings in our city with an awesome view of a park and some monumental buildings.

my office

Collapse
 
tsirolnik profile image
Yehonatan Tsirolnik • Edited

I'm young, 23 years old, but I've been developing for the past 10 years.

The world of development went from a 2D puzzle into a 5D holographic puzzle.
The simplest of projects is now using hundreds if not thousands of packages, we went from separation of concerns to a mixture of everything.

I'm a non-conformist, but sadly, not conforming to the modern, backwarded, standards of web will leave you out of the field.
That's why I love backend the most. A place where logic reigns and frameworks aren't introduced every two weeks.

Collapse
 
dreamdealer profile image
Johan van Tongeren

"The world of development went from a 2D puzzle into a 5D holographic puzzle."

That is a great analogy that describes the feeling for me very good! :)

I am a non-conformist in a lot of ways too, but indeed, sometimes you're left with no choice. If three of your colleagues want to go one direction and that direction actually offers a lot of benefits, why would I not conform to that?

Collapse
 
workingwebsites profile image
Lisa Armstrong

Wow! Nailed it!

I went through a similar situation of waking up one day and realizing the whole industry had changed. I call it my Rip Van Winkle moment.

It's daunting thinking you know the business, and feeling like you know nothing. That a-hole self doubt tells you that everyone else is smarter, younger, gets it better than you, who are you kidding? ... you know the speech.

I had to give my head a shake. Remind myself that I do know things, and I learned them by investing the time and energy to learn it. And if it takes longer for me to get my head around it, so what? I did it before, I can do it again.

Like you, since then, I've gotten my hands around the new stuff. There are moments when I feel like I know what I'm doing ;-)

Change is a constant in IT, and you can't get too comfortable.
Everything you know today, is worthless tomorrow.

If you've been around long enough, you've seen enough trends come and go. Cold Fusion was a good idea at the time.

IMHO,a good team is one that blends youthful enthusiasm with experience to find the best solution.

Collapse
 
dreamdealer profile image
Johan van Tongeren

That's a great conclusion! A blend of young and enthusiastic people together with senior citizens like us makes a great team.

Collapse
 
conorluddy profile image
Conor • Edited

Great post man. 35 years here and 13 working in dev, so I know the feels. Keep writing!

Collapse
 
dreamdealer profile image
Johan van Tongeren

Hi Conor, thanks for your comment and the encouragement! Maybe I might be able to help people by writing more about the struggles and feels that come with the dev jobs.

Collapse
 
galdamez profile image
Jose Galdamez

I feel as if our careers parallel each other's in age, years spent in the industry, and technology stacks encountered along the way. My journey pretty much went through the same milestones at around the same time: CF to PHP to jQuery to AngularJS to React. It has been overwhelming at different points, but definitely fun to see how technologies have evolved. I'm fortunate in that I'm at a point where I can occasionally choose the front end stacks so long as the customer's problem is being solved. This allows time to dabble in new libraries even if the occasional fragmentation gets introduced. The major hurdle for me is being diligent about starting and ending online trainings. My next major thing to learn is the JAMStack and Gatsby.

Collapse
 
dreamdealer profile image
Johan van Tongeren

Thanks for the reply, Jose!

(Online) Training is also something that keeps me thinking. At MyOnlineStore each of the developers has a budget allocated for personal development. My manager often asks me how I want to use it.

My colleagues and I have subscribed to Egghead.io and we're going to visit a conference early next year, but I can't honestly think of something else I can spend that money on πŸ€·β€β™‚οΈ

Collapse
 
galdamez profile image
Jose Galdamez

Believe it or not but I have subscriptions to O'Reilly Online Learning, Sitepoint Premium, Egghead, Packt Premium, Tuts+, Pluralsight, and a list of Udemy courses. It's certainly too much content for any one person to go through. Here's my breakdown for what I think of each.

Egghead: Out of all them, the one with the most up-to-date tutorials on open source libraries would be Egghead. Their tutorials tend to run a bit fast so I usually have to go through a lesson a couple of times before the concepts sink in.

Pluralsight: Pluralsight would be the most polished in terms of presentation and the top choice for industry certificationβ€”if that is the end goal. They have quizzes you can take to prove what you learned.

O'Reilly: O'Reilly is probably the largest library since it combines a long list of publishers (O'Reilly, Apress, Wrox, Packt) into one site. O'Reilly has just released an interactive learning feature which apparently allows one to get hands-on within a browser. I have yet to use it though.

Sitepoint Premium: Sitepoint produces lots of original contentβ€”books, videos, articlesβ€”for open source. Some of the video tutorials are letdowns. The books have gotten more numerous in quantity and shorter in length. Sitepoint will also aggregate books from other publishers like Packt so it's kind of a 3-for-1 deal. They are now pushing an offline reading app that is 100% Web-based. This came after they decided to move away from downloadable e-book formats. Personally, I find it kind of annoying.

Packt: Packt books are too all over the place; some are okay and some are duds. I probably have over 100 Packt e-books and am in no rush to read any of them. Most of the authors do not seem to be well known.

Tuts+: Tuts+ has a lot of information for both popular and obscure open source libraries. You'll also find more UX and design-focused content here than most of the other platforms.

Udemy: Some top, work-from-home teachers can certainly be found here. I find most of the courses are catered towards beginners and can be rather long-winded. It's the cheapest if all you need is a couple of courses throughout the year. The lowest price is $9.99 a course.

Free ones: You want to know what's the crazy part? Chances are most developers don't have to pay for online tutorials. My public library provides free access to LinkedIn Learning (formerly Lynda.com) in addition to a few other IT training sites. That's not even counting the other free resources on YouTube, Microsoft's Website, freeCodeCamp, Medium, Dev.to, and Adobe TV.

Bottom line: The biggest challenge for me is winnowing down to the sites that make the most sense for the skills I'm trying to learn.

My recommendation: For the front-end space, I doubt anything beats Egghead. My 2nd top choice for training, in general, would be Pluralsight.

Thread Thread
 
dreamdealer profile image
Johan van Tongeren

Thanks for the extensive reply, Jose! πŸ˜‡

Pluralsight is new for me and I've immediately opened the site and I'm going to look into it right away. Certification is a nice bonus πŸ™ƒ

Thread Thread
 
galdamez profile image
Jose Galdamez

My pleasure! I would only add that Pluralsight seems to only offer the certification practice exams for CCNA, CISSP, VmWare, Azure Admin, PMP, etc. if a user is on the business plan, not the individual plan. That could be a good motivation to have your employer sponsor a monthly or annual subscription. Either way, have fun learning! We got this πŸ§ πŸ‘

Collapse
 
yokowasis profile image
Wasis Haryo Sasoko

I am a dinosaur myself. You have got to be careful. I trust people and they stab me in the back.

You can do it yourself without the help of others. Experience. You learn something complex without any resource back in the stone age. Imagine what you can do at the modern age.

You got YouTube, stack overflow, online documentation, communities. Use it to your advantage. You can triumph without them back in the day, imagine what you could do with their helps.

I am a php developer, and not using a single frame work (except WordPress), and have no idea about mvc. Like you said, WTF I need to create 3 files, when I can do the job with only 1 files πŸ˜‚. But 1 day, I need to edit a Code Igniter Project, I got confused as hell. Then I decided, it's time. I watch YouTube and learn Code Igniter and Laravel in 1 fricking day. Even I surprised about my capability. It's about finding the right YouTube channel.

Collapse
 
dreamdealer profile image
Johan van Tongeren

It's awefull to hear that people have betrayed you in the past. I have had some negative experience with that too. But thinking about that period; these people were not "my kind of people". I know it's sometimes hard to distinguish, but try to surround yourself with only the right kind of people. Trust them with something small and see what happens. If they handle it right you'll know they are good.

And yes, you can learn from youtube, stack overflow and all these great communities, but sometimes you are left with no choice and have to work with others. And you might as well let them help you and learn from them.

I have learned a ton from youtube (welding, machining, etc), but my experience is that having you explain something in person and being able to ask your own questions is so much efficient.

But then again; learning is something very personal and you'll have to figure out what suits you best :)

Collapse
 
ambroselittle profile image
Ambrose Little

Thanks for sharing. I feel ya. I took a dev hiatus into design and management for some years, and I felt largely the same when I came back to full-time dev initially.

I still often ask myself why we've made all this so complicated. Why do we keep reinventing things that (probably) don't need to be reinvented. But it keeps things interesting and keeps food on the table. πŸ˜‚

Collapse
 
dreamdealer profile image
Johan van Tongeren

Back in the days the complexity/layering (like jQuery) had two major advantages (for me):

  1. easy of coding. $('#id') instead of document.getElementById('id').
  2. cross-browser compatibility. Not having to care about all the quirks.
Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

Wait.. a second is the drawing with the "good things takes time" quote a actual tattoo on yourself?

After reading it, it's a awesome article and it reminds me that I should be hungry on new things and chucking my ego aside to ask for help.

Collapse
 
dreamdealer profile image
Johan van Tongeren

Hahaha yes, that is an actual tattoo on the inside of my right biceps.

Chucking your ego aside is a good thing always! I also struggled with that when I did CrossFit for a few years, before my burnout. I kept trying to keep up with 10 years younger guys that did sports as a profession. That's a recipe for letting yourself down, getting injured and not having fun working out.

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

That's wicked.

Collapse
 
opie profile image
Jason 'Opie' Babo • Edited

Great post. I can relate, for sure. I’m about to turn 36. Except in my case, I went from a full time β€œwebmaster” at the time (full stack dev) & β€œsystem administrator” and transitioned more to a ”people role” in the gaming industry. Of the 2 decades of my career, over half of that was spent now working in roles such as community manager, support, partnerships management, account management, talent development, etc.

I’ve recently been wanting to return to a full time web dev or system administration role again, so I thought, β€œI’ll do some freelancing to get myself back into it and rebuild my profile.”

Since my old portfolio of hundreds of websites created over my career as a web dev were many years old, I thought the best thing to do would be to create a new portfolio with new work. Boy, did I get a slap on the face when reaching out to potential clients. Not only did most clients frown upon the prices I’d give them (almost giving away my work for free just so I could build out my portfolio), they would frown upon the fact they had to pay at all outside of hosting and a domain name.

With services such as Wix and Squarespace, or the free access to the web site designer that comes included with most cPanel hosting packages, it became nearly impossible to convince a client to pay for something. Not to mention the free plugins for Wordpress to easily design a great looking site. It seemed time wasn’t valuable anymore. And with that, neither was experience. People don’t understand that you aren’t paying for the time I’m spending on their project, they’re paying for the time I’ve spent learning to be able to create their project. But even lowering the price as low as possible didn’t spark interest.

The other options were Freelancer.com and similar sites. It had been a long time since I visited those services. Holy hell, what happened to the prices?! There were actual people offering things that I remember would cost dozens of $ an hour at least for just a few cents... this isn’t going to work.

So I gave up, sadly. I applied for over 100 remote job openings over the last 6 months with no luck. I had to give up. I have to provide for my family, so I’ve just stuck to what I can prove I’m good at. I stay connected to incredible communities such as Dev.to, I stay up to date in dev news, etc., I like to fiddle with frameworks I’m not familiar with in my free time when I’m not working on my hobby (I run a text-based game hosting service that includes full web hosting and email hosting options completely free for over 2 decades now.)

I stay connected because I loved it and will always love it. I made the decision to focus on a different career path. I now watch from the outside, wishing I was developing great things for people instead developing great people.

Anyway, thank you again for the great article!

Collapse
 
dreamdealer profile image
Johan van Tongeren

I am lucky that I work for a company that has one product that is being sold as a service, so there's always work for me. But I can imagine it being very hard in your situation. It's sad to read that you had to give up, but on the other hand, it's great to see that you still love it and try to keep up.

Collapse
 
opie profile image
Jason 'Opie' Babo

Thank you, Johan!

Collapse
 
danielvbienne profile image
Daniel Vasile

Thank you Johan for this article who's falling right at the good moment for me. I'm 32 years old and I've been working for 4 years as an Interactive Media Designer (Design, animation,film, code...)... But I was "specialized" writing code. Doing multiple things like animation, design or film was submitting me to a permanent stress. When I suddenly know that I had to choose one thing and make it good.

I found a job as a frontend dev last month and I learn a lot of new thing in a short amount of time.

With your article you make me feel confident with my choice.

So, thank you for your post and let stay in contact to share what we learned and what we are learning.

Best regards
Dan

Collapse
 
dreamdealer profile image
Johan van Tongeren

It makes me really proud and happy that my humble blog post makes you feel confident and helps you with your new endeavors. Keep it up, Dan!

Collapse
 
tomavelev profile image
Toma

Less code is better code. I also love vanilla and I am gradually learning the new stuff. To make something technologically complex does not mean - better 100% in purely technological terms like speed, maintainability, etc and even better in dollars value. Actually, making things simple is our big hidden task - simpler to devs and the end result to non-devs.

Collapse
 
dreamdealer profile image
Johan van Tongeren

You're completely right, Toma. But sometimes a project requires some complexity to minimize complexity. That sounds strange, but the project we're working in (a saas e-commerce platform) is sΓ³ big it needs a large stack to make everything reusable and maintainable.

The big challenge there is to keep it simple nonetheless :)

Collapse
 
jagmeethanspal profile image
JSH

Great post, suggestions and conclusion. I am not even from the Web Dev vertical, and thus the amount of choices and frameworks just boggles me to even start somewhere, coming from the Linux/C programming land (maybe the big-bang era). Just few months ago I was thinking getting towards jQuery would be cool, lol.

Collapse
 
dreamdealer profile image
Johan van Tongeren

Haha! Learning jQuery can still be fun and there might be a lot of applications for that, but I think there are better things to learn these days πŸ˜‰

Collapse
 
jagmeethanspal profile image
JSH

Ok, and will the "better" things have a dependency on understanding jQuery or just the Javascript basics etc. Is there a generation map you can point me to?

Thread Thread
 
dreamdealer profile image
Johan van Tongeren

It wouldn't be bad to understand some basic jQuery, since there is a big chance you'll run into it somewhere, but if I were you I'd probably focus on JS and ES (ecmascript) since these are the basics of all other frameworks and compilers.

Collapse
 
sapegin profile image
Artem Sapegin

The difference between setStateΒ and hooks is actually even bigger because your example is incorrect and may lead to using a stale state and saving an incorrect value, so you need to use a functional form of setState:

this.setState(prevState => ({ count: prevState.count + 1 }))

This is hard to understand and remember, and Hooks have no such problem at all.

Collapse
 
dreamdealer profile image
Johan van Tongeren

I think this illustrates how happy I was with hooks very well 😊

Collapse
 
spettifer profile image
Steve Pettifer

I know someone else mentioned impostor syndrome, and I do agree with them that you certainly displayed elements of that. I've been there too. I suppose I'm what you'd call a backend dev, C# and Azure development mainly. I'm 44 and coming up on 19 years as a dev (I had toyed with a bit of HTML and JavaScript at uni in my spare time but nothing significant, so I started as a graduate trainee). A few years ago I was struggling to keep up with a few key concepts and patterns that had passed me by thanks to some of the places I worked being pretty backwards in some ways (and actually React and modern js development was one of those topics). Luckily at the time I was working with some awesome people who are now good friends and one in particular just encouraged me to take things one bit at a time and explained anything I didn't understand that he could and if not, he'd know someone who could. I owe him a lot (and Pluralsight!). I was really struggling with depression and anxiety back then in part caused by this sense that I wasn't good enough. I still occasionally worry about it but all I have to do is have a word with my mate or one of the great folks I now work with and I'm back on the right track. I think as you get older it becomes easier to feel that it's a youngsters game and get yourself tied up in knots, but as you or someone said, what makes a senior is how you approach problems and progress work, not how many frameworks you can use off the top of your head. If you can recognise the need for one and can evaluate which is the right one to use (maybe by asking the right questions of someone who knows that framework) then that's how to be a senior. Good article!

Collapse
 
dreamdealer profile image
Johan van Tongeren

Thanks for that comment, Steve! I really recognize myself in it. It is só good to have people around you like that and I am very happy for you ☺️

Collapse
 
mcrivers profile image
Mike McKenna

Johan, this hit home for me in many ways. I'm at the same point of my life and feeling a bit stuck (I have you by 5 years). I keep trying to push through the learning, but keep stumbling to stay motivated to learn the latest frameworks/technologies and not become overwhelmed. This helped me understand these feelings are not mine alone, and I'm not the only one going through this. Strength in numbers, right? ;)

Appreciate you sharing your experience.

Collapse
 
dreamdealer profile image
Johan van Tongeren

I am very happy to be able to help in this way ☺️

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
dreamdealer profile image
Johan van Tongeren

Thanks for the kind words, Marcos ☺️

Collapse
 
pyr02k1 profile image
John • Edited

Just want to say thank you! I started my tech career entirely in the sysadmin and netadmin side of things and mostly plugged away at code in my free time. Enough that back when I did it, I was competent enough and comfortable enough to not be worried. Since then I've spent 7 years doing field service work for tech adjacent industries and one very tech related industry. It left me feeling really out of the loop over the years, but I tried to track enough to at least know the current terminology, even without an understanding of it.

With that said, I've been left feeling rather helpless these past weeks as I watched the company change hands, the lead developer for the every codebase for everything leave, new guy come in for one small part of it. It's been a very unique few weeks to say the least. I ended up inheriting AWS in it's entirety (serverless is a thing as I've learned), the API as it stands, a project to localize the API with a backend and frontend entirely for locations without internet, and then the project to move all of the previous to the web in whatever fashion I see fit. A lot to be given after years of inactivity.

I can say that the number of times I had more than 20 tabs open in any browser was measured under 50 in the last 15 years, but these past 3 weeks I've had upwards of 30 in 2 separate windows just for questions and manuals, github repos and gists, and a ton of dev.to posts. Finally tonight, I hit a milestone. At last I pushed my 5th or 6th rev of the api where I'm mostly satisfied with the base it's at now (minimum viable instead of complete at their request, but with a completed db since I don't want to revisit that).

As I was closing out tabs I came across this post, finally reading it after who knows how long since I'd sent it from my phone to my PC. It just reminded me that admitting I'm outdated and asking questions is not bad in our world. It may be in the grand, commercialized, top tier exec side, but not in the dev world. It's something I had entirely forgotten and I'm tremendously thankful that you posted about your experience here. After reading this I forwarded off some questions to the only other devs within the company to ask their opinions, thoughts, and ideas on how to proceed for a couple of things. It felt good to finally ask for help instead of slogging through tab after tab with search after search in hopes of finding the answer eventually.

Thanks again for your post,
John

Collapse
 
dreamdealer profile image
Johan van Tongeren

Hi John! It makes me very happy to read that my blog helped you conquer this hurdle in these difficult times. I can imagine the load you must feel on your shoulders now. But it's indeed a very good thing you reached out to your fellow devs and asked them for help.

I do think tho, that this should not only be normal in our dev world, but also in all other fields.

Collapse
 
falces profile image
Javi R. Falces

Great!

After many years without learning new things I've decided to change myself and this 2019 is being my learning year... and it's awesome. Also, I try to learn and follow all new and youngers developers, they're amazing!

Collapse
 
dreamdealer profile image
Johan van Tongeren

Their enthusiasm is contagious. It reminds me of myself when I was twenty years younger. And it makes me think like that again.

Collapse
 
popoo profile image
popo • Edited

Well, you're never alone.
My first job was at a big bank as a front-end developer.
My co-workers were: two older and one younger developer. They were all dinosaurs.
The stupid thing was, they knew it and stopped even coding realizing it was "too late for them".
I think this is bullshit because challenge is what pushes us to learn new things, beyond our confort zone.

It was crazy because they "worked" there since 10 years (or more).

So it's better to say 'oh, I might be a dinosaur.. what can I do to change this ? ' than ' oh, I might be a dinosaur.. don't care anymore. '

And yeah, I also have the feeling I'm lost in the tech that is changing very fast. Being a developer means working on it every day and getting out of your confort zone. I found 'frontendmasters' really helpful to keep myself on the best road (for now... I hope).

Collapse
 
dreamdealer profile image
Johan van Tongeren

I think that if you stop caring about what you do, you should find something else to do. I can't imagine these guys at your first job leaving home satisfied and happy after a day's work.

Being challenged and building cool things is what motivates me and makes me leave the office happy. It does not matter if this is React, C++ or HipsterJS 9, embracing something new and building awesomeness with it is what matters.

Collapse
 
leastbad profile image
leastbad • Edited

Hi Johan,

I'm glad that you're finding your path through burnout and continual learning. No doubt that sharing your story will help others.

I do feel a strong (pee is burning level strong) need to suggest that what you're writing off as being old and not asking for help wasn't stoicism but potentially feeling imposter syndrome because your brain and gut are trying to tell you that somewhere along the road to this moment of React enlightenment, maybe everyone else went crazy and you stayed sane.

Specifically, I think that it's painfully regressive to have moved so much logic and responsibility to the client when you're inherently dealing with a stateless medium like the web. The "it would be funny if it wasn't so sad" amount of infrastructure and bikeshedding and constant tool churn that has gradually shifted from shocking to justifiable to "that's just how things have to be, now" is on par to watching Republicans do backflips to explain how Trump is a brilliant, honourable man who is definitely not a narcissist. :)

I spent a few months earlier this year learning and using React and React Native on some projects because my SO is using it at work and I wanted to be able to help. The whole time, coming from a Rails background, I had to constantly suppress feelings about how insanely difficult it seemed to be to accomplish very simple things. I recognized that my outbursts were not helping her, but I also held faith that surely all of these people who love React or Vue must have had some kind of light bulb moment where suddenly all of the pain of mastering all of these frameworks, packages, transpilers, reducers, build tools, shims, linters... that there must be a moment where everything clicked and made sense. That never happened. I firmly believe that there is now a massive sunk cost fallacy at work, especially among the younger members of our industry - many who have never worked with other tools and would be deeply terrified if the thing they've been assured is progress is fully debunked as a misstep. None of them want to hear that in 2004, one developer could teach themselves Rails (or PHP) and build a simple site from experiment to deployment in a day. The idea that all of these advances have dramatically upped the complexity for very little obvious benefit is something that only makes billing managers happy.

First of all: server-side rendered code is still the preferred development path today, despite the bubble of JS-for-everything that exists around sites like Dev.

Second, you can still embrace things like ES6 and webpack without even considering polluting your project with React. You think hooks is simple? Check out stimulusjs.org for simple. Stimulus is amazing! It's created by the same folks behind Rails, although you can use it with PHP (or ColdFusion). (BTW, have you noticed how similar CF templates are to Vue? I don't think that's an accident.)

Third, I managed to channel my sadness and frustration at the state of things into an incredible new approach to building applications that has no client state. It's called StimulusReflex and the basic idea is that when you load a page, it opens a websocket back to the server and captures events that happen in the browser. Those events trigger code paths on the server that update whatever data stores are applicable before re-generating the page and sending the changed bits back down to the client for lightning fast DOM updates. You can try out a bunch of examples here: expo.stimulusreflex.com/demos/tabular

The tabular example is compelling because there is literally zero custom JS required to implement this page, even though I'm sure you'll agree that it sure feels like it's running in React. (This is running on a free tier Heroku dyno; on a real site, round-trip updates are usually in the ~10-15ms range.)

This whole example required 115 LOC, between Ruby and HTML. It took... a very short amount of time. We want people to look at this and seriously question: if this is possible, then why do we need to maintain state on the client at all? If this is possible, can we keep our integrity while continuing to insist that React is a preferred path forward?

Collapse
 
dreamdealer profile image
Johan van Tongeren

Hi pjforde1978! First of all; thanks for reading my blog and taking the time to write such an extensive reply.

I can really see and appreciate your points about React and other frameworks, but this is not the big point I tried to make with this story.

If you replace React in my story with StimulusJS, your StimulusReflex or any other new technologies it still might be hard to catch up with something new after being "paused" for a while. This can feel overwhelming (and indeed make you feel like an imposter!) and hard to engage.

So my goal for this blog is to encourage people to keep learning, instead of promoting React.

Collapse
 
salvan13 profile image
Antonio Salvati 🦊 • Edited

My common sense said: "Why the **** would you use something so complex for something so simple?!"

Like me everyday in the past 2 years at work.

I never stopped learning new frontend tools, but just for work, when I can I still make web apps like a dinosaur doing simple things.

I am happy to be a dinosaur πŸ¦• :D

Collapse
 
dreamdealer profile image
Johan van Tongeren

There's a lot to say for sticking with plain JS and whatnot, but that is another discussion. The point is that it can be hard to get back on the horse after falling off.

Collapse
 
joemsak profile image
Joe Sak

This post is also me.

Collapse
 
sebbdk profile image
Sebastian Vargr

I feel ya, sometimes, doing FE development feels like a never ending black hole of WTF.

That is, until you caught up in the light of something new and shiny and the cycles starts over.

Collapse
 
dreamdealer profile image
Johan van Tongeren

I think this WTF-feeling applies to a lot of development groups, but I wouldn't de surprised if FE leads the list 😝

Collapse
 
benhosk profile image
Ben Hosking

The technology environment changes all the time, don't fear it, embrace it.

in a few years time it will be something else new

Collapse
 
dreamdealer profile image
Johan van Tongeren

There is nothing that changes so rapidly as technology. And especially (web) development. But that's not a show-stopper if you can keep yourself eager to learn and if you don't forget you don't have to do it all alone.

Collapse
 
lauriy profile image
Lauri Elias

"Be yourself."

But you weren't : ) You went with HipsterJS 9.

Collapse
 
hghnimat profile image
hamza A.ghnimat

Hi there .this is great article for all dinasors
This enthusias me to do the same
Thanks again

Collapse
 
dreamdealer profile image
Johan van Tongeren

Thanks for the kind words, Hamza :)

Collapse
 
wadigzon profile image
WADIGZON DIAZ-WONG

Excellent. Thanks for sharing Johan.

Collapse
 
dreamdealer profile image
Johan van Tongeren

You're welcome! ☺️

Collapse
 
fly profile image
joon

I really enjoyed reading this, and the happy ending felt heart-warming. Thank you. I wish my superior reads this though there is no chance whatsoever :)

Collapse
 
tkmanga profile image
Tkmanga

Great post! your history was inspiring, thanks you.