DEV Community

Cover image for If I don't use React, am I still a developer?
Bugsy Sailor
Bugsy Sailor

Posted on

If I don't use React, am I still a developer?

This post is an excerpt from my 2019 Sunrise Journal (built with Hugo, Imgix, Flickr, and yes, jQuery), which I thought would be interesting to share with the dev community.


I've been a professional web developer for over a decade. But lately there's been a recurring question in my head, "If I don't use React, am I still a developer?"

In one regard, I've never been more confident in my abilities. I can be handed a design and make a functioning site with many of the best practices, tie in API services, and create some advanced functionality.

It all began with my first website in 1996, learning HTML and CSS on Geocities when I just was just 13 years old. Eventually I learned to make dynamic websites, mastered Wordpress, learned MySQL, managed several WHM servers, fell in love with regular expressions and did so while working for on some incredible projects through a couple agencies and have used my knowledge to launch some fun projects.

In another regard, I feel like a complete hack. I've been a casual dev.to reader for a couple years. Now when I read the content, I feel everything is entirely over my head. Being in the remote Upper Peninsula of Michigan, it's difficult to find developers to learn with. I don't relate to a thing I read about the culture of Silicon Valley or the startup scene. Being entirely self-taught I feel basic concepts of programming or development are beyond me. React, ES6, AWS management, node.js, Vue, and package managers are completely beyond me. And worst of all, I still build using jQuery and PHP (it's ok, you can laugh).

This is a field I love, but I feel like an old guy (PHP) in a young guy's game (React).

This leaves me with many questions.

  • Just how in the world does one keep up with it all?
  • If I don't keep up, will I still be taken seriously as a developer?
  • Is there a place in the dev community for those who are marketers first, and developers second?
  • Is becoming full stack out of the question?
  • And alas, if I don't use React, am I still a developer?

Top comments (88)

Collapse
 
josemunoz profile image
José Muñoz

I think what really makes or breaks a person as a developer is the ability to move data around.
It doesn't matter what language or framework you use, once you know how you want your data to flow through your application you can implement it however you like. Knowing how to handle data structures, how to communicate through the application, that is what makes you a developer, knowledge of the language is important but once you can handle data flow, then you can pick up a language/framework and get productive. but that is just my opinion of course.

Collapse
 
bugsysailor profile image
Bugsy Sailor

I love this first sentence. So much of it really begins with data. Sourcing data, organizing data, sending data, and I'm a data junk at the root of all of it.

My idea of heaven is just an open source database of every data endpoint one can dream of.

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

That heaven you described sounds a lot like GraphQL and Prisma. Check out Prisma some time for sure. :)

Btw, I know it’s tough to keep up. But I bet you know more than you think. And most good employers care about raw skills instead of buzzwords. Stay positive, my friend! Also, killer profile photo! :)

Collapse
 
joeschr profile image
JoeSchr

Try to check out Postgraphile some time. I think it's even better than Prisma (runs on node.js)

Also maybe a great way to get into some new things, if you just check out their examples and play with it.

to answer your question: I don't think you stop being a developer (ask the cobold guys) if you stop expanding your toolset, but you for sure get less and less relevant in a area that's always pushing forward...

Collapse
 
david_j_eddy profile image
David J Eddy

"...My idea of heaven is just an open source database of every data endpoint one can dream of..."

That is great, I use that phrase?

Thread Thread
 
bugsysailor profile image
Bugsy Sailor

Absolutely. Just quote me if possible 😉

Thread Thread
 
david_j_eddy profile image
David J Eddy

WIll do Bugsy, ty.

Collapse
 
moopet profile image
Ben Sinclair

I'm with you on the React stuff. I work mainly back-end but sit next to React developers, and looking at what they do is... annoyingly daunting. I think it's because a lot of modern javascript is as terse as possible, and I think that's driven by a culture of wanting to be seen as clever, and that it's a Bad Thing for Everybody.

I mean, I know terse, I used to be a Perl programmer for crying out loud, but as I get older I find myself wanting everything to be clearer and closer to human-speak. It's like when people say they've made something as a "one-liner" which is really a bunch of semicolon-separated ternaries with variable names like a and b. Very clever, have a biscuit, don't bring that stuff anywhere near my codebase.

Going back to the title... well, React isn't ubiquitous. It's, am I an artist if I don't use acrylics?, not am I a painter if I don't paint?

I find myself saying I'm going to learn something in my spare time and then spending that time watching TV instead. I don't feel bad about it. I keep up with the things that interest me, and that might be a new framework or language and it might be the characters in Game of Thrones. I only have so many bytes of brain left, and I have to prioritise.

Collapse
 
david_j_eddy profile image
David J Eddy

"... I think that's driven by a culture of wanting to be seen as clever, and that it's a Bad Thing for Everybody..."

100%

Collapse
 
mikolaj_kubera profile image
Mikolaj Kubera

Lot's of things I agree here, especially the "one-liner" and using your spare time to just unload.

One thing I'm really curious about, though, is this:
"I mean, I know terse, I used to be a Perl programmer for crying out loud, but as I get older I find myself wanting everything to be clearer and closer to human-speak."

What "human-speak" language(s) do you use? :-) Or which one(s) do you consider "human-speak"?

Collapse
 
moopet profile image
Ben Sinclair

Probably Python (which I used to use ages ago and picked up again recently for Advent Of Code).
The zen of Python defines a lot of that as things like "Explicit is better than implicit, simple is better than complex." and its whitespace requirements force people to write short, clear code.

Collapse
 
drewstaylor profile image
Drew Taylor

I usually find myself asking the opposite when I am hiring new developers: if this person only knows React - are they even a developer??

Unlike Angular and Vue, React reinforces bad design patterns since the view and logic of a component are rarely separated, and this makes it difficult and messy to do team development.

For example, I recently hired a "React only" dev who seemed hungry enough to learn other things. Unfortunately, they quit after a week without contributing any reasonable commits. The final straw seemed to be a lack of willingness to understand proper MVC.

This was obviously an extreme case, but I've experienced similar things before among young devs of our current generation. Unfortunately, the same things that make React easy to learn mean many new developers won't bother learning the reasons behind the decisions that power React or how to use web components without React.

In our current epoch, it's important to learn how web components work, but the framework you use to achieve this shouldn't matter, and there should be some emphasis on learning how web components work at their most basic and without any framework (W3C spec).

Anyhow, enjoyed your post and was "old dev" enough to understand the feeling :)

Collapse
 
nazareth profile image
َ

“Unlike Angular and Vue, React reinforces bad design patterns since the view and logic of a component are rarely separated, and this makes it difficult and messy to do team development.”
Spot on!! Not to mention how the react community is...not the most welcoming and accepting of other approaches.

Collapse
 
opshack profile image
Pooria A

Don't mistake logic with business logic

Collapse
 
laurieontech profile image
Laurie

I’d argue that full stack is a bad term and no one really is. Full stack is really stack agnostic. Dangerous in multiple areas with strong underpinnings to quickly pick up whatever you need to. All the while being aware of the fact that someone who is a specialist might be more efficient at implementing whatever thing.

That being said, learn what you want to learn. Grow your skills in what interests you. Sure, it may not be the technology on every job posting, but tech is going change again and continuing to stretch your learning muscles is what truly matters.

Collapse
 
andy_preston profile image
Andy Preston

I'd argue that there are genuine full stack developers.

Not all companies have the budget or "perceivable" need for teams of people.

I know an e-commerce company turning over £3 million a year with a single developer who handles the design mock-ups, frontend, backend, database, backups, you name it. I'd say that qualifies as full stack.

The trouble comes when you expect a Jack of all trades to be a master in a specific field.

Collapse
 
laurieontech profile image
Laurie

And I think that’s why the term doesn’t fit in my mind. There is that expectation. But you’re correct that there are absolutely people working all across the stack and doing great work. But I’d still call them stack agnostic :)

Collapse
 
veedoubleyuh profile image
Veronica Watt

Gosh, this is basically how I feel. I don't have nearly as much experience, but I am extremely confident in the skills I do have. My passion is HTML and CSS/SCSS and accessibility, ultimately leading to UX. My JS is mediocre at best... But I can write some decent PHP. For years I questioned if I could even be considered a developer.

The Great Divide by CSS Tricks made me feel a ton better as it showed me that there are many others like me. In fact, we're no uncommon. However, I'm looking to get away from my current job and I haven't found a single post that doesn't mention JavaScript and it's frameworks as being important.

It's a trapping feeling.

Collapse
 
hughesthatgirl profile image
Joanna Hughes

This resonates with me so much.

I honestly feel like none of my other skills matter at all any more; The only skill that seems to matter is knowing React.

I've been trying to improve my JavaScript skills... I'm pretty comfortable with DOM manipulation, but I don't know ES6 well, nor have I ever worked with APIs or done anything with Node.

I am trying to improve but so many days it feels like I can never move fast enough to keep up, and I worry that my type of Front End Developer is going to disappear.

Collapse
 
dyllandry profile image
Dylan Landry

As José Muñoz said above: "It doesn't matter what language or framework you use, once you know how you want your data to flow through your application you can implement it however you like."

Given their name, developers should be able to develop. But developing is only dependent on knowing a way to develop, not necessarily developing using a specific framework like React, or even a specific language like JavaScript. Not unless you want to be a JavaScript and React developer.

If you feel like you want to improve as a developer, then work on improving yourself as a developer.

If you feel like there is a trend towards using React, instead of experiencing it as a trapping feeling, go with the flow and at least try to understand what all the fuss is about. You do not have to learn anything you do not want to. Development is in and of itself method agnostic. Do it how you want.

Collapse
 
niorad profile image
Antonio Radovcic
  1. No need to. I see it as buffet. Take what you like, but it doesn‘t hurt to know what’s out there.
  2. If you deliver value and results, nobody cares.
  3. I think the term you look for is „Developer Advocate“ or „Evangelist“
  4. Depends on time and motivation I guess. And the definition of „full-stack“.
  5. Did John Carmack ever use React?
Collapse
 
bugsysailor profile image
Bugsy Sailor

3.b) Ah yes, those are great terms to keep in mind.
5.b) Coincidentally, I met John Carmack once while having a tour of Armadillo Aerospace in Texas back in 2007.

Collapse
 
josemunoz profile image
José Muñoz

I don't think using a framework makes you less of a developer, if you ONLY know how to work within a framework then that's a problem, but doing lower level stuff doesn't mean you're good or anything, I've seen very bad implementations of assembly, and attempts of programming languages

Collapse
 
hirushacooray profile image
Hirusha Cooray

You have years of development experience. My opinion is, It doesn't matter what tools you use, what matters is a working final product which is maintainable and scalable.

"I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times." -Bruce Lee

Collapse
 
vilx2 profile image
Vilx2

I feel that this is old article is also related: blog.codinghorror.com/the-magpie-d...

However over the course of my professional carreer (almost 14 years now) I do feel that the industry is sort of... settling. Slowly. Oh, it's still pretty much in turmoil and new ideas and frameworks still appear on a regular basis, but at the same time... some concepts, principles and ideas seem to have coalesced. They've been mulled around, variations have been tried, best practices have been found and are now accepted as the Right Way by almost everyone. And they've stopped changing. There's an implementation or five in most popular languages that vary mainly by method names and no others are being created, because there's just no point.

In backed this would be, for example, the areas of ORMs and Loggers. Take a bunch of active libraries and compare them. The differences are mainly in small details and naming, but the core concepts and patterns are the same. There's no big innovation left there because we've already reached a state where they're good enough for all practical purposes. In a similar way, GIT has won the source-control wars.

And I wonder if the same is happening in the front-end world? That's not an area I'm deeply familiar with, but from the sidelines it also seems like there is a sort of settling. We have React and Vue which are based on the same ideas and everyone seems to be happy with them. There hasn't been a major paradigm upheaval for years now.

Nobody can predict the future, of course, but I think that if you wish to go along the front-end route, then picking up React/Vue would probably be a good investment of time, likely serving you for years to come - if not the rest of your life.

In other words - even if you have fallen a bit behind the times, I think that catching up is easier than it seems. :)

Collapse
 
thewashiba profile image
Lukas

If you can produce quality and keep up with new best practices (not necessarily trends), then yeah. One of the reasons for hate of new tech is inability to learn. People still hate JS because their knowledge is stuck on old ES5 or the recent years fast pace changes, even though things got really settled for a while. Same for PHP hating (they're hating legacy stuff, while not aware of v7 changes). Same goes for trend followers who immediately look at others with disdain if their knowledge of news is old a few weeks...

Collapse
 
rwoodnz profile image
Richard Wood

Oh good. I get to be the first to mention Elm. Recommend you skip all this JS framework stuff and go straight to the gold. I do use jQuery and JS for an existing client and have used Angular and React in the past. However to me Elm just makes so much more sense as the future of front end.

Collapse
 
mikolaj_kubera profile image
Mikolaj Kubera

I couldn't agree more.

Collapse
 
maroun_baydoun profile image
Maroun Baydoun • Edited

I have recently written about developers jumping on the React bandwagon without having a sold grasp of the basics. Don't start with React

I believe there is nothing wrong with choosing to stay away from React and its peers. Not every website need to be a Single Page Application. There are valid uses cases for 'older' stacks.

Collapse
 
tannerdolby profile image
Tanner Dolby

Great article Maroun. This totally needed to be addressed. Thank you!

Collapse
 
maroun_baydoun profile image
Maroun Baydoun

Thank you Tanner!

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

Nope, I just think you are still a developer regardless of the tools or programming language your as long as your solving problems using code.

Using pure PHP without web frameworks is something you definitely can wear it as a badge of honour.

There is actually a place for someone which is called "Developer Relationships", "Developer Evangelist" or something around that line that focus on marketing first and developers second. You can take a look at this below.

Collapse
 
brianl profile image
Brian Lim

Yes

Now go learn React!

Not to be a "real developer" but because it's easy especially with vids and tutorials... Who said you have to know everything? No one

Forget about Redux, it's dying anyway and replaced with Context API or GraphQL or others... Just learn plain React

Good luck

Collapse
 
thekashey profile image
Anton Korzunov

Sorry, but I have to answer.

Redux is about state evolution in time, while context API is about drilling props down, while GraphQL is just about querying data from your backend. That are 3 different ideas, absolutely orthogonal to each other.

  • It's wrong to use Redux to drill props, or query data from backend (without state evolution, aka handling loading state machine).
  • It's wrong to rely on ContextAPI for complex state operations.
  • It's not efficient to use GraphQL as client-side state manager - resolvers are not compact and not optimized for FE in terms of memoization.
Collapse
 
brianl profile image
Brian Lim

This is all accurate, but the differences matter not to a beginner -- and in practice, few use the major benefits of Redux (rewind, fast-forward, state hydration) while they do use it to pass props. Meanwhile memoization sounds great, until you realize you fetch the data only once, or only once in a long while.

So you can say the philosophical drive and even the main advantage of each is totally different, but in many projects (including large ones) these are subservient to the actual business requirements. If this were not true, there would not be unlimited number of Medium articles or people proclaiming so. Simply put it matters not what the libraries were designed for, only what they are used for. You may say that Context API shouldn't be used for complex state operations and you would be right, but neither should Redux be used for complex state operations. That belongs in the memoization layer, for example reselect. Or perhaps even encapsulated in the component itself.

But none of that matters. The main point is, you do not need Redux to do React. Redux is not React, and the documentation of Redux even includes a section for when not to use Redux. Redux is a major stumbling point for many people entering the React ecosystem, but it can be completely avoided until such time the problems it is designed to solve are actually encountered.

In short, no need for Redux to start, and perhaps no need ever.

Thread Thread
 
thekashey profile image
Anton Korzunov

I could definitely agree - redux is overused and usually not needed. You have to have some complex situations or conditions, which could be easily resolved in “redux way”, not the “component way”, and you may be lucky not to face such situations ever.

But it worth to understand, as long redux and react are based on the same immutable data structures ideology, and they helps to understand each other.

Collapse
 
jenc profile image
Jen Chan • Edited

Oh gosh so much of what you wrote up there I resonate with. Geocities and Tripod were GOOD TIMES. Dicking around with code before that I was a kludger and never really truly understood how it worked, and maybe even resisted that.

I started pursuing dev professionally in 2016, and like you, React came and went and then stayed. I learned Angular and Vue and also feel I have missed the boat. But it's never too late.

It doesn't seem I can get a job in Toronto for the next 2 years without knowing React, but I'd hang in there. Some people just want a swiss army knife expert in JS, Rails and Python.

I could always fall back on email development or maybe Wordpress if I can't find a proper gig. But I don't feel I have pulled my weight yet.

and yes you are a developer. I am a developer, albeit a shitty one.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.