The intricacies of management roles

Interview on the intricacies of management roles

By:  Snehanshu Ashar

Interviewee: Bob Swedroe, President and CEO of Expandable Software

Location: Bob’s office at Expandable Software, Santa Clara, CA

Date: June 26, 2012

Introduction

At the time of this interview, I worked as Software Architect of R&D at Expandable Software. My role did not involve managing people and management is a career path I would like to re-explore.

A major assignment in my coursework for the Masters Degree that I was pursuing was to interview a senior manager. I took up this opportunity to interview our very approachable CEO, Bob Swedroe, to discuss the intricacies of management roles, so that I could prepare myself for moving back into management. Bob has an open-door policy, so when I walked into his office to schedule an appointment for this interview, he agreed to do the interview right then in his office.

The interview was recorded. Below is the transcript of the interview. Some parts have been edited, reordered or rephrased in order to keep the transcript concise and easy to follow.

Transcript

Ashar: Thank you for doing this [interview] with me. To start with, can you tell me your job title, duties and responsibilities?

Swedroe: It’s President and CEO of Expandable Software, and pretty much responsibilities for all the functions: Finance, Product marketing, R&D, Sales and Customer support. That’s essentially how the company is broken up. I get involved in strategic as well as tactical. I keep a very open door policy.

Ashar: What is a typical day like [for you]?

Swedroe: I don’t know! (Laughter) I always try to clear my desk for something that is waiting to get done, because I never know what the next day is going to be [like]: I want to be prepared for it. If it is a long project, then I try to break it up, but typically, I don’t have much of a set agenda…. It’s just so much going on between sales, R&D issues if any or customer support issues if any: they just pop up and I just have to either delegate it or talk about it or whatever.

Ashar: What was your career path?

Swedroe: It was about 30 years in finance: very bottom’s up finance, from very low level. In finance, the career needs different building blocks to move up the ladder. So you have general accounting, cost accounting, financial planning and analysis… You can’t get everything: you have to pick and choose which ones are important to you. I have never been in tax, audits, haven’t been in treasury. So, you have certain things, but then you move up doing the same functions but in a managerial role. Then from managerial role, you get more experience to move up to a director or VP and things like that. My belief is that you have to know enough about the job where you can effectively delegate and not abdicate. When people come to you, you know what the right answer is, but that doesn’t mean you have to go do it, but you have to make sure that you can explain the job and if someone comes back to you, you have to know whether that feels right or not. And that’s how I worked my way up in finance: I understand all the technical stuff, like I think I am a very good cost accountant, but I don’t want to do it again… but issues come up even here where cost accounting comes in very handy.

After I got the basics done, I got more involved in the strategic part of finance, working with the CEOs, COOs, helping with business solutions, because if you don’t understand the financial or accounting ramifications of a business decision, you could be making an inappropriate decision when if you were to slightly change it, it would have come up much better.

Building on that experience, I became CFO of a VC backed telecom company and did that for 4 plus years. We moved corporate headquarters to Atlanta, where I was commuting for 9 months and decided I don’t want to do that any more, so I resigned from that. The owners of Expandable knew me because the company where I was CFO used Expandable, and they knew I was looking because I had just left. They invited me to lunch and they asked if I would be CEO and I said sure! (Laughter). Thought about it, but got back pretty quick. That’s how I got into this position… I am very happy moving from finance into more of a generic role.

Ashar: What you said is interesting… because a while ago, I had discussed with my previous manager about preparing to move up in a corporate environment, and he suggested that finance is a key skill to have.

Swedroe: Yes, because if you are running a business, you have to understand income statements, balance sheets, strategic relationships… you are more involved in those things. Finance is always kind of the back-stop of organizations. The way I view it is other people… you have to tell other people when they have gone across the line. Things like revenue recognition: if you have to restate your revenue, wall-street will just kill you… it’s not a good thing! But you will always get pressured by the sales people, the VPs the CTO or COO who say we need to recognize revenue to make our numbers that the investors are expecting. Well, they can push and push and push, but you have to be the last stop-gap that says no, you can’t do it… if you did it like this, this and this, then yes. Ultimately, your job is to keep the other people out of trouble themselves. You really do have to understand certain things, and if you don’t understand them, again as I said, you could make a wrong decision.  So, having good accounting background really comes from understanding accounting and finance in general.

Ashar: Interesting… Coming to our company and the industry, can give me some overview about those?

Swedroe: We are in a very tough market; it’s Enterprise Resource Planning. It is a very mature market and so the people we compete against are much bigger. We don’t ever lose to companies that are smaller than us. If they are smaller than us, the product is not as deep and [not] as broad as Expandable. Our main competitors are public companies.  And that makes it kind of hard if people question your viability, like can you really survive in the market long term, because you don’t have the resources to R&D or market yourself.

All true, but one of the things that has kind of helped us is the fact that because it is a more mature market, the evolution of product development has really slowed down where people know what an ERP needs to do. I have been with the company for 4 years, but the company has been around for 28 years. Now it is just a matter of keeping up with the technology as a better way to do things. There was a decent functionality gap [between us and the competitors] when I joined: we could do certain things but couldn’t do other things. But because it is a mature market, it allowed us to catch up. The competitors were still progressing, but we were progressing at a faster rate. We focus heavily on med-tech. Other companies will go say they do med-tech, but that is one of the many things they focus on. Med-tech is a highly regulated industry. If you can meet the FDA regulations… by being able to pass the FDA hurdles, we can pass anybody’s hurdles. There is not going to be any tougher government requirements than the FDA.

We don’t use any resellers, so it is a very business relationship company: we get a lot of deals through referrals. People can call me directly. At a lot of other companies, they can’t call the CEO, they are too big, and so they don’t have the time or the inclination to even go talk to the customers. I am on the phone all the time with customers.

Ashar: Does our company or industry have any environmental concerns or policies?

Swedroe: We don’t but our customers do. So, we have to enable our customers to operate in a regulated world. For example, overseas, there is this thing called RoHS (Restriction of the Use of Certain Hazardous Substances) and WEEE (Waste Electrical and Electronic Equipment Directive). RoHS has to do with lead content. Our software enables you to track how much lead is in a bill of materials to make a product, and know which products have lead in them and you can get rid of to bring something that doesn’t. Specifically in the med-tech world, you have to get your product approved to sell in a particular country. Our software actually stops you from shipping something to a country where it’s not approved by the government agency. We enable our customers to play in a regulated world.

Ashar: Coming to actually moving into management, can you tell me what does a management role involve?

Swedroe: It’s very tricky, particularly in the R&D world. I have worked at a lot of R&D companies (high-tech companies) and what I have seen most of them do is to promote people based on their technical abilities.

“Oh, this person is really good, let’s make him or her a manager”. Well, if that manager doesn’t really want to manage people or manage a process, then you will make that person very unhappy and they are not going to be as productive, because there is training involved in managing people. The old saying is “Management would be easy if it wasn’t for all the people involved”, but that’s what the job is, right? Luckily, I have been in larger companies that gave a lot of management training. That helped a lot.

There are certain management philosophies that I can share with you: one is that you cannot manage in just one-way. You can have a basic management philosophy that says I am not going to micro-manage anybody, but you know, that’s wrong! There are certain instances where you really do need to micromanage people. If they don’t know the job, or don’t know the company, they are not going to know what to do, so by definition [of micro-management], you have to tell them exactly what to do. As they evolve in their job, then you start to change with them. If there has been someone there for twenty years, and you sat down and told him what to do every day, you are going to have a very unhappy employee, because you are telling them too much and micro-managing them. In that scenario, you need to completely delegate: back off completely and let them come to you when they run into an issue. So, having different management styles is required: you can’t have one management style: it doesn’t work.

[Followed by a white board discussion on four stages of competence in psychology where a person progresses from unconsciously incompetent to consciously incompetent to consciously competent and finally unconsciously competent. Another discussion on when a manager can be in another employee’s sandbox: it is unacceptable if the manager does that because he micro-manages all the time. The only times a manager should be in an employee’s sandbox is when the manager is new and wants to learn by being with the employee, or if the manager feels the employee would benefit from micro-management].

Stages of competence
Why are you in my sandbox?

Ashar: What are some challenges of a management role?

Swedroe: Challenges? It is trying to prioritize what we do. The other thing is bandwidth for myself: I can only be spread so thin. Sometimes I am doing sales… I was doing a source code legal document for two hours today. If you had asked me when I walked in today, I wouldn’t have known that I would be doing a legal document. It is just trying to prioritize. This stops me from looking at leads. The biggest challenge quite frankly is prioritizing not just for myself, but also for everything else.

Ashar: Can you list out specific skills that you think are important for moving into management?

Swedroe: You have to listen. You have to be able to read people, because a lot of the non-verbal signs are more telling than what they are actually saying to you. One of the things I struggle with too is that my personality is one where someone gives me a problem, then I like to fix it. That is not always the best answer. If someone gives me a problem, I’ll say it is this, this and this, and he or she moves on. But that’s not good, because they may come up with a similar problem next time they come to me again. So, the better response is, and I don’t do it nearly enough, “what do you think the right answer is?”. Have the person analyze it, think about it and then ask questions to get them to the right answer without telling them the right answer. I definitely know that, but it’s my natural tendency, because I am so busy. That [get them to the right answer] in a way takes longer in the short term to get done. I know what I have got to do is to train my managers and my staff below them to become better, and the best way to do that is to call time out and say “Alright, what do you think? What do you think we should do?”. And there are a whole lot of management books and tapes that are good.  If you pick up one or two things [from those books and tapes], then it’s gold!

Ashar: Very interesting. And how about communication skills?

Swedroe: Communication is obviously very important. One of the things I believe in is open door policy. I want people to come to me. I don’t shoot the messenger, because that will stop people from coming to me: I won’t know about the problem, which is not the way you want it to be. You want to hear about the problem so that you don’t get surprises.

From management perspective, what I have done on different occasions is what I call skip-level interviews, where in order for me to know how your manager is doing, I will talk to you about the manager, and then people have to know me well enough so that they know I am not going to run to their manager and say “Shu said this about you”, because then I am never going to be able to do that again. I don’t try to single out any manager, so I do that [skip-level interview] for everybody. Some people don’t want to talk to me: they are afraid of retributions. There is nothing I can do about it. But for those who want to talk, I’ll try to take the message. The only thing I am looking for is constructive feedback. How can we make the manager do his or her job better than they do now?  If they don’t know there is a problem, how are they supposed to know how to fix it?

Ashar: Do you have any suggestions for me on what I should do to move into management?

Swedroe: The question is, do you want to move into management? That’s number one. A lot of R&D people don’t like it. You get away from doing what you love: what you got all your recognition for throughout your career was writing code. And when you get into management, you don’t write code anymore. And some people are not very happy with that. So the key for you first off is, do you really want to take a step into that? There are a lot of pros and cons. The biggest con is obviously you have to manage people: you are not going to be able to write much code. The benefits of it are that you get to control more of the direction of what the company is going to be doing and there is obvious satisfaction with that too, but it is a different sort of satisfaction. And you need different skillsets, so you have to learn again how to delegate and not abdicate responsibility. You have to keep close enough touch to say something is wrong because otherwise you are not doing your job as a manager. So the number one thing is to determine whether do you really want to spend most of your time coding and creative thinking, versus twenty to thirty percent being creative thinking about solutions, fifty percent managing people, twenty percent managing your boss (laughter). These are different things and you never had to deal with that before. You don’t realize you are in it until you become a manager.

ShuBytes:

This was a very insightful discussion that helped me in different ways:

  • I got to know Bob’s management style and expectations.
  • I gained a management perspective about our company and the industry.
  • I gained interesting insights that will help me become a better manager and excel in my career in general and within the company.
  • This was the first time I formally interviewed someone for obtaining information. I think this is a very effective technique, and I plan on having similar interactions in future.

To summarize, some of the concepts that I learnt about moving into management are:

  • A manager should be comfortable working with uncertainties.
  • A manager cannot live in isolation: he or she should be approachable and fair.
  • One cannot have a single management style: there are situations where micro-management could be the right thing to do.
  • Being a manager involves having a fair idea about how things should be done, and then guiding your team in the right direction for doing those things while resisting the urge to get the task done by yourself.
  • The role of a manager enables you to steer direction that the company or department is headed in, and this is very different from a technical role where a major part of the responsibilities is creative thinking. You solve different kinds of problems in different roles and should consider your preferences and expertise for deciding which career path to choose.



Teaching a techie- Sample apps for SDKs

Back in 1990 when I was at high school, my father’s business was going through a tough time, so we downsized and moved from the most wonderful city of Mumbai (India) to our infrequent vacation town, Nasik. The thought of being distanced from all my dear friends in Mumbai was devastating, but there was nothing I could do about it! Little did I know then that our move to this obscure town was the foundation that would shape my career! It was at my new high school in Nasik that I was first introduced to computers in grade 9. We started with “logo”, moving the faithful turtle around the screen, and gradually started coding in “Basic”. Some day that year, the director of the computer section was on rounds during a programming competition prep session, and pointed out a potential flaw in my code… and I explained to him why he was wrong. He said he was sorry and I said “you should be!”.  I think that event established my “geek” status and I proceeded to win my first ever inter school programming competition.

Till then, unlike my very academically successful sister who was in med school at the time, I had never achieved anything to brag about in sports or academics, or for that matter anything a ninth grader could brag about. Daddy was impressed to see that his son found something to excel in and some how managed to fund additional coaching in computers for me. During one of those coaching classes, we were assigned a Fortran coding exercise and I completed it with some clever use of for and while loops, and enthusiastically announced that I was done. The advantage I had over others was my school programming experience in Basic, while the rest of the class was just being introduced to programming. The instructor awarded me with an opportunity to explain my solution to the class. I went to the board (can’t remember if White boards were a thing then or was it chalkboard) and wrote my code there. My “explanation” of the solution was reading out the code. I felt like I was the smartest of the lot, but the impression I left on others, including the instructor, was that this guy must have copied the solution from somewhere and has no idea how it works! That is when I learned that tech and teach are completely different worlds.

Fast-forward to 2015, when, thanks to my Computer Science foundation, I found myself armed with a US citizenship, a good resume, and a new job with PayPal Here’s SDK team in the Silicon Valley. The SDK team had a “Sample App” that partners could refer to for coding their integrations. Our partner developers could download the single page app, enter their credentials and demo it to their management easily. To my genuinely awesome peers, this app was as self evident and self explanatory as my lines of Fortran code.

My first project was to build and publish our new PayPal Here Windows App and SDK… all completely new code. Our team has one very important value that we encourage- we encourage any fresh set of eyes to share their perspective. When it came time for creating the sample app for the Windows SDK, I discussed my concerns about the existing sample apps with the team and convinced our PM, the new hire with a cool mustache, to assign cycles for coding a sample app that splits each step in the use of our SDK and dedicates a separate screen for each step. The objective of this new sample app was not to showcase the technical and coding expertise and efficiency of our team, but rather to highlight each nuance of using the SDK and walk the “reader” of the app through the steps.

So, for a change, the target of our code became a “reader” rather than a “user” of the app! The app became an extended part of our “documentation”…. a live document that developers could read and also immediately interact with if they chose to execute the code. Our PM went on to showcase the new sample app and had it recorded on Microsoft Channel 9.

In 2018, with the launch of our next generation SDKs, we had the opportunity to revisit our iOS and Android Sample Apps. Over the years, our PM has grown the product team and we now have a new hire go-getter PM for the SDK. With the new SDK, we also took the opportunity to simplify the APIs so that there would be fewer steps to get things done, while still maintaining the power of the old APIs for any partner wanting to code advanced use cases.

Our goal was to have minimum friction for getting started and then have advanced capabilities available to use.The design of the new sample apps is one group of API features per screen (authentication, initialization, connection, payment selection, refund etc.).

This is obviously not how any self respecting developer would design and publish a real-world app, but then, this is not a real world app! It is an extension of our SDK documentation. The purpose of this app is API-first: to show how each API can be used, so each API feature-group gets its own screen.

The new sample apps can be found on PayPal Here’s public github repos:

I would love to hear your experiences with SDKs, sample apps, and documentation- PayPal Here or any other: what do you like about the sample app, what you wish should have been done differently, what could be added, what are the friction points, or any other observations. A fresh set of eyes and a fresh perspective is a highly valued asset, thank you so much for reading!

PayPal is hiring now! Check out these jobs.



Disable Apple Pay

Mobile Point of Sale and Apple Pay

Your mobile Point Of Sale app is gaining popularity and you have started receiving lots of user feedback. Your users appreciate the convenience and rates offered by you. You have offered shiny new contactless credit card readers to your users so that they can accept contactless payments using your app. Well, congratulations! And now, it’s time to make your user experience better by disabling Apple Pay when your app is active.

This is a fairly common scenario with mobile POS applications. When your users use personal devices to run POS apps, it is very likely that they have also enabled Apple Pay on their devices. So, if these users have contactless credit card readers near their devices while accepting payments, then they could be prompted to use Apple Pay on their own device to pay themselves. Here’s some good news for you: Apple has a solution for this annoyance so that you can continue receiving those 5 star reviews from your users!

How to get started

The code for disabling Apple Pay is relatively simple. The longer and less documented part is the process to from start to publishing the app for review. Disabling Apple Pay requires an entitlement from Apple. In this post, we will look at our journey of obtaining an “entitlement” from Apple to disable Apple Pay in our app.

Step 1- Request Entitlement for suppressing Apple Pay

At the time of this writing, an entitlement to disable Apple Pay can be requested by contacting apple-pay-provisioning@apple.com

I wrote to them explaining that we need to disable Apple Pay while our app is in foreground because our app accepts contactless payments using an external reader, and we do not want our merchants to accidentally pay for their customers if the merchants’ phone is close to the reader during payments.

I (almost) patiently waited for about a month for Apple to respond. Finally, after a month of sending my initial email, I reached out to my friend who worked at Apple and copied him on a reminder email asking about the status. A few days later, I got a response to my reminder with the good news that our request was approved and asking me to provide our team and app details.

Step 2- Send details about your team and app

The approval is for the specific use case described in the initial email. As a next step, I was asked to provide the Team ID (found in https://developer.apple.com/account/#/membership)

Step 3- Set entitlements on your profiles

A few days after sending our team IDs, I got the following reply:

The entitlement was granted. Please head to the developer website, login, edit your provisioning profile, select the entitlement from the drop down menu. Then go to Xcode, head to build settings, then ensure you select a provisioning profile for which you added the entitlement on the developer website. Then, within Xcode, ensure you add the entitlement “com…” to the entitlement plist.

Developer.apple.com -> Account -> Provisioning Profiles -> Your profile
Entitlements section on your profile

 

Step 4- Add entitlements

After adding the entitlement as explained in the email, I needed to figure out how to add an entitlements file to my project (We do not use any other entitlement)

  • A quick option to add an empty entitlements file is to go to the capabilities tab and enable some capability, then remove that capability
  • Go to build settings, search for Code Signing Entitlements and set the name of the entitlements file added (removing the capability will reset the Code Signing Entitlements value). The value to be set is the entitlements file name without the .entitlements extension.
  • Add row com.apple.developer.passkit.pass-presentation-suppression to the entitlements file and set its value to Boolean, YES
Project -> Build Settings -> Code Signing Entitlements
Entitlements File in Build Settings

Step 5- Add the Passkit framework to your project

Remember to set it to optional if you expect your code to work on devices that do not have Passkit.

Project -> General -> Linked Frameworks and Libraries -> PassKit.framework -> (Status = Optional)
Set Passkit as optional

 

Step 6- Download updated profiles

Ensure that you download the updated profile that has the entitlement so Xcode knows about it.

Step 7- Use the PassKitHelper (or your custom code)

Call requestAutomaticPassPresentationSuppression to suppress Apple Pay. I have published a basic PassKitHelper class on my github repo for reference. The “requestAutomaticPassPresentationSuppression” line will fail till you obtain the entitlement and use the updated profile to run your app.

Good to know

  • A Swift Code sample is available on github.
  • Once you call requestAutomaticPassPresentationSuppression, iOS ensures that Apple Pay is enabled when your app goes to background and disabled again when the app comes back to foreground.
  • Although the PassKitHelper in the code sample has an option to enable Apple Pay, in practical scenarios, you may not need it because of the way iOS handles foreground-background.
  • Apple is generous with the use of this entitlement. Once you are approved, you can disable Apple Pay immediately on launching your app, you do not need to code special conditions under which to disable Apple Pay.
  • This cannot be implemented in an SDK/framework alone. The entitlement is granted to your Apple Developer profile. So, this needs to be coded at the App level. You could bundle the code in a framework, but the app that uses the framework needs to request the entitlement.
  • When the entitlement works, you will be greeted with this message confirming that Apple Pay was indeed disabled. This message is only displayed once per install, the first time when the app disables Apple Pay. Subsequent disables are silent.
  • As of Feb 2018, the message displayed when Apple Pay is disabled is not customizable. The message could be a bit confusing to users who use the app to accept Apple Pay payments using contactless card readers, so I have submitted a bug report to Apple to provide a way to change this message. I will update this post when this becomes available.
  • Apple Pay Not Available message

I hope you were able to find some useful information in this post. I would love to hear about the scenarios in which your apps disable Apple Pay. Any feedback on the code or the process described will also be appreciated!

PayPal is hiring now! Check out these jobs.