A Passion for Communication is What Drives This CNM Ingenuity Coding Instructor
Nick Bennett likes to compare software coding to literature.
“Programming languages are real languages,” he says. “They’re capable of real elegance, beauty, and even poetry.”
That’s why Nick, who has 30-plus years of coding experience, jumped at the opportunity to help design and then start teaching the Deep Dive Coding Java + Android bootcamp through CNM Ingenuity.
“Teaching has quickly become my favorite and most personally meaningful work,” he says.
A coding language created in the early 1990s, Java has been the sanctioned language for the Android operating system for over 10 years. Though, as with all things tech, the landscape continues to evolve and newer coding languages, such as Kotlin, have been introduced to Android in recent years.
In Nick’s bootcamp, there are two pillars he focuses on. The first is the initial work of software design and development.
“They’re building real applications, intended to deliver specific functionality to users,” he says.
But there’s also a second pillar— an emphasis on the complete software lifecycle. As they build mobile, desktop, and server applications, students also learn how to develop reliable, maintainable software that can evolve as needed. For example, he may have his students write an app solely in Java, then rewrite a piece of the app’s code with Kotlin, while making sure that the entire app, old code and new, still does what it should.
“Writing code that runs, that does what it’s supposed to do, that’s the first level,” he says. “But from there someone else will take over, and the code has to make sense to them. That’s the software engineering aspect that we focus on, writing code that can be maintained, modified, tested, and verified.”
According to Nick, there are three types of jobs that students are well-equipped to apply for after the bootcamp.
The first is a software developer or engineer, who either writes new code or—more often for an entry-level position—makes changes to existing code. The second is a quality engineer that writes and automates tests that are used to verify the correctness of code written by the developers. Finally, there are positions that involve working with developers but in a non-coding role, such as scrum master, sales support engineer, or client technical liaison. Much like a construction foreman who knows about framing, dry walling, and the other trade skills, those working in these non-coding roles can be more effective in their work with the understanding of software development concepts and practices gained in the bootcamp.
The bootcamp does not require students to have an understanding of complicated math, but it does help to be able to think symbolically such as in algebra. Attention to detail is also a big plus, though Nick is quick to mention that he has had students who felt they were lacking in those categories yet went on to be successful coders.
Nick’s advice to anyone considering the bootcamp is simple.
“Give yourself permission to be a beginner, to make mistakes, so that you can make more interesting mistakes tomorrow,” he says.
For him, teaching is ultimately about uncovering new opportunities.
“What I'm doing when I teach is revealing a totally new space of action for the student,” he says. “They’re not only going to accomplish things in the next 12 weeks that they don’t know how to do now, they’re also going to do things that they didn’t know were possible.”
The next Java+ Android bootcamp runs Sept. 18 - Dec. 8, and the deadline to apply is Aug. 11. Learn more!