A recent article from HigherEdJobs.com listed leadership as "The Standout Skill" that brings an advantage to those in the process of looking for a job. The author noted that this skill "is not the position you hold, but the work you do." No matter the job title or type of organization, leadership skills are in demand. This article was posted on a site targeting higher education professionals, but reminded me of other "standout skills" I've recently encountered, including computer programming also known as coding.
The ability to code – create, test, and evaluate the software applications and systems that make computers work – is emerging a success factor in many fields. Gone are the days when you would need to seek out opportunities to learn about programming through computer science courses and majors. Coding is just one component of digital literacy. Similar to the leadership example I presented above, coding and digital literacy transcend specific positions and industries as our lives, learning, and work increasingly involve technology and the Internet.
Programming involves several of the qualities employers are looking for – such as decision-making and problem solving – as recently reported by the National Association of Colleges and Employers. Douglas Rushkoff, author of Program or Be Programmed, suggests that each of us acquire some degree of skill with coding not only as a career move, but also to better "understand how the world works, and become a participating member in the digital society unfolding before us."
Learning to Code
Learning to code can take place in multiple ways and with a variety of resources ranging from enrolling in a formal academic course, to completing an online tutorial, to reading and experimenting on your own. Learning a computer programming language isn’t a small task. If you are interested in developing these types of skills, consider both where you are and where you want to go. There are options to take someone with basic or intermediate abilities to mastery level skills, and to take the complete novice to more basic skills and understanding.
Academic Options and Requirements
You used to select a major that related to programming, such as computer science, if learning to code was your goal. But today students in all majors are learning to code through changes and initiatives happening within their schools and programs. Your degree plan may even require completion of a computer-related course. As an undergraduate liberal arts student I fulfilled a similar requirement by taking an introductory course in Pascal. I haven’t used Pascal since, but I do remember the challenges of getting the programs to work and the iterations of trial and error that were involved. The result – a new found interest in computer technology and some lessons learned in testing and evaluation that I have used throughout my career.
General education requirements for undergraduate college students, such as those at the University of California, Santa Barbara, often include computer science options to fulfill courses in the areas of science, mathematics, and technology. These requirements apply to all majors encouraging a well-rounded approach to higher education as a foundation before moving into courses related to your major.
If you are interested in taking a course as an elective, you can also look for programming courses geared specifically for "non majors". The University of Minnesota's computer science and engineering department provides a list of courses and advice to students from other departments who are interested in learning more about programming.
Several new online learning options provide access to instructional materials and practical exercises that help you build coding knowledge and skill on your own. You can decide how far you want to go and which of the many existing programming languages and platforms you want to explore. Online courses and tutorials like those from Code Year, a project from tech start-up Codecademy, provide free access to interactive learning materials and practice activities. This project includes weekly lessons that will take place throughout 2012 and currently has over 370,000 subscribers.
Open courses are another resource for programming information. MIT's OpenCourseware project offers access to course materials (i.e. lectures, notes, assignments) to several introductory courses in computer science. The OER Commons provides a searchable directory of these courses and those from other instructors and schools that are related to computer programming. If you already have some coding experience and want to advance into more in-depth topics and exercises, look for resources that will help you build on your foundation. The Coderholic Blog provides a list of "25 Free Computer Science Books" to get you started.
Documenting Your Skills
Learning to code is not only a practical skill, but also a marketable one. How can you present these skills as part of your overall qualifications in the job search? Both your resume and your portfolio can be enhanced by including examples of your skills to present to employers. Find opportunities to illustrate your critical thinking and problem solving skills through demonstration of your coding knowledge. If you are part of an online community of programmers (e.g., CodeChef, Scratch, WordPress) include information about how you contribute to the group by helping to answer questions and providing feedback to peers.
Zack Sims, co-founder of Codeacademy states that "coding's important to everyone – it's the literacy of the twenty-first century." While it may not be an essential skill for the career you are currently planning, it may enhance your work and attract the attention of a future employer.