When Philosophers Code

Those of us who have never undertaken the discipline of developing technology at a deep, language-based, "nuts and bolts" level, often see what technology can do as a form of magic. The secrets behind how websites, apps, tools, and solutions are put together mystify us and seem almost separate from us. The skills needed to actually develop the tools seem unattainable.

Recently I had an opportunity to get an inside look at the world of professionals that are solutions engineers and technology developers at SafeNet, a technology consulting company in Milwaukee. Beyond the power of seeing a working environment outside of the educational space (something we see far too little of as educators), what most stuck with me was the diversity of pathways that these employees had taken to arrive on this career path in the technology industry.

One of our hosts was an accountant who had found a way to utilize macros in spreadsheets to make his job a little easier. We met an individual who was degreed for work in the exercise and fitness industry, but after only a few short years found himself returning to Milwaukee and landing in the technology industry. Another developer, now an engineer in charge of developing the cloud strategy for clients, was a philosophy major exploring a masters in philosophy. He took the road less traveled by most philosophers, though, and ended up in the tech industry as a developer.

Throughout the day the same message was repeated — work in the tech industry is not something that requires a lifetime of focus and commitment to the field. Students do not have to be intensely coding starting in middle school and then follow it up with a four year degree in computer science. The reality is that technology, at least in many cases, is an industry built upon the interest, passion, commitment, and self-starting mindset of individuals who learn the skills needed to become a developer.

Preparing Students for a Career in Technology

Over the course of our visit, our hosts shared with us a couple of keys that would ready our students for a career in technology. 

Exposure to Developing with Technology Matters

While educators may not feel comfortable with the deep level coding required to build custom applications, we still need to help students understand that technology is malleable, customizable, and accessible.  Some ways to do this on a surface level of development may be we allowing students to write formulas in spreadsheets, teaching them how to animate drawings or create customized animations in a program like Keynote, or develop websites and utilize embed code. Going a bit deeper, utilizing some basic coding apps or programs like Tynker, Scratch, or SWIFT Playgrounds are great ways to allow students to experience code safely and without a lot of teacher expertise required. Even utilizing resources like the Hour of Code are great ways to provide exposure to all students demonstrating the ab a deeper level of technology manipulation.

While the depth of coding may not be critical, it is key that we begin exposing students to the larger idea that they possess the abilities to manipulate technology more deeply than by simply changing default settings.

Project Work Matters

While some educators would be surprised to hear this, I swear this next statement to be true. One of the key players in hiring at SafeNet was asked what kind of educational background would be most relevant for students to have to be “employable” at the company. Her response was clear. Potential employees needed to have the skills needed to be a developer/coder. How they got those skills, what programs they attended, what degrees they held — all of these were largely irrelevant to her and the company.  “If you really want a competitive advantage, show us your project work. What have you done? What kinds of teams have you been a part of? Can you work on a team? What have you seen from start to finish? That is what we are truly interested in when we hire.” 

She went on to specify that the ability to work in a team, to be a part of the critical thinking process, to bring your experiences and abilities to the team — these were really the skills that they were looking for in a successful consultant. And she said it is largely the belief by many in the tech industry that no degree alone will give you that kind of experience and skill set. That is something that is learned from time-on-task engaging in authentic, meaningful, challenging projects. 

Are we giving students opportunities to build a portfolio of work that would fit this description? Is it work that they value enough to put in the time, energy, and commitment needed to be "all in" on the project. Passion for their work is something we can help students develop in classrooms today, simply by allowing them some choice in what they are working on, what the end product looks like, and the audience for which they are developing the project.

Additionally, do these projects incorporate a team element where each member of the team plays a critical role in the completion of the project? This is another simple shift we can make in classrooms today to make sure that work students do is, at times, reliant upon the work of others.

Fostering Creativity and Enhancing Communication

It is important to know that our focus in education on the four c's (creativity, communication, collaboration, critical thinking) are skills in high demand by employers. It was continually reiterated that innovative, outside-the-box thinking was the most important valued thinking on many projects in the tech industry. We may often think of creativity as an arts-focused endeavor, and in a way that applies here. More essential, though,  was the ability to take a tool, a programming language, an unrelated concept, and piece it all together in new, creative ways. Several SafeNet representatives talked about experiences where they had a limited knowledge base on the team, yet they were able to rethink how what they had could be utilized differently for a new purpose. This mental agility is something we can begin to develop in our students regardless of the age level or content we teach.

Clear, succinct, and ongoing communication is just as critical. Remember, most of the SafeNet employees we met said their consultants worked in teams, and they worked directly for clients. This means they have to be good at communicating: they have to listen closely, understand the clients needs, and ask questions to clarify. They have to engage in impromptu dialogue, read non-verbal cues, and anticipate needs and potential roadblocks. This is done verbally and in writing. And it is done daily with a wide variety of stakeholders, team members, and project managers.

If this does not fit your traditional vision of a programmer, that is because the technology industry has changed. While there are definitely many times when coders have to intensely work independently to write eye-blurring lines of detailed code, that is not the singular quality required of a programmer. They have to communicate with teams and clients regularly in order to be successful. And these are skills all educators can help to builds in any content area or age level.

Independent Work, Reliability, and Accepting Feedback Still Matter

One of the other keys that the team shared with us is that much of the work that successful employees in technology need to do is complete work that is done independently, on time, and under budget. While teamwork is important, many projects in the technology industry are broken into smaller components that individuals take on alone within an allotted time period. This is called AGILE development. There are other formulas for completing large project work, but the concept remains similar: take a big project, break it into smaller, more digestible chunks, develop, and then bring the work back to the team for feedback/critique.

Often there is a project lead who will give direction. Students need to take that direction and run with it. They will then need to take responsibility for their portion of the project, complete it independently, often within a window of one to two weeks, and then come back to the larger team with the completed work and present it to the team. At that time the team offers collective feedback about the direction of their individual work, assesses how it will fit into the larger app/program/tool they are building, and then the process begins again with the next part of  the project.

This feedback loop is an iterative process that requires independence, flexibility, and a willingness to fail fast and fail forward. Being "done" with the assigned portion of the project doesn't really exist until the project is turned over to the customer in its completed state. There are ongoing changes and tweaks to all code written throughout the development of the tool, and thus students have to learn to take constructive feedback in step if they want to be successful within the technology industry. While these may seem like skills we have been developing in students forever in schools, the underlying question for me is clear: Do the students enjoy the work they are doing enough to put the effort in to create something worth discussing with somebody else? And are they passionate enough about the work they are doing to want to improve it once they receive feedback? If those elements are missing, it is hard to teach them to iterate and continually improve their school work, yet those are the skills that were identified as necessary to a successful career in the tech industry.

Most Jobs Will Adopt the Tech Model

While our focus at SafeNet was talking about jobs in the technology industry, it is clear that technology has impacted nearly all business sectors. Technology will continue to evolve, spread, and root itself into more business models moving forward. According to code.org, we know that we already are not producing enough students to fill the technology and computer science jobs available in Wisconsin. Add to that the spread of technology focused jobs in more businesses, even if they are not jobs requiring deeper, language-based coding, and you have a scenario where many of our students would strongly benefit from having opportunities in school to build skill sets that allow them to feel confident enough to step forward and apply for jobs requiring them to engage with technology at levels beyond just knowing how to work with software and change basic user settings.

Screen Shot 2018-07-04 at 7.00.48 AM.png

Whether we are ready or not to teach many of these skills to students, our kids will require them as they enter the world of work. The good news is many of these skills are within most educators  wheelhouse to teach, if we are willing to make changes to shift to a more project based, collaboratively focused model of instruction.