Why and How I Became a Full Stack Software Developer

Or Seidman
Fiverr Tech
Published in
5 min readDec 22, 2021

According to Skillcrush A full stack developer is “a web developer or engineer , who works with both the frontend and backend of a website — meaning they can tackle projects that involve databases and APIs, build user-facing websites, or even work with clients during the planning phase of projects. In other words, they work both client-side and server-side.

Full Stack Developer In Action

For the last five-and-a-half years (as of Dec. 21), I have been working at Fiverr’s R&D Team. Formally, I still hold my initial, original position, but much has changed since then: the domain, the technology, the teams — but mostly my skills. Fiverr opened the door for me into the world of web development; before, I was working in Java stack, focusing on building tools for developers.

Like many colleagues of mine coming from similar backgrounds, I started as a Ruby on Rails backend engineer. My client-side knowledge and experience were poor. I had somewhat of a baptism of fire there during my academic studies, but that didn’t continue. While writing backend code during my day-to-day routine, I knew that one day I would enrich my skills and write frontend code.

From writing one feature to another, I always felt I was missing part of the picture. Yes, we had an API with the front-end developers. Yes, we integrated. Yet I didn’t feel I could track the project from one side to the other. Also, I felt frustrated about not being able to save the time when a production front-end-related bug occurs.

As the years passed and I felt like I was realizing my potential in the current specialization, my natural growth path was to develop some FE skills. Up until now, we’ve talked about the reasons I became a full stack developer — aka the “Why”. Now, let’s talk about the process — the “How”:

1 — I took some online courses, in my own time. At some point, I learned the lesson that if I really want something to happen, then I need to take the first step toward it myself. As to the nature of working in high-paced environments, it is almost impossible to stop the world and ask for long-term training on new subjects, especially when it’s not a priority. New products and features will always be prioritized. As for that, I had to give myself some ramp-up work. I started by taking this advanced JavaScript online course. After that, I took a React components online workshop.

Here are a few other online courses that I have heard about and might be useful are as follows:

2 — Accomplished simple tasks. I managed to push to my sprints some small tasks of FE. At the beginning, they were tiny — one line of code. Even version updates. And even with those I asked for help, due to my lack of knowledge. The biggest challenge here was understanding the different paradigms being used in the FE environment. But tasks kept coming and coming, and they became bigger and more demanding. Scaling up was challenging as well, mainly when it was for top-of-the-funnel pages. I had to take into consideration all the possible cases, write proper unit tests, and test my code around every existing environment and browser. Not long after I started, I found myself developing new features (which I talked about in my previous post). I provided end-to-end solutions, starting from the BE — the trivial part — ending with the FE, which was challenging but satisfying.

3 — Wrote Node.js code — Node.js is a backend JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser. Node.js enables developers to use JavaScript for implementing server-side logic. I see Node as a classical starting point for back-end developers to write JavaScript. This is the place where back-end and front-end development meet. When I was working on the Fiverr promoted ads project, I pushed myself to implement server endpoints in Node. I knew it was a good place for me to start and that I could handle it by myself. My initial production code worked, but its quality was poor, and I even ended up being reprimanded by my manager. I had an iteration to finalize, improve, and add a unit test to it. I was satisfied with the final result.

4 — Found my buddies. When you are surrounded by great developers, it can only be a waste not to learn from them. I am lucky to have extremely talented colleagues in the FrontEnd field. I learned how to build proper DOM and design it with CSS from Igor Burshtein. I had Islam Attrash walking me through and explaining legacy code, and I have Yair Nitazn mentoring me on a daily basis for best practices. Thank you guys for your patience.

Lately, I have been developing a core service — in charge of a top-of-the-funnel experience compatible with the new Fiverr architecture. This project included mainly refactoring Node.JS code, which is responsible for server-side-rendering. The project had no product, only infrastructural changes. While developing it, I felt the strength of having foundational knowledge on each part of the system — starting from the database schema change, server’s response change, and the UI result, which should remain the same.

Architecture Evolution

Looking at the skills and stack I’ve gained, I am satisfied with where I stand. I think it’s important for web developers to be able to tackle problems from one end to the other. I also think that holding many paradigms in our heads is enriching and makes us better developers. It might not work for everyone, and some would prefer specializing in specific areas, and that’s totally OK if you do. I was always the kind of person who prefers to go above and beyond.

I would like to take the opportunity to introduce my role model and code mentor who helped me with the process — Raphael Boukara.

I would also like to thank Einat Mahat, for inspiring me to write this, and for her endless contribution to the Fiverr engineering culture.

Fiverr R&D is working with top-notch technology. Our front end stack includes the latest editions of Javascript HTML & CSS along with React (16) framework and TypeScript.

Fiverr is hiring in Tel Aviv and Kyiv. Learn more about us here

--

--