In the world of engineering, a full-stack developer can be considered a jack of all trades, jumping into any part of the stack at any given time. As a result, it’s important for the individual in a full-stack developer role to harbor a solid knowledge base of the product in its entirety.
For Ahmed Hashim, a senior software engineer at data analytics company CB Insights, one day he could be assigned a task that consists of reindexing a part of their Elasticsearch cluster. The next day, he could be tasked with moving an entire feed data source from one service to another, requiring him to pivot between the front and back end.
“Changes like this require a deeper knowledge of the stack,” Hashim said. “Understanding how a small upstream change can resonate across the system is a fun challenge and can yield rewarding results when you implement solutions for it.”
Hashim and leaders from eight other companies across New York shared what it means to be a full-stack developer at each of their companies and how it encourages a deeper understanding of the entire product process.
Fintech company Vestwell offers a modernized solution to retirement offerings by creating an easy-to-use digital platform to offer and administer 401(k) plans. Software Engineer Raghava Kamalesh said that being a full-stack developer at Vestwell has allowed him to take ownership of his projects in order to increase efficiency.
What role does a full-stack developer typically play at your company?
Full-stack developers are very valuable at Vestwell. While the platform is very back end-heavy, we have four client user types and most projects have a front-end component. Being a full-stack developer is mutually beneficial, for the company and myself, because efficiency is increased and I am able to command more ownership of my projects. Because I was able to vertically own my recent loans project across the stack, I was empowered to design and build these features independently. This independence leads to efficiency, as I designed and built the back-end service and related APIs and subsequently consumed the same APIs on the front-end components of the project.
I enjoy full-stack work, and it’s certainly been rewarding from a technical standpoint.”
What’s an interesting project you’re currently working on?
Recently, I have been working on a project that adds the capability for Vestwell users to request a loan from their 401(k) savings and automatically pay that loan back over time. We’ve also added the functionality for users to pay the entire loan back at once at any given point while their loan is live. It’s been a challenging project because there is a lot of record-keeping that needs to be done correctly: a loan amortization schedule needs to be created, user investments need to be sold and ultimately, these investments need to be repurchased as the user makes their repayments.
There’s a good deal of back-end work, but also front-end work as the user needs to request, agree to and pay back the loan. I enjoy full-stack work, and it’s certainly been rewarding from a technical standpoint, but it also feels like a timely project given the current state of the world. No one wants to take a loan from their 401(k), but people need to, now more than ever. Recent legislation, such as the CARES Act, directly impacts the work we do. There’s a real incentive to make the process of requesting and paying back a loan as simple as possible for our users.
Betterment is a financial technology company that offers users everyday cash management, online retirement advice and investing tools. Working at Betterment has allowed Software Engineer Alex Hint to expand his role beyond coding, code reviews and engineering mentorship to more product-related work.
What role does a full-stack developer typically play at your company?
As a full-stack developer, my role at Betterment has evolved in the past three and a half years. The theme of the role has stayed the same: alignment. My manager and I have prioritized aligning my skills, goals and interests with the right opportunities.
My primary focus has been on back-end technologies, however, my interest was in front-end development. I was able to align my interest by leading accessibility efforts, being part of an internal style library-development team and joining our React and TypeScript group. On the last two projects that I’ve worked on, I led the front-end efforts and built out complex user flows in React and TypeScript.
Currently, my role entails more than just coding, code reviews and engineering mentorship. After expressing an interest in more product-related work, I was given the opportunity to lead the new fraud prevention project. This project spans across multiple engineering teams and requires strong planning and cross-functional communication. I really enjoy the complexity of problems we encounter and the solutions my team comes up with.
I really enjoy the complexity of problems we encounter and the solutions my team comes up with.”
What’s an interesting project you’re currently working on?
At Betterment, we deal with people’s finances. The security of this data plays an enormous role in building trust in our platform and brand. Currently, we are working on revamping the signup and KYC (know your customer) experiences. We’re focused on making the user experience intuitive and delightful while making sure we prevent fraudsters from signing up.
I’m leading our fraud prevention efforts. The project involves an integration with a new digital ID verification vendor, cross-team collaboration and project management. Our goal is to detect and prevent fraud before it can happen in our system. One of the challenges we face is coordination between multiple squads, which we tackle by building out our integrations behind feature flags.
We dark deploy our code and only turn it on when the project is ready to be released. We break down this multiple months-long project into milestones, so we’re able to ship minimally-viable products (MVPs) that we can learn from and iterate on. As we complete each milestone, we feel a sense of accomplishment. With the release of our first MVP, we’ve seen a major drop off in signups of bad actors. After this big win, we got nicknamed Fraudbusters, a riff on Ghostbusters.
Skillshare is an online learning community offering thousands of classes on topics including illustration, design, photography, video, freelancing and more. At Skillshare, engineers are evenly separated into pods with an equal number of back-end and front-end engineers and one or more full-stack engineers, Director of Engineering Sara Gottlieb said.
What role does a full-stack developer typically play at your company?
Within our engineering team, we have people separated into pods. Engineers on the product side are organized into pods depending on which product they are working on.
The pods tend to be evenly distributed with an equal number of back-end and front-end engineers, with one or more full-stack engineers also within the group. When organizing groups of engineers within a product pod, it’s important to even out the distribution across the stack to ensure that our product features are being built out properly. There are so many ways to approach building out features, and if your team is heavily weighted in one direction, you’ll tend to get things built to that expertise and not necessarily in the most efficient way. Full-stack engineers help us keep that balance so we approach problems in a full-stack way.
Our growth pod jumps out to me as a great example of full-stack work. On this pod, the roadmap is experiment-driven. This pod tends to have great knowledge of our whole product and user lifecycle, but also comfort contributing in all parts of our stack. We rely on their expertise to quickly build out experiments so we can strive to be data-driven in making decisions that impact our users.
Full-stack engineers help us keep that balance so we approach problems in a full-stack way.”
What’s an interesting project you’re currently working on?
As we look toward 2021, I’ve been working on seeing how we can continue to foster a collaborative working environment while working more asynchronously. We also are thinking about how we can support new hires in onboarding since we’re not all together. This project has encouraged us to look into pair programming tools, taking classes together using tools like Egghead and Skillshare(!), and being more thoughtful and efficient when we do have overlapping times and meetings.
It’s always great to take steps back and throw away all assumptions when looking at current problems. I really enjoy this type of problem-solving with my coworkers, both enabling a supportive work environment, while also improving our processes continually.
CB Insights fuses machine learning, algorithms, data and visualizations together to help large enterprises ask, answer and articulate compelling answers to difficult questions. At CB Insights, developers work collaboratively with designers, which results in a quicker feedback loop and allows each team to see things from a different perspective, Senior Software Engineer Ahmed Hashim said.
What role does a full-stack developer typically play at your company?
One of the projects that our team owns is the home feed when a user logs in. Each person’s feed is unique and the data we populate it with is pulled from many different places, so it’s an ongoing process to keep it organized to be as fast and as relevant as possible.
A full-stack engineer’s work can touch many parts of this process. For example, one day I could be assigned a task that consists of reindexing a certain part of our Elasticsearch cluster, which handles loading news articles to the feed. Or perhaps we need to move an entire feed data source from one service that the front end calls to another. As a result, the next task might be to shift focus to our front-end React app and rethink how to map, filter and reduce feed cards that we display or change the way we cache them in our Redux store based on our previous updates.
Changes like this require a deeper knowledge of the stack. Understanding how a small upstream change can resonate across the system is a fun challenge and can yield rewarding results when you implement solutions for it.
Overall, collaboration across teams makes everybody a better product developer.”
What’s an interesting project you’re currently working on?
Our team is currently working on a project involving data we’ve compiled on key people at companies, which makes it easier for customers to understand that particular person’s involvement in the startup ecosystem.
It’s a challenging project because the data we’re dealing with has a lot of potential corner cases that we need to design both the front and back end around, everything from ensuring relationships between people and companies they represent is correct in the back end, to compiling that on the front end in order to show a narrative of events a person has been involved in. The experience needs to be seamless and that can be challenging when you’re dealing with a lot of data.
Fleshing out the user experience of the product has also been rewarding because we get to work in close collaboration with our designers. This facilitates a quicker feedback loop with them and allows developers to view things from a different perspective (and vice-versa). We squash bugs earlier and, as a result, are quicker to launch. Overall, it makes everybody a better product developer.
Howl is a technology platform for brands to grow and manage product recommendations on the open web. Software Engineer Lisa Han said that she considers most engineering positions at Howl to be full-stack positions and having that interdisciplinary perspective allows for diversity in their way of thinking.
What role does a full-stack developer typically play at your company?
Engineering roles at Howl aren’t strictly front end or back end, so I would consider most positions here to be full stack. Even if your team works on features on the platform UI, which is more front-end heavy, you would still be interfacing with back-end logic to utilize specific endpoints.
Our team recently worked on a project to normalize the links that were being sent to our system. Oftentimes, the product links we pick up contain dynamic elements. For example, a session tracking URL parameter may cause multiple new Howl smart links to be created for the same link, adding unnecessary stress onto our servers. Arriving at the solution ultimately demanded a deep understanding of how our front-end logic would parse the incoming URLs. It was also necessary to add parsing code that’s able to adapt to the many variations of a product link and to develop a custom script in the back end to remove the existing duplicate links.
We believe that this diversity of thinking allows us to deliver the optimal solution for our clients.”
What’s an interesting project you’re currently working on?
As a member of the integrations team, I work on an ongoing project in which we continually help to onboard publishers and merchants onto our platform.
Integrating publishers can be challenging because each site is unique. For example, a single web page can contain multiple articles versus one article (with links associated with the respective article), or a publisher may wrap and encode product links in a unique way. Regardless of each publisher’s idiosyncrasies, we have to provide the appropriate customized logic to ensure that product links are correctly selected, parsed and rewritten to connect to the proper product page.
For merchants, we need to make sure that we are ingesting the different feeds of their product inventories appropriately to correctly map listings to our canonical products in the database. Because of the variegated challenges that we are presented with, our syncs often include engineers from other teams, which brings to the table an interdisciplinary perspective. We believe that this diversity of thinking allows us to deliver the optimal solution for our clients. As an engineer, it is extremely satisfying to watch a client deliverable morph into its final form as it undergoes multiple transformations, informed by the valuable input from each of our engineers.
Edtech company Newsela makes reading more accessible and engaging for all types of students by offering digital content integrated with assessments and insights. At Newsela, Lead Web Application Developer Janina Grayson said that they encourage engineers to pursue the parts of the stack that interest them the most.
What role does a full-stack developer typically play at your company?
At Newsela, we don’t expect every engineer to be able to do everything, or that an engineer wants to do everything. There’s so much someone can learn in software engineering, so we really encourage our engineers to pursue the parts of the stack that interest them the most. We believe that will get them excited to make something truly great. In doing so, we focus more on creating full-stack teams rather than full-stack individuals. This ensures we’ve gathered the right combination of people, skills and passion to make an idea into a prototype and then into a production-ready feature.
A perfect example of this was a new admin experience we recently launched to provide school and district administrators with more data insights on product usage. It was not the work and responsibility of a single individual, but a collaboration of ideas and effort between designers, product managers, web developers, systems developers, site reliability engineers, QA engineers, business intelligence and data warehouse specialists all working together to design, build, test and release a new feature.
We focus more on creating full-stack teams rather than full-stack individuals.”
What’s an interesting project you’re currently working on?
Given the need for remote learning tools and creating equity for all students, I’m working on a cross-team initiative with software engineers, product designers and data warehouse specialists to rebuild our platform’s registration process. We’re an educational content platform used in over 90 percent of K-12 schools, and our user base includes everyone from teachers and caregivers to school administrators and elementary students. We’re not only implementing a new accessible and mobile-responsive design but also re-examining how a user signs up, reconsidering user implementation logic and working to provide more intuitive search results within the registration process.
In terms of accessibility, it’s an exciting challenge to work through everything from button colors and elements, layout logic and screen reader accommodations. And it’s extremely rewarding to have an opportunity to help make our users’ first interaction with our platform the best experience possible. This means that the teachers and students are ultimately able to quickly and seamlessly sign up and start learning or teaching with our engaging, inclusive content.
Simon Data, a marketing technology company, empowers businesses to leverage enterprise-scale big data to power customer communications. At Simon, full-stack engineers approach each feature from both an engineering and user perspective, Full-Stack Engineer Anna Mai said.
What role does a full-stack developer typically play at your company?
A full-stack engineer’s day to day at Simon will typically involve crafting UIs and APIs to open up our complex back ends to our users, giving them control of how they bring their data into the platform and how they use it to execute their marketing strategies. Solving these problems usually involves interacting with a healthy mix of different technologies across the stack, as well as getting involved in conversations and collaboration sessions with our product designers.
A part of what makes full-stack engineering at Simon so fun is taking large amounts of information and distilling them into intuitive product experiences. We’re building with usability in mind and that comes with a wealth of exciting challenges beyond just spinning up a new API route or UI component. The need to approach a feature requirement from both an engineering and user perspective opens up many new opportunities as a full-stack engineer at Simon.
No matter the task or the team, the goal is always the same: advance the product to empower the user.”
What’s an interesting project you’re currently working on?
My team recently took on a revamp of our datasets UI, a product our clients used to define how their data enters Simon’s platform. The existing UI was running out of usable screen real estate, and from a design perspective, had drifted away from the rest of the application. The goal was to expose more details to the user and build in some room for features we would add in the future. We started with conversations with our designer to reimagine the page and draw up mocks that aligned the product with the rest of the app.
We then took a look at our API routes to see where we could better handle errors. This led to us inserting metrics and logging to understand our users’ experiences, in addition to adding new endpoints to expose some useful information to the client. Over on the front end, we took a critical look to see what of the existing code we could reuse and what new components had to be built. We also started monitoring logs and metrics here to investigate areas of the code that caused unexpected errors to clean up the user experience.
The effort spanned the entire web development stack and allowed us to solidify our understanding of how users interacted with this part of the product. No matter the task or the team, the goal is always the same: advance the product to empower the user.
Ro is a patient-driven telehealth company that aims to be the patient’s first call for all of their healthcare needs. Recently, developers at Ro implemented an automated check-in feature for the company’s telehealth platform that reaches out to patients to check in on how their experience has been thus far within two weeks of receiving their treatment, Engineering Manager Mitra Raman said.
What role does a full-stack developer typically play at your company?
Everyone at Ro is centered around our mission of becoming a patient’s first call for all of their healthcare needs. This motivation is reflected in everything we build, from the web app to the back-end schemas — which is why the role of full-stack engineers is so critical. We rely on developers to design thoughtful and scalable solutions with detailed technical designs to help make Ro’s platform the first place patients turn for their health needs.
Together, we roll these out as incremental features to test and learn from before full implementation. The benefits of working with such a collaborative team is that everyone is expected to step up to help us achieve cross-functional goals — whether you’re a back-end engineer working on a full-stack feature or a front-end developer releasing a schema change.
The benefits of working with such a collaborative team is that everyone is expected to step up to help us achieve cross-functional goals.”
What’s an interesting project you’re currently working on?
Our team is relentlessly focused on delivering the best possible healthcare experience for patients. One project that reflects this commitment is an automated check-in feature that we built for Ro’s telehealth platform. This tool reaches out to patients to check in on how their experience has been thus far within two weeks of receiving their treatment.
While simple, this feature is incredibly important, enabling Ro and Ro-affiliated providers to more consistently and frequently communicate with patients throughout their treatment journey. This includes answering patients’ questions, addressing any concerns about treatment and connecting with a provider for ongoing care. At Ro, the initial online visit is just the start of a patient’s journey with us. Data showed us that this initial treatment period was important to patients’ trust and satisfaction with our platform and, in helping them reach their health goals, so we introduced a feature to better support them during this time.
Share Local Media is a full-service agency, program operator and SaaS technology platform that helps tech and e-commerce companies create personalized trigger-based direct mail, suitable for retargeting, abandoned cart and lifecycle marketing. Cristian Rivera, a software engineer, said that being a full-stack engineer provides freedom and flexibility to understand how the entire project works.
What role does a full-stack developer typically play at your company?
Engineers at Share Local Media have the luxury of being part of a small yet agile team that serves an ever-growing user base at a scale usually seen at companies with more than 100 employees. Our growth rate is a true testament to the quality and accomplishments achieved when your team is as efficient as possible.
Full-stack engineers at Share Local Media can touch the full stack of a codebase and, when required, even the underlying infrastructure. This freedom and flexibility provide all engineers the confidence and understanding of how everything works while also preventing silos from appearing.
Full-stack engineers at Share Local Media can touch the full stack of a codebase and, when required, even the underlying infrastructure.”
What’s an interesting project you’re currently working on?
I had the pleasure of designing and developing the Lookalike Prospecting feature within Poplar. At a high level, this feature gives our clients who might not have a customer base large enough, or would prefer not to contribute to a data share, the ability to source a lookalike model from traits or behaviors identified within their existing customer base.
This project was a challenge because it required several complex changes to our mailing pipeline. Additionally, the typical process of building these models needed to be distilled down to a simple, user-friendly process that anyone could start and finish within minutes.
With the Lookalike Prospecting feature, I designed the database schema, implemented that schema into our back-end codebase and then connected that schema to a newly developed front end in weeks. As experience has shown me, I do not doubt that a project of this magnitude developed within back-end and front-end teams would have taken a significantly longer amount of time.