Why do we teach the full-stack?

Mark Dewey

Training new developers is hard.

When bringing new developers into such a vast field, it can be a bit intimidating for all parties involved. Not only do new developers need to learn a deep, complex and rapidly ever-changing field, but for the ones training, it can be challenging to create a good solid path forward. This leads to one big question:

How should we, as a community and as developers, answer the big question of "how to teach" new developers for the Tampa Bay Area?

This one questions splinters into many, equally as deep and important, questions

  • Should we start with a job oriented approach and learn whatever is hot and popular, but ignore important context?
  • Should the basics of computer science be explored with a more academic language, and trust that the students can fill in the gap to be job ready?
  • Should we throw them into the theoretical lake and let only the best sink or swim?
  • How can we prepare our young developers raise the bar for developers in Tampa Bay, not just today, but in the coming years?

Narrowing the focus to web developers.

Suncoast Developers Guild has set out to answer those questions and it looks like we may have some answers. At SDG, we are training folks to become junior developers in 12 weeks. That is no easy task. After several iterations, the experienced instructional staff, supported by the community, have determined that a "full-stack" developer curriculum produces pretty solid results.


What exactly does "full-stack" mean?

A full-stack developer is a developer that can talk about, reason about, and programing in any part of the web stack. The full web stack developers has exposure and knowledge in the user experience, CSS, HTML, JavaScript, servers, some back-end language, how the data is stored and everything in between.

A full-stack developer can be at home at any part of the web stack.

Not only do they understand the whole stack, which makes them valuable on a team, but when working on that team, they appreciate and understand the problems, challenges, and solutions that others developers might encounter when out in the real world. This shared empathy allows teams to better communicate, synergize and produce better products.

So. That is a lot of knowledge.

Being a full-stack developer means having knowledge in all areas of the web site. That's a tall order. How to do we manage this tall order at SDG? We focus on creating what a has been known as a "T-shaped" developer:

A "T-shaped" developer has that wide breadth of knowledge, across the spectrum of the web stack (the top of the "T") with 1 or more fields of deep knowledge and interest (the leg of the "T") . This doesn't mean that every new developer we teach will be an expert in every aspect of web development. That can take years of training. Being "T-shaped" means that a developer can talk to and even create ideas anywhere in the stack, but has their focus has to be in one or a handful of areas. To do this, we are sacrificing depth of knowledge for a more broader approach.

But, don't we want depth?

The bottom line of all of this, is that we only have 12 weeks to mold new developers. This means that we need to prioritize certain aspects. In accepting that we may not formally go as deep into the technical skills as we like (although, we still go pretty deep), we have structured our student experience to focus on learning practical skills that will never fade out; how to learn technology, problem solve, and work outside of their comfort zone.

Getting you on your toes

The best, longest lasting developers are never stagnant. They are always honing their craft; learning new paradigms, frameworks, and languages. To help our students get ready for a life long career of learning, we need to make sure they can adapt and learn ideas that can be vastly different from each other. This variety of concepts comes naturally when teaching students the full-stack.

By leveraging the variety and dynamic nature of the full web stack, we always have a new topics to practice learning.

We start with HTML and then in an exponentially curve, introduce more and more concepts as we approach the database last. This constant expansion of knowledge forces the students to refine and hone the skill of learning technical knowledge in an environment that is more forgiving to the failure. This rapid intake of information causes a students "fight or flight" mentality to kick in, accelerating their ability to learn. By design, under this stress the student takes leaps and bounds in their understanding.

Keeping you on your toes

To cover the full-stack in "just" 12 weeks, we must move at a very rapid pace. This can really be rough for students. And that is part of the process. During their tenure here, students will cover a wide array of topics. We know that not everyone will enjoy every part of the stack. And that is a good thing.

Our audience is made up of folks with a wide variety of backgrounds; and everyone has their own journey. Some students are designers looking to up-skill on only client side browsers. Some students are only looking to work with servers and databases. Others just flat out don't know. Our full-stack course guarantees to challenge all students, no matter what their background, to step outside of their comfort zone.

Learning accelerates when you step outside of your comfort zone.

Once a students takes that leap from their comfort zone, magic starts to happen. The student will have to use their learning skills to quickly adapt and consume new information. This leads to the student explore topics that they maybe would not have seen in their prior career path. With this new and unforeseen knowledge, the student is not only better prepares them for their careers, but could also spur a new passion and skill set.

Running on your toes

While a student is in this "hyper-learning" mindset and breaking their comfort, the last skill we prioritize is problem solving.

After all the buzzwords, opinions, and syntax errors that come with software, at the end of the day, the common denominator for all developers is problem solving.

Over the course, we are constantly working on the skill of problem solving. During the cohort, we focus on both the micro and marco level of problem solving. This skills are worked day in and day out over the 12 weeks. That repetition of problem solving, plus the variety of problems due to tackling the full-stack leads the student to being able to think critically about all sorts of technical problems.

Bringing it all together

At the end of the day, teaching new developers is hard. Between the syntax, abstract concepts and the vast culture differences it can be hard to bring in a fresh mind and set them up to succeed. But at Suncoast Developers Guild, we have built a solid road map to help students jump start their new career.

Are you ready to code with us?

Apply now, and start your journey