by Frances Advincula
The other day, my nine year old sister asked me to teach her how to code. She loves the iPad and wants to start making her own version of Angry Birds — but with kittens. She idolizes me so, and it made me realize — jobs in tech are very much glamorized these days, and for me, that’s neither a bad thing nor a good thing. Just like any other job, there are good days and bad days. Days where in everything goes along fine, you’re on schedule, and there those blah days when you don’t feel like you’re getting anything done, and you’re just plain tired of hunting down that bug up and down the call stack.
I’m sure it is different for all of us — we all work on different teams, different projects, different companies of all sizes and cultures. But I thought I would give you femgineers a peek into what a typical day is like for me — what it’s like to belong to a close-knit team inside a giant of a firm.
My day usually begins with sitting down at my desk checking emails. I used to work in support (where the new guys have to pay their dues). When I rolled off of support and into a new team I still had to be available for all questions regarding all the bugs/issues that I had worked on. Since we have offices all over the world, I always have to check my email in the morning to see if someone has question for me. The software architect that acts as my official mentor and/or boss, the guy I work with the most, actually works from the East Coast too, so I still have to check my email to see if he has anything for me, or if the build might have been broken from a late commit from last night. I would like to not have to check my emails first thing though, as most schools of productivity teach us to avoid this, but at this point in my career, I have to.
Then I usually go grab a cup of coffee, and look at my to-do list. My todo list usually looks like a list of features that I need to make or a list of things in a feature that I need to make or a list of things I need to refactor. I have mine up in Evernote because I love how it syncs to my iPad and home computer. This is my very first BIG project so at first, I was super overwhelmed with everything that I had to. But as always, I found out that keeping a list keeps me from getting overwhelmed and keeps me focused. In true hacker style, divide and conquer!
Around 9:30, we have a spot for a code review. At least for my division, all new engineers have to have 100% of their code reviewed before it gets committed. Once you finish a task, you let all the developers know about what you did. Sometimes you also put it up in one of those review board things — but that’s all I can say without getting into trouble. Some developers prefer that the diff files get posted on a site, and they can be reviewed at the developer’s ease, but sometimes, it’s good to have all the engineers that care about that issue in a room and just bounce of ideas of each other. Both methods are welcome — it’s really up to the requester. I used to be terrified of code reviews though, I mean — hello, your best work is projected up in a screen for everyone to rip apart. But you just learn so much, they bring up approaches you’ve never thought of!
Anyway, if an engineer requests for a review that touches the product I work on, or if it’s a topic I am interested in, I attend. If they request me specifically, I go. Otherwise, I will continue on hunkering down on my to-do list for the day. I always have lots of questions, so I’ll either walk up to the other engineer’s desk or ping them. I prefer the latter, because I have this very sensitive idea of personal space, so I always ping first — especially if the developer has his headphones on. I always infer that it means, “Don’t bother me.”
My boss also told me to start writing down functional specs for myself before tackling a problem. The pages I’m working on are getting more complex. He said it will help me think through the process more, and it will force me to analyze the quality of my design before I even write a line of code. Sometimes, if you are stuck on even writing the spec, it’s great to just talk it out to somebody. Our devs love doing this with each other; they’ll just roll over to the other guy and ask… and sometimes, we talk to the dog too.
As a newbie, don’t be afraid that you are asking too much; just remember to “manage up.” Know your boss’s personality and work with it. If he likes it that you ask him right away, do that. If he prefers that you show a genuine effort of trying to figure it out before you ask him, do that. If he prefers mornings, schedule underground sessions in the mornings. Think with a win/win attitude, and everyone will get along much better and get more stuff done, which is all what engineers really want at the end of the day.
My team usually has a short standup meeting in the afternoons just so that everyone is updated. They’ve surveyed the developers before, and we all said we prefer meetings in the afternoon, when we all kinda hit that slump, and to please keep our mornings free from meetings because that is our peak time for thinking and getting stuff done. So while we are on the topic, is it a general engineer thing to dislike meetings? It seems like the more meetings, the less stuff I get done. A few of our engineers have very strong feelings about meetings, especially ones scheduled on a Wednesday, when we aren’t supposed to have meetings! Thankfully, if I feel like I’m getting sucked in into too many meetings and my productivity is slipping, I can always let my scrum master know. That usually means she can arrange it in such a way that I can skip the meetings, and developer me is happy.
If I’m working with more front-end stuff, then I work closely with the architect who loves front-end stuff, and I work with our designer as well, translating his vision into the actual thing. Sometimes, there is a tug of war between the opinions of the developers, the PMs, and the designers — and oh let me tell you, we all feel very strongly about our own. At the end of the day, though, I think that is great. Debate is great, discussion is great! It helps us make a better product.
My larger overall group also has big meetings every month or so. We always start with what we used to call “Smiley Awards” wherein people get recognized for the great work they have done. That is really something I love about Accenture Software. We really celebrate the little wins, and I have seen it make a huge difference in the motivation, especially for the younger, newer employees. From talking with a couple of my consultant friends who also work for big firms, it seems like this is something corporations frequently miss. Thus, I feel really blessed to belong to such a group. Think about it. If you’re a nobody, and yet the big bosses took the time to recognize your great work in front of everyone — well, that really raises your confidence level and pushes you to work even harder. To be even better.
If a big issue comes up, then another engineer and I will pick a room and go underground for the next hours/days until we get it done. I have to work closely with our release manager too. If a build is broken or if I need a release candidate branch merged into my branch, etc., I will go to him. When QA is testing my work, I also have to make sure I get to answer all their questions — and the same goes for our documentation team. Making a great product is really a team effort, and we all have to work with everyone, the product managers, the scrum masters, the architecture team, the UX team, the doc team, and the QA team to make sure that we deliver what we promise and on time.
If it’s a Thursday, I may have a one on one with my career counselor as well. I absolutely love my career counselor! He was my supervisor as an intern, and he feels like my dad at work — I know the guy has my back no matter what, and that he will push me to do better no matter what. We talk about my current project, what I’m doing — if I like it, if I’m learning. I tell him my career plans, and he gently starts steering my career in that direction. How cool is that, right? You get to create your dream job from where you are! We also talk about my performance goals and how I’m actively trying to accomplish them.
Sometimes, a lot of us developers in my branch go out to lunch too. It’s funny — we sit there in a table and they talk about their boats, their race cars, their hockey game last night, their wives, their kids — and then there’s me, and sometimes there is a couple of other women. Also, if it’s a Friday, we have classes in the afternoon. Right now, its Ethical Hacking and the other is Design Patterns. It’s not very formal at all, and I hope to teach a class soon!
I really do enjoy my job, and that is a gross understatement. I like that I get to work on projects that I choose, with incredibly smart people, building a product that makes people’s lives better. What’s not to love?
Frances just graduated with a degree in Computer Science with specialization in Software Engineering. She works as a Software Developer for Accenture Software. She also contributes toThe Levo League, Women 2.0, and STEMinist. A proud geek girl, she’s sure she is the only one who can’t play video games. Follow her random musings at @FranAdvincula.