Freelance
News Service
Programmer has Code for Success at Wind
River
By William Cracraft
L:isa Stanley slid into software development almost accidentally. She went to Texas A&M University where, "they don’t really let you specialize. I learned about power distribution, motors and electronic circuits.
"In my senior year I started working with software, rather than building the hardware, at a very low level. We were controlling a camera, we could put computer graphics up on a screen and then control a camera to take snapshots of the graphics. I got really interested in the concept of writing a program that made things move," Stanley said.
Last year Stanley got to watch her software perform as no other program had in the Mars Pathfinder mission. "That was a wonderful example of seeing your software in action," she said.. "Our operating system was running on the one and only microprocessor that was in the lander, the Pathfinder, and I was on the team that ported our operating system to the special chip designed for the space environment."
Stanley is a senior software developer for Wind River Systems on in Alameda. Wind River produces imbedded systems to operate the computer chips that control everything from anti-lock brakes to cell phones. "We write the basic operating system, like Windows that runs on your PC. Our customer writes the applications that are the equivalent of Word or Excel which runs on your PC," Stanley said.
"What I see as a success is the customer coming back to us and saying, yes we were able to successfully implement the audio filter, or whatever. I don’t necessarily have to understand, but I gave them the foundation so they were able to do it," she added. Her typical day starts much like any other worker in a large company.
"I come into work and check my e-mail and see what’s going on in the company as a whole outside of my project," she said. After that, her day changes from week to week as the project she is working on progresses. "Right now I’m in a phase where I’m finishing up a project, tying up a lot of loose ends. I’m working is a very small compact operating system for digital signal processing chips which are the chips that actually do the audio processing in your cell phone, or possibly a co-processor to do audio processing in your PC," she said.
"We’re in a phase right now where I’m correcting very small errors that are being found by the test department...doing the very last minor tweaks which is kind of the frustrating end of it," she said. "The fun stuff is in the middle of the project. Some people are really into the beginning of the project when all of the design work gets done and when your making all of the big decisions," Stanley said.
"My favorite part is when you have a basic structure of what you want the project to look like and you have to get down and make it work. All of the appropriate mechanisms have to move and all the lights have to flash, all of the details have to come together. That’s the part that drives some people crazy, they’d rather be on the design phase. Her motivation is self-administered. "I’m about to go off and start on a new project, I’m looking forward to that and keeping that carrot out in front of me to get me through the boring part of the current one," she said.
Wind River execs like what they see in her. Stanley works as part of small team now, but the company is pushing her towards a supervisory role. She has drawn attention through her skill and experience and in being "someone that they can dump a fairly vague project on and it will come out okay," she said with a laugh.
"Along with being a senior engineer is having the experience to work on a not-very-well-defined task and to be able to take it from there, making it work and getting it to the test phase," she said. A coder at heart, Stanley looks at computer language as just that--a language
"It depends on how long you look at it as to whether it still looks like hieroglyphics. It’s like learning any other language. If I were to take off right now and go to Russia, I wouldn’t be able to read street signs, but after a while, I’d catch on," she said. Primarily she uses a computer programming language called C. Other versions are C+ and C++. "I see a little bit of C++. I also do a lot of work at the low levels with assembly language which is the native language of the particular chip that you are working with," she said.
One part of the job most people don’t think about are all the test programs programmers use to check their work. "We put a lot of effort into writing test codes. Sometimes it seems like we spend as much time writing test code as we do writing the product itself .
"There are certain kinds of tests called reversion tests aimed at testing one particular small piece of the code then there are stress tests that try to test the entire system and to put it under the type of load it would get when a user uses it. "Every single piece of the product, as much as we can, we want to try to exercise in every configuration we can think of, every consideration we can come up with. If you had to run a thousand test cases yourself it would be really boring, but the computer can do it really quick. Tuesday the test department delivered good news.
"I just got the word we believe the last of the testing is done, so the rest of the day may be spent celebrating," she said. Which means the company might spring for a good meal or take the whole group out to a movie, but leaving early is not the norm.
Though Stanley starts work at 10 a.m., her departure time is open ended. Programmers are known for incredibly long hours fueled by snack foods from vending machines when a project is on deadline, approaching the shipping date. Stanley puts in the long hours, but, "for me its more fruit and Powerbars rather than M&Ms and pizza," she said.