There are two camps developer training falls into. First of all, there are those that earn a computer science degree. A Computer Science degree teaches a student development, but also a wide range of other topics. These other topics include art, history, science, and advanced math among others. Then there are those that learn via a boot camp or coding school. This is where language syntax and constructs are taught without time spent on fundamentals.
The first camp tends to produce good long term developers after a number of years of training. On the other hand, the second camp typically produces coders that have a limited career life, but with a very quick turn around. There is value in both approaches.
Finding The Middle Ground
Our focus tends to be in the middle, between these two camps. A Computer Science degree is great, but it can be too costly in both time and money. The extensive time spent pursuing a degree can make it difficult to transition from student to employee. We are different by trimming and speeding up that process. A boot camp approach is too thin and technology focused. This makes it very hard for students of those programs to transition to the next new technology. We are different by adding fundamentals and theory to “beef up” that knowledge.
Our Goal is Creating Good, Long Term Developers
Our goal is creating good, long term developers. Thus, we focus on developer training that includes the areas a senior (and beyond) professional is expected to master. Here are some traits that define what someone like that looks like:
- Write code – If you can’t or won’t write code this is a bad career choice.
- Math and Logic skills – Modern programming is primarily solving a series of math and/or logic problems so you will not be effective without them. These are the fundamental skills all developers must have to be successful.
- Translate processes into logical steps – This is classic flowcharting.
- Communicate concepts – a good developer can communicate their technical ideas to others.
- Adapt to new situations – Business and technology are always changing. If you cannot adapt you quickly become irrelevant.
- Integrate existing solutions – The more you can avoid re-inventing the wheel the more productive you will be. This is Google skills and more
- Create new solutions – A good developer is more than the toolset they currently have. They know how to create new tools/solutions. This is a skill that I often see separates developers that can handle senior roles and beyond from those that will never get past being a mid-level equivalent.
- Manage time and priorities – Developers will never be able to work outside of a highly structured environment without this skill.
- Understand the big picture – We all tend to like the new and shiny things in life, but a good developer will be able to assess the cost of using or adapting to new technology as well as the benefits it may have. A good developer has to be able to do some level of ROI assessment on both existing and new technologies for solving any problem.
A Different Approach To Developer Training
This approach to developer training attempts to instill the strong developer traits into our students. Students learn through a focus on development rather than coding. We do this by avoiding classic “busy work” coding. Instead, concepts are taught by solving problems as we go. Students are always building something in our courses. They apply concepts and what they have learned to solve problems they are likely to see in the real world. Students build their skills from class to class within a course. We have decades of experience solving development problems. That experience is brought to the class by finding ways to introduce common problems to our students while helping them walk through some common solutions.
At its heart, our program is about teaching people to use tools to solve problems, not simply teaching them how to use the tools. Students become productive faster than a Computer Science program because of this focus. The content still produces a well rounded developer, just more application focused. The course includes classes on business communication, advertising, revenue generation approaches, and more.