Interview by Thomas Peham
April 16, 2015
Photos by Infragistics
From joining the dev support team, to managing two distributed teams!
Rani Angel has started early in her career at Infragistics, a global software development company.
After working in the developer support team for a year, Rani has moved to the internal systems team, and is now managing two distributed teams.
Share this interview:
Can you tell us a little bit more about yourself?
Sure! I work for Infragistics at our Headquarters in Cranbury, NJ. As far as my role, I’m the manager of the webdev team, which is primarily located in our Bulgarian office. I also work as the team lead in the Internal Systems department. At the current time, we are transitioning both of those teams into one single team. Since we’re in the midst of a transition, I end up balancing both the dev team priorities as well as the internal systems priorities for both of these teams. In our corporate hierarchy, my manager is the head of Internal Services, who then reports to the VP of Services.
As far as what do I do on a day to day basis? Well… I keep track of every single project that comes up! Internal team primarily focus on internal clients, such as our sales department and marketing department. All of them have requirements that come up for feature editions that would streamline their processes or issues that they are facing that are making their work more difficult and that we can help rectify.
For the web team, there are also all of the feature requests and issues that come up for the website itself and all of the associated web properties. We need to keep track of all of those areas, prioritize projects, figure out how we're going to allocate resources. Then of course there are even more additional requests that come up within the business, which might take a higher priority than what we already have on our plate.
It’s my role to take all of these things, work with the stakeholders to determine priorities, and then meet with my team of developers and make sure that they have everything that they need to get their job done.
How many people are in your team right now?
Cumulatively I have 9 members of my team. There are six team members in Bulgaria and three in the US.
Is there any tool you use for managing your projects?
We don’t usually use a tool. Most of our web team projects is in the web team area of TFS. When a project comes up, I add it to the backlog , make any changes needed changes and and set priority for the Sprint Planning and things like that. We do a 2 week sprint and the current priorities are usually in the current iteration.
If we do need to change something based on how the priorities are, I change it in the backlog, and if necessary email everybody saying, "Okay, this is what is going to be coming our way. We need to figure out how to get it on the plate."
I don’t use a tool yet because we don’t have formal project management. Changes and requests have to go through this manual process in order to make sure I have oversight on everything. The process kind of works for the team because it is a small team.
Can you share some insights on Infragistics as a company?
In a nutshell, what we do is create user experiences. We build components for our customers to make their applications better, and at the core, we are a software development company. We take everything that you could possibly need for your application, from charts, grids, and maps, and we create those tools, so then you don’t have to worry about going into the nitty gritty details yourself. You can just pop ours into your project in Visual Studio and be on your way. We make it so that you and your developers can concentrate on what your core business needs are, which is to create applications which look good, are efficient, and make your customers happy.
One of the best things about our development tools is that you actually have almost exact parity in our tools across a wide range of technologies. You have all your desktop development platforms. You have iOS. You have Android. It's a full suite, I guess you could say.
Going back to you as a person, how does a typical day in the life of Rani look like?
When I wake up in the morning, the first thing I do is check my email because I know that my Bulgarian team has already been working for a few hours. I make sure there are no critical issues, and if there are, then I log in on Skype. I check in with them, see what needs to be done, take care of any issues, and then get ready to head into the office. Once I arrive, if there is a follow-up needed to rectify the issue from the morning, I follow-up on that.
If there weren’t any morning issues, then I catch up on all of the rest of my emails, look at what I need to do for the day, and have a conversation with my team again about their plans for the day.
One of the great things about my team is that I trust them to be able to take care of whatever they need to. Once the sprint planning is done, then I don’t always have a daily meeting with them to see are they on track. I trust them to be able to manage that on their own.
That actually makes it a lot easier for me. Since my team is able to function independently, I am able to catch up on everything else that's in my inbox, including determining what I need to delegate to my team and what I need to actually develop on my own, because I actually do development too.
Once I finish task allocation, I look at my meeting schedule and hope that my calendar is not completely blocked out! Ideally, I block out some time for myself for development, and just go through the day. Typically I also have people who walk up to my office either with questions or with requests. If it's a question I can answer immediately, I give them the answer. If not, I make a to-do for myself. In fact, I email myself a to-do, to follow up and find that information for them.
If they have an issue, obviously, I find at least a workaround. However, finding an answer and/or a workaround does not always mean that I have it at my fingertips. Bringing someone a cohesive, sensible response might actually require me to talk to any number of people and find the information. If that is needed, I do that as soon as I can.
In the evening, I take a look at the amount of work that I haven’t been able to complete, and I make a choice as to whether it is something that can wait for the next day, or if I'm going to spend an additional hour or two to finish those up. Once I make that choice and execute if needed, I finally head back home.
I guess it must be quite inspiring to talk with all kind of different people.
Yes, absolutely! I don’t just talk to developers. I talk to sales. I talk to marketing. I talk to product development. I talk to my own development team. I talk to database people, accounting people. I have a holistic approach to communication and I try to work with the entire company as much as I can. I believe that it gives you a different perspective and it always keep you on your toes because you just can't take anything for granted. Somebody might come to you with something that you have never ever thought about. They might say something that is a totally different way of thinking. Talking to colleagues outside of your own direct cohort expands your perspective and helps you to be prepared for anything.
Would you call that your motivation?
Yes. People are my motivation and, like I said, I have found the people I work with are a completely different degree of people. They are really great. And I'm not just saying this because I work at Infragistics. I have worked at Infragistics for nine years, and there's a reason. The people are so great - you don’t want to leave.
How and when did you get into web development?
I call myself a software professional. I started off as a software developer.
I wasn’t looking into getting into web development, per se. Before starting at Infragistics, I had worked as a consultant in an insurance company in software development. Software development is all I have really looked at.
Then I joined Infragistics. In fact, I actually joined the developer support team. That was interesting because you don’t really work on a full application. As a Developer Support Engineer, you work on solving problems for the customers as quickly as you can so their roadblocks are removed and they can develop their applications!
Like a firefighter.
It is. It was definitely like being a firefighter. It was also great because you always got different people from different areas of the world; everybody had questions, and very often, the question was just something that you could answer right off the bat on the phone. However, sometimes they would take you down the path of actually creating a little mini-application and trying to figure out what needed to get done. The year I spent in support was a very interesting year!
After the end of that first year, a position opened up in internal systems. I moved in. Since then, I’ve grown from being a developer, to a senior developer, and now the team lead. What’s great is that I’ve gotten to know both of sides of the website: the front end, customer facing site by working with the web dev team, as well as the internal side of it from working in the internal systems team.
It was just a matter of time, as we went along, that management decided that it made sense for these two teams to come together because so many of their priorities overlapped. And they have trusted me to be able to manage the team. They asked me to do it, and I said yes.
Was there any moment in your childhood when technology clicked for you?
When I was growing up, we didn’t have computer classes in school. Around the time when I was in high school, my dad started experimenting with computers at work. He found it very cool that he could do a lot of things that he had to do on paper, and he could actually do all of this on the PC. That’s what sparked my interest.
I wanted to know everything about it. I knew, "Okay. That’s what I want to do when I am a grown up." I spent my childhood always asking questions like this. However, when I finally reached college age, I was contemplating doing a master's in literature because that sounded very interesting. I ultimately decided to apply for a master's in physics, but once in the program I quickly figured out I did not like physics at all, and then ultimately moved into computer applications.
It's not like I knew consciously, but I think some part of me knew that PCs would be a part of my life because I found it interesting from the very beginning. I never thought that that would become my career.
What I really love about software development is that if you want to, you can actually take the time to understand what your customers need, and how it's going to help them. For me, it's great that you actually can spend all this time building something that makes somebody else's life better, and you get to talk to people and understand how it’s going to impact their lives, so it's a win-win situation.
Has there been any big challenge at Infragistics or in your professional life so far, which you'd like to share with us?
I'll talk about a couple of big challenges that I have been trying to find ways of solving.
The biggest challenge is definitely working on a globally dispersed team. It is a huge challenge. One of the biggest struggles is when the overlap between the times the two teams are both working is only a few hours.
The challenge is how to make sure that as a manager you are going to keep on top of everything. Plus, you want to make sure that your team is shielded from the the pain of not being in the same location.
If I have a question and they are here, right here in the United States, I can just get up and go talk to them. For my Bulgarian team, they’re not right here, so I need to depend on Skype, but then by 12:00pm, they are gone. Now I have to wait a day until they come back. I'm talking to people to try and find different and new ideas on how other people are managing their distributed teams.
Another challenge I have is that there are a lot of different things that my teams are responsible for. We deal with internal applications, support for our customers, website support for our customers, support for our external customers, just to name a few things.
And then, between managing all of those projects every day, I also personally want to become more proficient in making our process a lot more streamlined. I have visions of a strong project management process, but not a straight PMP (Project Management Professional) version of it or a strict Scrum process, that my team follows.
A question I’m working on answering for myself is how to combine those methodologies together, to be able to follow Scrum as well as be able to manage the different projects and STILL provide visibility to the stakeholders. That is the other big challenge that I'm working on.
The third challenge is time. It would be nice to have a time machine that will slow time down so we can actually do 24 hours worth of work in 12 hours.
Can you share some tools you’re using on a daily basis?
We do have Microsoft Lync in there. We also have LifeSize set up between our global offices. We typically utilize LifeSize when we have huge meetings that requires video conferencing. I do have the option of using LifeSize with my teams for smaller meetings, but I find it easier to use Skype because everybody has access to it, and I can use either video or audio depending on the situation and my team’s needs. I end up using Skype more than LifeSize or Lync.
You mentioned TFS before. Are there any other tools you use on a daily basis?
No, usually there's just TFS. I use project management tools a little bit, but definitely not for development tasks. I use those just to track projects for myself. Other than that, TFS is our primary tool for keeping track of what we need to do and that includes bugs and features and tasks and everything.
It makes management easy, whether it's backing up of all the data or making sure everything is going to be available, so that way our team details are not split up into five different tools.
Is there any technology or project or maybe any kind of tool you'd like to explore, if you had more time?
I can't think of anything because I already have a huge backlog of products that I need to explore for all of my colleagues’ requests!
Can you share some of them?
Sure. I need to look at the latest version of Microsoft Dynamics CRM to be able to see what the new features are going to be, so that when we upgrade I know what is going to be available and can train our users.
Then there’s our website CMS system itself - I need to get into the details of the product and understand its constraints in order to be able to give more input to my team. I already have four major products I need to reel in before I can even move into something will be just fun to do.
Truthfully, I just don’t necessarily know all the options out there for every project any of our teams might need. For me, the more information I have, the more comfortable I feel. All of this is stuff that I want to learn and become an expert in. The question is how do I find time.
Is there any advice you would give yourself as a 14-year-old?
I grew up in India. There are all kind of things that are the norm in the US that weren’t where I grew up. I would have loved to have different opportunities while I was growing up, like being able to do an internship -- do some marketing, do a little bit of sales to be able to understand the areas a little better instead of having to wait so long. My job actually required me to find out about all of that. Having experience at a younger age would have changed my perspective a lot more and would have made me more comfortable as I moved into the workforce. Other than that, everything else I would have done the exactly the same.
Do you experience any pains or challenges when it comes to testing software?
The big challenge is we don’t have all of our tests automated. We know it is a huge priority, but we have not been able to prioritize it above whatever else that we have right now. The struggle is when something happens, how do you determine where exactly the issue is, and when you actually deploy a feature, how do you make sure that nothing else is involved.
Right now, we depend on people caring enough to know what is going on and that they are completing all of their unit tests. While we are testing, my team members independently go through the whole suite of tests by hand.
It would be nice to have an automated suite of tests, so we can have more time to be able to do additional projects. It's something that we're working on. We haven’t got to that point yet.
What are the next major challenges in software engineering?
One of the challenges that I am seeing is the emphasis on UX and the transition from where we are today to be able to becoming fully UX-oriented. That is one of the biggest challenges I see. I'm trying to figure out how all of the old roles that we used to have in software development translate into the face of our industry.
You have a UX architect. You also have a technical architect. How do they work together? How do they make sure that both the technical aspects as well as the user experience aspects are going to be incorporated into the product? That is a challenge.
The other main challenge that I'm seeing is that it's great that we have all of the features that we do on our website, but we develop internally from our desktops.
How do we make mobile usage a priority when development is done on a desktop? How do we ensure the optimal experience for both desktop and mobile users?
When I take my laptop, I have all of this power of the laptop as well as all of the screen space that I can use. Now I have to start thinking of "Yeah, this is great," but if I'm on an iPad or a 7" Google Nexus, am I going to be able to use it or not? Is it going to work as fast as I need? Incorporating all of those things to be able to come up with a product that is usable across all different devices... Now that is another challenge! Making something that is breathtaking no matter how you consume it, it just is part of what we do. Figuring out how to do it no matter the problem I’m presented with? That’s another thing altogether -- it is a change in perspective, and I welcome the challenge!