What Does It Take to Be a Full-Stack Developer?

Engineering leaders from 3 Boston companies share what skills are crucial in today’s engineering world.

Written by Colin Hanner
Published on Sep. 07, 2021
What Does It Take to Be a Full-Stack Developer?
Brand Studio Logo

Think just having front- or back-end skills is enough to thrive in today’s engineering world? Think again. 

Being able to work across the stack has become a requirement for many agile workplaces that want solutions fast. And the numbers don’t lie: On Built In, there are currently more than 4,400 open roles for full-stack engineers across the country. 

 

More on Full-Stack DevelopmentSo You Want to Be a Full Stack Developer? Here Are the Skills You Actually Need.

 

In recent interviews with Built In Boston, four local engineering leaders stressed the importance of balancing hard and soft skills. Mocking, debugging and testing, and building complex systems with the knowledge of several languages, is important to an engineer’s technical repertoire. But clear communication and a willingness to learn from others — skills that aren’t taught in a traditional sense — are important to ensure engineers can thrive in a working environment. 

Striking a balance between the two will, in the words of Engineering Manager Benjamin King, ensure an aspiring or existing full-stack developer will “become a well-rounded professional that customers and developers alike will enjoy working with.” 

 

What they do: Arcadia uses data to give healthcare providers insight on population and healthcare industry trends.

 

What technical skills do you consider to be the most essential for your success?

Engineering Architect Chachi Riccardi: Mocking, debugging and testing. Adding layers to a stack increases complexity, which increases the chance of issues. Having the ability to quickly and efficiently isolate and diagnose issues is a must when you have an API layer, a database and a front-end application. Did an issue come from the front end? Did the database return the data incorrectly? After isolating the issue, you can build tests for that specific use case so you don’t have to deal with it again.

 

What’s a soft skill that you also consider critical for your success? 

Riccardi: Knowing when to ask for help. As a developer, I am wired to want to tinker and figure out the problem for myself. But time wasted spinning your wheels is time you’ll never get back. I stress to younger developers to only spend an hour on something. If, at the end of that hour, you feel like you’re hitting a wall, step back and ask for help. A lot of times when I ask for help, the answer comes to me. Sometimes you just need to let your brain slow down enough for you to articulate the question to someone else so you understand the problem yourself.

Make it a point to step out of your comfort zone wherever possible and with advisement from your manager.”


Throughout your career, what steps have you taken to strengthen these skills? And what advice do you have for developers looking to build up their full-stack repertoire?

Engineering Manager Benjamin King: Outside of work, I regularly browse the latest news in development and technology. Software development is constantly evolving, and it is important to be aware of emerging languages, platforms and practices. It also helps to make small side projects to learn languages, refine your technique and experiment with new libraries. 

When employed as a software developer, make it a point to step out of your comfort zone wherever possible and with advisement from your manager. Aside from learning new skills by working with unfamiliar technology, hone your communication skills by participating in discussions with stakeholders and customers. This combination will enable you to become a well-rounded professional who customers and developers alike will enjoy working with.

 

Yoni Smolyar
Lead Software Engineer • MORSE Corp

What they do: MORSE is an artificial intelligence company that provides customer-focused algorithm and software development services.

 

What technical skills do you consider to be the most essential for your success?

The ability to design complex systems that can meet the customers’ requirements is an essential skill to our success, especially because my team is responsible for an array of mission-planning web applications for our customers at the Department of Defense. Several times in the past we have had the opportunity to reassess the design of inherited legacy applications and rearchitect them into more modern, scalable, and maintainable forms. We strive toward distributed microservice architectures whenever possible, and doing so allows for more robust applications and more agile development for our team.

Similarly, leveraging the cloud is a major key to our success. Cloud computing enables us to deploy highly scalable back-end systems that redefine the status quo in the DoD mission-planning space. 

 

What’s a soft skill that you also consider critical for your success? 

Effective communication is critical in the work we do. We operate in a dynamic ecosystem of DoD agencies and co-contractors, and the ability to liaise between the two is essential. Whether conveying technical vision, evaluating tradeoffs, or clarifying requirements, clear and concise communication has always been one of our major keys to success. A five-minute phone call can save weeks of developer time otherwise spent meeting assumed and unneeded requirements or solving needlessly difficult problems.

The simple exercise of articulating your problems will make you a better communicator.”


Throughout your career, what steps have you taken to strengthen these skills? And what advice do you have for developers looking to build up their full-stack repertoire?

Building projects from the ground up is a great way to learn effective system design. Think before you code: design, redesign, and redesign again. Learn from your mistakes — as they are inevitable — and make sure not to repeat them. Read everything you can get your hands on about clean code principles and scalable system design. 

Cloud computing is a rapidly growing discipline with an abundance of online resources to learn from. Utilize those resources to build cloud-native applications. A strong grasp of cloud technologies is a powerful tool in any full-stack developer’s repertoire.

Talk to fellow engineers about your projects and ask for input. The simple exercise of articulating your problems will make you a better communicator and will pay dividends throughout your career.

 

Shu-Zhen Chen
Engineering Manager • Dawn Foods

What they do: Digital Innovation Hub is the digital arm of Dawn Foods, an e-commerce hub for bakery products and ingredients distribution. 

 

What technical skills do you consider to be the most essential for your success?

Java and React are the most essential technical skills for success as a full-stack developer. Our back end is heavily built on Java and our front end is built on React. Java helps us build back-end logic and Restful web services, as well as helps us communicate with other applications. React helps us call Restful services and help us build interactive user interfaces. 

The full-stack developer needs to understand the technology and capabilities of the languages the site is built with. They will use the code to implement the e-commerce website and integrate with other applications to communicate.

 

What’s a soft skill that you also consider critical for your success? 

Communication is a critical soft skill for success. Every day, we have to communicate our status to the project manager. We work in a team-oriented culture. If a person can talk about their roadblock or struggle, the team can help and remove their roadblock as soon as possible. We also need to communicate effectively with the business analyst and product owner and explain ideas to them in a simple way. Effective communication also allows us to speak politely in meetings and in writing.

Listening is key to effective communication.’’

 

Throughout your career, what steps have you taken to strengthen these skills? And what advice do you have for developers looking to build up their full-stack repertoire?

For acquiring new technical skills, I like to do trial and error. I also enjoy playing and researching the applications that we integrate with. This allows me to learn about the application and what I can do with it. I provide help when people ask. 

For communication skills, I have taken classes in email writing and presentation building. I try to keep it simple and straightforward. When I communicate in a business environment, I always try to listen and understand their problem and ask questions. Solving a problem starts with understanding the problem first. When people don’t understand me, it tells me that I need to explain it differently. I always ask for confirmation to make sure that both sides are clear. 

Developers need to be curious about technology. Technology is constantly changing and we need to be constantly learning. Knowledge is power. Listening is key to effective communication. By listening and conveying solutions to the business, we’re building a great product.

Responses have been edited for length and clarity. Header image via Shutterstock. Headshots via the respective company.

Hiring Now
Formlabs
3D Printing • Hardware • Other • Software • Design