Audrey Troutt talks about what her day is like in Software Development in the Higher Education industry.
by Audrey Troutt, SEAS ’07
I work at Goodwin College at Drexel University, heading up the software development team in IT. I am usually one of the first to arrive over there in the morning and I take advantage of the quiet mornings to review my emails and task list. I live by my to do list. During the day I check on the status of each of my projects. This includes projects like the Math Forum Problems of the Week , the Math Forum blogs , and projects for Goodwin College marketing like the content management system and new mobile website. Responsibility for these projects falls under my role as supervisor of software development for GIST. I manage these projects and make sure that things are getting done on time and that implementation decisions are made in line with our best practices. Often times I am also the developer responsible for implementing or configuring the software, other times I work with my colleagues and student programmers. There are about a dozen people in IT, half of which work in software development, systems and applications. I keep track of our projects on a wiki so that anyone can look there to find out what is planned and what has been done. If we are ready for a demo or need to brainstorm or make some decisions about a project I will set up a meeting with our internal customers. Over the years I have worked with employees from almost every part of the college, from part-time faculty to executives and the dean. I love that I have an opportunity to work with so many different people at Goodwin.
A lot of my time is spent programming. This week I am finishing up a new version of the Math Forum Problems of the Week app suite that includes important new features for teaching teachers how to effectively mentor students as they work on Math Forum problems. There is also a bug that I need to fix with our easy account setup wizard. When we learn about a bug like this I like to add an automated test for the software first so that when the code is changed in the future we can be confident that this problem hasn’t come back and everything still works the way we expect it to. We currently have 191 automated tests like this for the Math Forum store software, about 651 for all of the Math Forum apps together, and these are run each time a change is made to the code. That may sound like a lot of tests, but I actually wish we had a lot more! Programming takes time and concentration so I like to carve out a good chunk of my day without meetings or emails so that I can focus on it.
For lunch I used to go to the Drexel gym for some swimming, cycling or weights, but these days I head home to have lunch with my husband and five month old son, Felix. It’s nice to be only a few minutes away from home! I find it refreshing to get away from my desk for lunch and some fresh air–I come up with some of my best solutions when I take a step away from my computer.
Some days, like today, I need to do a deployment of a new version of an application. I have just wrapped up a new version of a custom application for event registration and I need to deploy it to one of our test servers so that it can be tested before I can demo it to my stakeholders at Goodwin. I always like to make sure that someone other than the person who made the changes to the software tests it. It is really hard to find errors in your own code–have you ever tried to copy edit your own writing and overlooked an an obvious typo? It’s the same with the software that you create. Our automated tests take care of things like obvious typos, but a fresh pair of eyes can also catch errors and also double check that what was implemented matches what was requested. My testers are all ready to go, so I take the most recent automated build of the software, move it over to the test server, update the database and start it up before I let them know that it is ready.
Every afternoon we have a stand up meeting over here with the tech staff. A stand up meeting is supposed to be a meeting where you are standing up so that you are not tempted to let the meeting drag on too long, but we actually sit down sometimes so maybe we should start calling it a “status meeting”. This meeting is really important because it gives us an opportunity to hear what everyone is working on. Sometimes if one of us is stuck on a problem this meeting is a convenient place to ask for help. It’s also a good way to check on the status of a task you are waiting for from someone else. We spend most of our time working alone, but we depend on each other to carry out different tasks and offer ideas and perspective on our work. After the meeting I might sit with someone to talk about a project. I really enjoy working with these guys!
So, I am not your traditional programmer. I didn’t study CS as an undergrad; I was actually a dual major in Physics and Music at a tiny innovative liberal arts college, New College of Florida. It took me two years of travel after that to figure out that I wanted to learn how software works. I went to the MCIT program at UPenn (graduated Dec ’07) to help me quickly build my skills and break in to software development. I was hired for my first fantastic job months before I even graduated. I think part of the reason I was so successful is that I aggressively sought out opportunities outside of my classes to get more experience programming. While at SEAS I networked my way over to the School of Education at UPenn where I found a willing collaborator in one of the faculty members and spent the summer building a web search tool she had envisioned. I even tried my hand at the PennVention competition. I was not always successful (as with PennVention—my project was an overly-ambitious failure), but I was hungry for experience and I was driven to create tools that people would actually use. I still am, and that is one of my secrets to success.
For anyone out there who is interested in a similar career path, especially my fellow female geeks, I would recommend diving in to code and getting your hands dirty. Get as much experience as you can. Look for local, free events like hackathons , code camps and code retreats where developers get together for an intense weekend of coding for a good cause and good practice. You will learn more than any class at school, I guarantee it. Attend local tech user group meetings to learn about what people are actually doing and thinking about. There’s always free food and you might even get a job—it happens. For women, there are wonderful, very active local groups like Girl Develop It , Girl Geek Dinners and Web Start Women that bring together women of all experience levels in the Philly tech community and provide friendly environment for asking questions and learning.
There is a vibrant, diverse and rapidly growing tech community in Philadelphia and they are actively looking for students to join the fun. They are trying to find you, mentor you, and get you started in a tech career, so don’t be shy!
Want to know more? Ask me on twitter @auditty