A day in the life of a Cisco Software Engineer
Meet Arvinda, originally a Cisco Intern, he is now approaching his eight year anniversary at Cisco as a Software Engineer. He shares his story below:
"About a week before I started my internship here at Cisco, I received an email telling me what I’d be working on over the summer. It also reassuringly said “if you get lost in it all, don't worry”. As an electrical engineering student with no real coding experience, I kept wondering whether signing up for a software engineering internship was a mistake. I couldn’t have been more wrong. Over the next ten weeks, with a lot of support from my mentors and the rest of the team, I grew to absolutely love it. It was an easy decision to accept the full-time offer extended to me part way through my internship, and I really looked forward to coming back after my final year at university.
So what’s my typical day at Cisco actually like? And how has it evolved over my time here? Though a number of my work responsibilities have grown progressively and the scope of my work has changed quite radically, my primary day-to-day role as a software engineer remains much the same as when I started back as graduate all those years ago.
My team and I currently work on Cisco Spark (https://www.ciscospark.com/), a cloud-based team collaboration tool bringing together messaging, meetings and calling. There are about thirty of us here in London who focus on the meetings part of the solution – more specifically on video conferencing and video playback infrastructure.
Though Cisco offers us flexible working hours, my day usually starts at around 08:45am (I don’t like leaving late in the evening!), and I’m usually one of the few people at work this side of 10:30am! The first hour or so is usually spent catching up on emails and Spark messages (what good would it be if we didn’t use our own technology!), remembering where I left off the previous evening, and drinking tea. Then it’s off to work! We follow an agile software development methodology called Scrum, which divides us up into ‘Scrum teams’ of between five to eight engineers and breaks down work commitments into two week long ‘sprints’. The scope of each of these sprints is decided as a team and there’s a backlog of items that we work off. I’m primarily a C++ developer, working on new application features and of course, fixing bugs! However, as Cisco Spark is a cloud-based product that we host and manage ourselves, I suppose it would be more accurate to say that I’m a DevOps engineer, as there’s a lot more than just software development that goes into running and maintaining a service like ours. The obvious counterpart to developing new code is testing it, and I frequently have to add new tests or tweak existing ones to take into account changes in functionality. From time to time, I’m also involved with the platform side of the service, dealing with tasks such as bringing up new nodes and data centres (we have some fun maps showing where our users are located in relation to our media nodes – it’s important to keep latency to a minimum when dealing with media). About a third of us also volunteer to take turns being ‘on-call’ – which is exactly what it sounds like! As with any service, we do occasionally run into issues and it’s important that these are dealt with as efficiently as possible. More often than not, the most effective way to do this is to involve a human. We don’t get paged too often, but I’ve certainly had my share of being woken up in the middle of the night to look into various issues with the service (don’t worry, we’re compensated for this!).
In addition to my DevOps responsibilities, I usually spend a few hours a day on my other responsibilities: namely Scrum Mastering (a somewhat team coordinator-like role that’s part of Scrum), people management and recruitment. This may be an actual meeting, an informal catch-up with a team member, or just time I set aside for myself to focus on my daily tasks. Though very different to the usual engineering work that I love (and indeed brought me into and kept me in the industry), these too have been extremely rewarding and have given me insight into some of the other essential roles that keep our team running.
I’ve been at Cisco for nearly eight years now. I really enjoy the work, the challenges, and the opportunities. But without a doubt, the best part of my job is my team. There’s no ‘I’ in team, and this is proven true within my group at Cisco. The support I gained from everyone around me was one of the main reasons I enjoyed my internship so much, and led me to choose a full-time career in software engineering.
I hope your journey is as exciting and rewarding as mine. Come join us and we'll ensure it is!"