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?
Oldest comments (88)
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.
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
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.
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.
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! :)
"...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?
Absolutely. Just quote me if possible 😉
WIll do Bugsy, ty.
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...
I grew up in the mountains of western Virginia. I totally get it. This is why the Internet is wonderful.
I just started following you because of the questions you asked. I want answers too. :)
I'm going to try and be a little more active in the community, something I've never been too good at doing.
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.
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.
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 :)
👋 from a fellow Michigander in the Lower Peninsula. 😁
Like others have said, don't try to keep up with all of it. The best thing you can do there is be aware of what's out there, but only jump on the things that interest you. You don't have to (and can't) do everything.
Silicon Valley is its own world of flash and hype - not an indicator of the rest of the tech world. I wouldn't worry about keeping up there either.
Full stack is a fun one that can cause a lot of (pointless) arguments. A few years ago, I was told I was a full stack developer because I can code on the front and back end, and interact with a database. Prior to that, I just called myself a back end dev. But what he said made a lot of sense.
Look around today, and you'll find wildly different views of what full stack is, or if it's even possible for someone to be a full stack developer. Personally, I like the simple view (as with most things). If you can write server side and client side code, and can interact with a database, that sounds like full stack to me. Everything else is semantics.
And while a lot of job postings are for React developers, that's hardly a requirement. I've never learned it. We don't use it at our company. And when I interview people on technical skills, I typically look at raw language skills/usage rather than framework/library usage. My opinion is that if someone is proficient with a given language, they can pick up any framework if they need to. Going from framework to language is a bit trickier (I knew a "React developer" who didn't know how to write a function in JavaScript - that still baffles me).
Bottom line - the web development world (or dev world in general) is vast. PHP is still going strong, despite the hate it gets from a vocal minority (Ruby experienced the same thing not too long ago). jQuery is still used all over the place. If those are your jam, and you're able to build what you need to, then keep running with them. The ability to solve problems and create things is more important than the tools used to do so. Learn the things you want to learn - you'll find a use for them. And don't worry about learning Everything™.
Es6 react and all that is very easy for you if you already know the basics. Just practice a couple of weeks and you will see. It is easy, believe me.
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
Sorry, but I have to answer.
Redux
is about state evolution in time, whilecontext API
is about drilling props down, whileGraphQL
is just about querying data from your backend. That are 3 different ideas, absolutely orthogonal to each other.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.
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.
You don't keep up with all, but with the parts that interest you, or the parts that you think will bring you good money in the future.
Depends on who you work with. I've worked with many people who have the skill-level you talk about and they always found customers. As long as there is a market for basic web development work you'll probably do fine.
I think so. My girlfriend studied marketing and now has to do some basic web development stuff in her job. Setting up Wordpress sites, installing plugins, updating themes. Also some automated text generation programming.
Then there is "dev-evangelism" where you basically do some marketing activities to make tech of some company more interesting for developers. These people often do marketing and coding (to showcase the tech they evangelize).
No, just a question of the time you want to spend on it.
Probably. React isn't the only way to create complex UIs. There is Angular, Vue, Ember, Cycle, jQuery, etc. pp.
I think you're just a bit behind, if you have the core HTTP/HTML/CSS/JS skills, it shouldn't be too hard to get into something more complex that builds upon them...
I feel you on the remote bit. I live in the mountains of Colorado but still make it into town here and there 😃. I say do what makes you happy and learn something if you feel it will be good to have in your toolbox. I personally enjoy Vue over react but I work with WordPress every day so I use php and jQuery tons still. Thanks for writing!
I was only a back-end developer until I was introduced to HTML,CSS or any front-end technology by an ad about these courses by a certified coaching center. I wanted to mostly do self study on these technologies. The best approach I took was to look at the documentations of each of these technologies. React and Vue have amazing documentation. Angular I would rely more on videos from Todd Moto or egghead.io . It totally depends on your interest, according to me even if you work on a small program to replicate mario game you are a developer.
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 :)
“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.
Don't mistake logic with business logic
JavaScript is what I am doing at work for the last 10 years.
React is what I am doing at work for the last 3 years.
I am a Senior React Developer, deal with it.
My Senior PHP Developer and Senior C++ Developer alter egos are helping me with :tableflip:, :outofhere:, and maintain more critical opinion about any decision I made.
TLDR - React, and obsession with any other single thing, is the worst thing could happen to you as a developer. "Use the platform" === "don't forget about the vast world around you".
Poorly. Let me be honest - poorly.
By serious developers? For sure.
Unfortunately, they are on the top.
React full stack developer? :badpockerface: good luck :P
100% Developer first, React developer second.
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.
7 Tips for Breaking Into DevRel
Nader Dabit ・ Mar 6 ・ 8 min read
What developer advocates do
Lynne Tye ・ Feb 20 ・ 9 min read
Some comments may only be visible to logged-in visitors. Sign in to view all comments.