A full-stack developer creates and deploys the front-end and back-end elements of a website, web application, or computer program. Most full-stack developers work full-time, and job site Indeed.com says the profession requires considerable collaboration. Usually, a full-stack developer works with user interface and user experience designers and web designers.
Full-stack developers are responsible for converting the elements of web design into executable code; coding the server-side elements of a web product; working with different programming languages and technologies to develop websites, web applications, or computer programs; and modifying and testing web products or software, says Indeed.
They also frequently collaborate with designers, developers, and external suppliers; recommend tradeoffs between development features such as speed, reliability, cost, and functionality; and research industry trends and developments in digital technologies.
On average, a full-stack developer in the United States currently earns a base salary of $100,000 annually.
To find out what’s involved in becoming a full-stack developer, we spoke with Alex Shulman, software engineering lead and full-stack developer at the food and beverage manufacturing company Simulate.
From school to startups
Shulman attended Stevens Institute of Technology in Hoboken, New Jersey, studying computer engineering as part of a five-year co-op program. He left the school before graduating, in part because of an opportunity to earn income working with venture capitalists (VCs).
“I had always planned on working at startups with technology,” Shulman says. He built computers and played with remote servers when he was a teenager, ran an IT company while in high school, and did contract work for local businesses and IBM. “I imagined working more with silicon, embedded systems, and microcontrollers as a teen through college,” he says.
A family member who worked as an independent inventor exposed Shulman to a career path in technology. “His career went from software engineer to a serial patent inventor to VC,” he says. “I had lots of fun, scientific things in my life as a kid, from microscopes with infectious disease slides to being given old IBM [and] HP mainframes. My parents always treated me like a little adult instead of a kid.”
On-the-job invention and discovery
While studying at Stevens Institute, Shulman accepted co-op roles at the stock exchange operator NASDAQ OMX Group, Inc., and at the watch seller Movado. At NASDAQ OMX, he managed data center hardware. At Movado, he developed a cycle-counting system improving required inventory counts. He also wrote software to identify missed opportunities to collect duty drawbacks, helping the business recover a significant amount of incorrectly paid duty.
After leaving school, Shulman worked for a venture capital firm for six months, building proof-of-concept web applications to support patents and fundraising. In 2012, he accepted a role at Xerox as an EDiscovery analyst writing Perl programs. But writing Perl was not his long-term goal, so he saved money, worked overtime, and looked for new roles.
Following a stint working with university professors on the science of plant-based foods, Shulman joined the food company Impossible Foods as its first software engineer. “We built platforms for internal research in nearly every department, including Flavor Chemistry, Protein Discovery, [and] Texture,” he says.
After five years at Impossible and lots of changes within his department, Shulman’s role became more operational and less inventive, and he started the search for his next career move. Some of Shulman’s colleagues from Impossible went to work at Ouster, a maker of lidar sensors, and he followed. He joined Ouster as a cloud engineer and built a platform to run devices in the field.
After some time at Ouster, Shulman realized he wanted to move out of the Bay Area to buy a home and start a family with his partner. “I began looking at some remote roles and found an opening at Planet as a senior platform engineer.” Planet operates more than 150 satellites in low earth orbit, taking pictures of every square foot of landmass on earth at least twice per day.
In his role, Shulman designed the next-generation of API earth-scale usage tracking within the company’s platform. The system became an important part of the initial public offering process to help the business understand nuances in customer behavior in the platform, he says.
Following this role, Shulman joined his current employer, Simulate. “I felt passionate about Simulate’s vision and thought that I was uniquely qualified to contribute to [its] technology,” he says. After being turned down for the position of CTO, “I immediately contacted the company’s cofounders via email, explaining my work history and that I felt I could have an outsized impact after my time at Impossible.” That led to his being hired as a software engineering lead and full-stack developer.
A day in the life of a full-stack developer
In his current role, Shulman says he aims to “contribute to technology that fundamentally changes the food we eat—upgrading the world to a more positive food system.” As an engineering lead and full-stack developer, he spends much of his time writing software, working on network configurations, and dealing with technology problems. “It’s difficult to make progress in 30-minute chunks, and I prefer large four- to six-hour blocks of focus time” for projects, he says. “I aim to keep at least two days free from meetings for deep work.” He also meets with stakeholders, contractors, and holds open office hours during the non-continuous time blocks.
It is also important to keep up on the latest emerging technologies. Shulman says he attends software conferences, talks, and meetups, and he keeps up with changes in Python and the Go language, as well as cloud offering. He also reads books about engineering management and source code.
Inspirations and advice
“I’m inspired by people who invent or do real things,” Shulman says. “I’m inspired by stories about hard work being rewarded or clever technology being successful. I’m inspired by people who craft and build things. I’m most inspired by self-starting people that push the boundaries of their field.”
Asked about the best career advice he has received, Shulman says, “Aim to be a person that is paid for what you know and not what you do.” Working hard is important, he notes, but “work is a marathon, not a sprint. Work hard but not too hard that you burn out,” he says.
For developers building their IT career, there is no substitute for experience. “Software engineering and the technology space, in general, can be vast. The best way to become a better developer is to develop software,” he says.
“If you are the smartest person in the room, find a new room,” he says.
Copyright © 2022 IDG Communications, Inc.