Posts Filed "Software Engineering"

Q&A: Prototyping and Design at Code.org

I got to talk with the folks at Justinmind about how we approach design, prototyping, and user testing at Code.org. You can check out the feature over on their blog.

Oh, and we’re hiring!

Predicting the Future: Schedules, Simulations, and Software

During my last couple of years at Microsoft, the Office organization was making a broad transition to a new, more agile engineering process. It wasn’t exactly textbook agile, but it was a lot more flexible when it came to changing requirements and iteration. It was an admirable change, and I’m not sure an organization the size of Office could make a wholesale change to a “truly agile” culture in a short time like that. However, a result of these changes was that we all had to rethink how we approached things like scheduling and ship-readiness. Under the new process, we were operating on a schedule of regular, more frequent “releases” (in the early days, this just meant “semi-stable builds”), each consisting of a fixed number of sprints.  There were a ton of tools in place from previous releases to manage the schedule, but since our team (and the organization as a whole) was new to this, we knew it would take some tweaking to get it right.

We tried many different methods (and I won’t go through them all here), but in the feature areas I was PMing, I found some success using randomized historical models to predict delivery dates. I didn’t invent the techniques in this post (though I modified them a bit to suit our needs), but I hope it serves as a good explanation of how you can use Monte Carlo Methods (and simulation in general) to better predict the future. (Okay, that sounds ridiculous.)
Read the rest of this post

CS Education Resources

One of the things I’ve always been passionate about is STEM Education. When I was in college, I considered pursuing a teaching career after graduation, but I decided I should go work in industry (at least for a while). However, I’ve tried to stay involved in Computer Science education while working. I volunteered at Newport High School with Microsoft’s Hunt the Wumpus program for a few years, and in the 2014-2015 school year I began volunteering at Garfield High School through the TEALS program. As part of that volunteer work, I’ve put together some materials for students. I’ve created a home for these documents on this site. I’ve also added a link to this on the sidebar.

I’ve made most of the content there available under the Creative Commons Attribution 4.0 International License, meaning you’re free to share it and build upon it as long as you give credit where credit is due. My folks always told me sharing is caring!

If you have any suggestions for improving this content, spot any errors, or find this useful, let me know – I’d love to hear from you!