Stacks on Stacks on Stacks: The Skills These Developers Swear By

Developers at Edmunds and Omaze discuss the skills that they need to succeed in 2021.

Written by Eva Roethler
Published on Sep. 01, 2021
Stacks on Stacks on Stacks: The Skills These Developers Swear By
Brand Studio Logo

Full-stack developers require extensive technical knowledge running the gamut from the user to the server. They must be proficient in an abundance of tools, giving them a reputation as a jack of all trades. 

But technology comes and goes, and what remains at the end of the day are the soft skills, such as curiosity and persistence, needed to go hunting through stacks of code. That’s why Long Huynh, technical lead at online auto retailer Edmunds, invokes a classic proverb: Curiosity killed the cat, but satisfaction brought it back. Huynh believes the ongoing need to understand the big picture makes the hours of tedious sleuthing worthwhile. 

“Being a successful full-stack developer means your tracing doesn’t stop where your expertise ends,” said Huynh.

Built In LA talked to Huynh and a senior software engineer from Omaze about the tools, principles and skills that are essential for full-stack success.

Long Huynh
Technical Lead • Edmunds

 

What technical skills do you consider to be the most essential to your success as a full-stack developer?

Understanding how HTML, CSS, JavaScript, back-end systems and different persistence options work together to deliver an application is the foundation for any full-stack developer. But without a doubt, one of the most essential skills is the ability to read and trace through code. Traditionally, front-end developers do this in the browser and back-end developers do this in their tooling, but being a successful full-stack developer means your tracing doesn’t stop where your expertise ends. 

Different projects will use different technologies. You can always learn new languages, frameworks and technologies, but if you are not afraid of tracing through code to understand what is happening at each level, you will find success regardless of the technology.

 

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

There’s an old proverb: “Curiosity killed the cat, but satisfaction brought it back.” My morbid curiosity has led me down many holes but the satisfaction gained when things click and I understand how something functions makes it worthwhile. This desire to understand how and why things work and can be improved has led to my professional growth.

Curiosity alone didn’t get me this far. Humility has been just as important. I am never the smartest person in a room, even when I’m by myself, so seeking feedback and mentorship from others to fill in knowledge gaps or bounce ideas around has contributed to my success. Sometimes a different perspective is all that is needed to change something from good to great.

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?

Find an environment and culture that cultivates opportunities to expand your skill set while giving you the time and support you need to grow your repertoire. Nothing can replace professional experience, so finding a company that encourages growth and views software development as constantly evolving will do wonders. 

Dedicate your own time to professional development, whether it’s doing a side project, joining meetups or listening to tech talks. You may not see immediate returns, but throughout your career you will get back everything you put in and more. 

You can always learn new languages, frameworks and technologies, but if you are not afraid of tracing through code to understand what is happening at each level, you will find success.”

 

 

Bryce Darling
Senior Software Engineer • Omaze

 

What technical skills do you consider to be the most essential to your success as a full-stack developer?

Knowing how to build a front end, back end, test and deploy is essential. Performance, maintainability, security, architecture and agile are vital. For the front end, fundamental skills include HTML, CSS, JavaScript and React. You need a server-side language and database for the back end.

Naming is important because you name functions, variables, files, folders and communicate with those names. Leveraging APIs is critical because the industry has moved away from building from scratch to integrating more third party services. Unit, integration, end-to-end testing and test-driven development are crucial. There is no great piece of software that exists in the world that does not have an equally great test suite to accompany it.

Deploying to a cloud provider with a continuous integration and continuous deployment pipeline is necessary to go to production, and using a content delivery network and caching are needed for performance. Data structures, algorithms and big O notation also help to understand performance characteristics.

Other valuable knowledge includes principles like SOLID, YAGNI, DRY and KISS [see sidebar] for maintainability; Open Web Application Security Project’s top 10 vulnerabilities for security; microservices and event sourcing for architecture; and agile methodology for working effectively.

 

Darling’s Full-stack Acronyms

  • SOLID: Single responsibility principle, Open-closed principle, Liskov substitution principle, Interface segregation principle and Dependency inversion principle.
  • YAGNI: You Aren’t Gonna Need It
  • DRY: Don’t Repeat Yourself
  • KISS: Keep It Simple, Stupid

 

What soft skills do you consider critical for success? 

Character traits such as curiosity, a desire to always be learning and a growth mindset are paramount to your success. The industry is always changing and you’ll need to keep up.

For your career success, skills in sales and negotiation will help you land jobs and be compensated for what you are worth. For successful collaboration, empathy, listening, communication, openness to ideas and asking for help are all critical skills to develop.

For the success of a business, you will need teamwork, an understanding of the stakeholders, prioritization, the ability to deliver customer value, attention to detail, focus, discipline, time management, compassion for your teammates and users, and caring about the quality of what you deliver.
 

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?

My mantra is “creation over consumption,” meaning that I prefer to learn by building things instead of reading or watching videos. However, when I get stuck, lost or confused, I’ll turn to any resources I have at my disposal.

I’ve found that pushing myself, or being pushed by necessity, outside of my comfort zone has helped expand my skills. Sharing with your team that you don’t know something, but are interested in learning it or pairing with someone who already knows it, is a great way to gain new skills. When the need arises, step up to the challenge!

Find what gets you into a flow state as this is where the magic happens. Whatever gets you excited, follow your energy and build something cool. This makes it easier to get through the struggles and hurdles you’ll face because you are genuinely interested in solving the problem. Before you know it, it’ll be 2 a.m. and you’ll wonder where the time went!

 

 

Responses have been edited for length and clarity. Images via listed companies and Shutterstock.

Hiring Now
Consensus Cloud Solutions
Artificial Intelligence • Healthtech • Information Technology • Other • Software • Business Intelligence