I am a freelance front-end developer. Besides, I do occasional remote contractual jobs. I have been working professionally for 5+ years. In these years I have built/fixed websites and web applications for clients. I mostly work with React.js, Angular 2+, and Next.js. I did a couple of full-stack projects with Firebase/Appwrite/Contentful as the backend. So, you can understand that, I am mostly a frontend developer with experience in working with web only.
Recently, I have been facing some issues which have become a headache for me. I am getting many clients through freelancing platforms who are asking for full-stack development. They don't want to hire two developers for their projects. Also, when I am thinking of applying for remote contractual jobs, I see there are more full-stack jobs than frontend ones. And, the frontend sector seems so crowded. There are tons of bids on Upwork, tons of gigs on Fiverr and tons of applicants on Job boards for frontend work. As a result, when I am trying to charge more, the clients are not getting interested because they are getting more FE developers with lower rates. After 5 years of work, I can't just lower my charges. So, I am losing many clients.
Now, I am seeking your suggestions and thoughts. Should I learn the backend (Preferably Node.js) and try to become a full-stack developer? Or, should I do more complex frontend projects which will establish myself as an expert? Also, should I give some focus on cross-platform mobile app development like React Native/Flutter? Or, am I missing something as a freelancer? How should I at least keep my rate steady and get work?
Top comments (5)
It really couldn't hurt to expand what you consider within your capabilities, so yeah, I would say you should.
However, "full stack" is always a moving target, so I'd say this is a matter of just expanding the scope of things you understand in order to be the most effective developer you can be. You'll still likely have somewhat of a specialty.
It is not a bad idea to learn NodeJS as a back end development platform in a fullstack setup - you say already have JavaScript programming expertise.
NodeJS (or other backend platforms) involves web server and database programming - broadly. There are functionalities other than the two mentioned. Integration of front and backend, deployment, design are some.
You can try some simple example code and see how it feels. Cheers!
Thanks for the insight and suggestions from all of you. This will really help to add more focus on BE and expand my knowledge.
Have a look around Next 13. You will be convinced I believe.