The CS171 course focuses on data visualization theory and covering a lot of ground in terms of learning to program and the basics of interactive visualization. We like being able to guest lecture for this course because we always hear from students afterwards that they enjoy being able to see how what they're learning can be used outside of the classroom. Afterwards, students still had some commonly asked questions, so we thought we could answer some of those here.
For analysis and data-wrangling, we often turn to Python. We also do a fair amount of server-side work with Python, sometimes Node, and even a little Java.
Processing is a part language, part library, part environment, and often used for creative coding. The main version is Java-based (as a “language” it's sort of a dialect of Java), so the work you create with it is not readily usable on the web. However, it has a lot more juice than your browser, so when you're working with large datasets, it can make those initial iterations happen a lot faster. It also can export out to PDF, which makes it great for creating the data-driven pieces of any print work you may want to do.
p5.js is a project that builds on the ideas of Processing but rethinks some of its base decisions for the web. Primarily, it can help simplify the process of writing HTML5 canvas applications. It's a great starting place for learning to code in general (it's what's used by Khan Academy, for instance), but it's also helpful when you find yourself editing a D3 example so much that you're writing more code to change it than the example itself. When you get to that level of customization, p5 and the HTML5 canvas can be your friend.
Yes! We are always looking for curious, driven candidates. We are not looking for someone who can "do it all," but people who can think creatively about how to apply their skills – whether that be coding, design, writing, or managing – to the work we do. We also have internships throughout the year. If you want to learn more, check out our careers page.