Traveling the Software Underground
Below is a scrawny student in India with big hair and no life. Barely scraping through his undergrad in Electronics, he should be focusing on his coursework. Instead, he stays up late every night in the computer lab, hacking away at utility applications he can sell to small businesses. He dreams of being freed from the tedium of his coursework to find himself blissfully ensconced in a cubicle — just him, a computer, and code. Fortunately for this kid, his passion is also his salvation. Despite unimpressive grades, his portfolio of utility apps helps get him into to a leading grad school with a new major, where he can finally dig deep into the world of software engineering.
Yes, I was that kid (sadly, minus the big hair now). Since immigrating to the US in 1989 for graduate studies, not only have I been fortunate enough to realize my dreams, I’ve gone far beyond them. In the intervening years, I’ve traversed a twisted path of roles and titles, and worked for a lot of different companies — three of which went public. What happened to me happens to nearly everyone — the vagaries of life intervened and affected my career choices, sometimes serendipitously.
What I learned in my long and winding journey from entry-level developer, to Senior Vice President of Engineering, has informed how we map out the career options of our engineers here at Appian — and it’s very much a map. This map helps employees looking for career direction and their managers tasked with providing that guidance.
That’s our map for the Engineering career tracks, which progress outward from the bottom left. Each colored line represents a different career track: Technical, Management, or Coaching, which you can choose once you get to the transfer station of Senior Engineer. In this article, I’ll explain what each track entails, as well as why it’s designed the way it is.
As to why it’s styled like an underground transit system, that’s not an accident. Starting off at a new company can be like descending into a subway station in a new city; at some point you find yourself standing on a platform trying to figure out which train to get on. In my career, I’ve held nearly every one of those titles, due to chance or curiosity. I mapped out these tracks based on what I learned, so that every Appian engineer has an opportunity to end up where they want.
The Technical Track
Our technical track is for those who really want to focus on hands-on technical work. All fresh-out-of-college hires start on this track. By focusing on your technical prowess, you can work toward becoming an architect, where you can spend your time spearheading transformations, researching new technologies, and playing with cool tools.
Stumbling onto the Express
When I took my first job as a software engineer, my goal was to become an architect — write great code and become a technical guru by designing and coding complex software. But, I had no real plan on how to get there. I was going to do the only thing I knew how to do — code. I was single, had no social commitments, so I coded all day and many evenings. And, you know what? This was probably the best job I had in my career — I can’t remember being happier.
Within two years, I shot up to Senior Engineer. I didn’t know if that would lead to becoming an architect someday, since it seemed so far away I wasn’t even thinking about it (and didn’t want to). But, fortune favored me, and I got a bump forward in my career. This time it wasn’t because of my code, but because I met my wife. I wasn’t thinking about my career at all, but after getting married, we decided to move to Washington, D.C. to be closer to our families. With this move came the need to find a new job, and I got hired into a lead engineer role.
With this new role came new responsibilities that I wasn’t prepared for. Remember, my life was nothing but code up until this point, and now I struggled with focus. How does one write production-grade code while dealing with random interruptions and urgent customer crises? To make matters worse, my boss started including me in discussions about new initiatives and strategies, which tripled my meeting load. I had to quickly improve my time management skills, and while that helped, it was still a challenging overlay of different roles — coder, firefighter, and strategist.
But it was exactly the experience I needed. With it, I was able to secure a new job as a Technical Lead (the equivalent of a Principal Engineer on our career map). I was living the dream: designing high-quality enterprise software, attending technical conferences, and working with smart engineers.
The Technical Train: Knowing How to Get There
At Appian, your career options are mapped out. If you want to start out focusing on code, that’s all you have to worry about because you’re already on the right track. While I was fortunate enough to have the necessary skills and opportunities at the right times to advance my career through changing jobs, you don’t have to change jobs to move forward (and you don’t need luck either) on the Appian career tracks. We have formal promotion plans that cover everything you need to work on to secure your promotion (in fact, we built internal applications using Appian for this process). Want to know what skills you need to go from Engineer II to Senior Engineer? It’s all documented, and your manager will setup a plan for you to track your progress toward your goals, and periodically check in with you to review and adjust the plan when necessary.
To support your progress, we do more than identify what you need to work on, we also provide the training to get you there. Within Engineering, we’ve built an entire learning organization to grow your technical knowledge and the skills you need to be an effective contributor within the department.
That’s important because your contributions become more significant as time goes on. With every promotion, you increase your range of influence — something that’s also mapped out. Let’s look at the career map again, but with labels for the expanding spheres of influence:
The labels of “squad” and “group” refer to teams and themes because we use a variation of the Spotify model (you can read more about it here if you’re interested). While the actual spheres of influence are more fluid, what you see above illustrates that as you progress on any track, you can affect change over a greater area.
The Coaching Track
Not everyone wants to stay on the technical track. After building a strong technical foundation, some engineers find that somewhere along the line they start to enjoy helping others get stuff done more than doing things themselves.
While I was a technical lead, my wife and I had our first child. Sleep suddenly became the most precious commodity, and life was getting hectic. I had always been a highly-organized person, but now I was the designated “organizer” for my team. My success on the first project led to getting volunteered to be the coach/project manager on the next, and this trend continued. This meant I had less time for hands-on coding which bugged me — coding was my first love after all.
Frustrating as it was, at some point I stopped stressing about it. Maybe it was the sleep deprivation, or maybe being a father gave me more patience and perspective, but I started enjoying the new work. There was something exciting about being able to increase my impact by connecting dots across teams. Keeping the team going while keeping sight of the big picture was a new kind of skill to develop. Some stinging peer feedback also got me enrolled in my first experience with communication training; I was sent to an intensive multi-day workshop designed to help technical professionals learn how to communicate more effectively.
The Coaching Train: Bringing Order to Chaos
Keeping the team going, clearing away obstacles — this has proven to be a rewarding experience for a lot of people, not just me. Because of that, we created a formal track for Agile Coaching (to fill the role of a Scrum Master). At Appian, this track offers similar opportunities to help plan and deliver projects, without taking on the responsibilities of managing people. You can do all of this and stay in touch with technology, because Agile Coaches at Appian have 50% of their time reserved for coding.
The Management Track
At the transfer station of Senior Engineer, there’s also the option to get on the management track. While some prefer to avoid managing people, others have a real passion for building great teams and nurturing the talents of others.
They Didn’t Teach Me Any of This in School!
My experience running teams opened up new kinds of opportunities that I hadn’t considered before, and I ended up getting a new job as a Development Manager. I don’t clearly remember how it happened. I’d always wondered why we needed managers in the first place and couldn’t imagine doing something more boring. One-on-one meetings, interviews, promotions and terminations — why on earth would someone ever want such a job? I guess my boss at the time saw some potential in me and convinced me to give it a try.
However, the competitive trait that had made me a successful contributor started holding me back as a manager. Contrary to my instincts, I was expected to recognize and promote other people’s ideas and contributions ahead of my own.
I slowly started to get a handle on the growing number of people and projects I got to work with. I eventually reached a point where I could propose and deliver major programs. While I had only a sliver of time to code, I discovered that spearheading bigger projects and motivating more people to deliver them fascinated me. Instead of designing software myself, I was now designing teams to build great software. As a result of my team’s efforts, the company I worked for went public.
It was thrilling to not only be a part of this experience, but also be a huge driver of it. It was an experience I wanted to have again, and I wanted to continue on this management track, so I found a new job, this time in senior management.
This was not as much an escalation of my previous role, but a new kind of role I wasn’t prepared for. Senior management is another step removed from development, and for the first time in a long time, I felt out of control. As a lower-level manager, I could make things happen. I could task people that worked for me. I could roll up my sleeves and jump in when needed. However, as a senior manager, I was managing other managers who didn’t want to be directly told what to do with their teams. I had to learn to influence people through layers of management, and it wasn’t something I was good at. My boss was the CEO, and he told me that though I had a lot of potential, I was falling short.
Thankfully, rather than demoting me, or worse, letting me go, he elected to pay for an expensive executive coach to help me become a more effective director. Over the next year, my executive coach focused on my weaknesses, like a personal trainer, and taught me about things you don’t learn about in engineering school, like emotional intelligence.
The Management Train: Empowering People
At Appian, the management track is the longest track, and the one that requires the most non-technical education. I was saved by having bosses that believed in me enough to get me the education that I needed to be successful. At Appian, everyone on this track gets that education. We created the Appian MBA, which is a year-long intensive training program that teaches vital humanistic skills and helps new managers grow a strong network of peers to consult with for difficult situations.
Managers here focus on people and work to make sure they are getting what they need to be successful. They meet regularly for one-on-one meetings and identify growth areas to make recommendations for promotion plans.
They also strive to get every engineer into the magical intersection of what they like to do (red), what they’re good at (green), and available opportunities (blue). Getting people into this zone is critical for their job satisfaction and maximizes their impact.
Going Off Track
No matter how you feel today about where you want to go in your career, there may come a time when you want to visit somewhere else just to see what it’s like. For a lot of people, this often means having to leave their job just to explore another option.
After fifteen years of being the cost center of the companies I worked for, I started wondering what things looked like on the revenue side. When I occasionally presented our product vision or demonstrated our software, people complimented me on my communication skills and infectious enthusiasm. I wanted to try consulting, where I could interact directly with prospects, customers, and partners. I didn’t have this opportunity at my current job, but a former colleague invited me to join her at her boutique consulting company. I was in a comfortable place where I could try it out, so I accepted the offer.
I had a lot of confidence going in — after all, I’d met every challenge I’d faced before, and had overcome them in style. I’d developed a wide range of skills and found great success. So, it was no surprise that I hit the ground running with the first project I was placed on: help a big customer bring Agile development to their workforce. No problem. I went in, I assessed the situation, and came up with a storm of amazing recommendations, all of which were enthusiastically received.
On the second cycle, I returned to the customer and saw that none of them had yet been implemented. I attacked that layer, reinforcing the value of my previous recommendations and identifying a number of process problems that resulted in the lack of follow-through. This volley was not well received, to say the least. Keep in mind, I was used to working at software companies, and driving efficiency and improving process was how I made those places more successful. That was not the same role I needed to play here. The customer said something to the effect of: “While we like Suvajit’s energy, he’s overly aggressive and doesn’t understand how we work. We don’t want him as the primary on this.” And like that, for the first time in my life, I was removed from a project. It felt like getting fired. I was devastated.
Like all challenges I’d faced before, I was determined to figure this out and get good at it. This time, what I had to learn wasn’t a different way of saying something, but when not to speak. I swore I would master the “two ears and one mouth” (listen more, talk less) consulting mantra. And for the next 6 months I wore a green wristband to remind me to talk less in meetings with customers.
I bounced back on my next assignment and repaired my confidence by getting good at this consulting thing. But, I also learned along the way that it really wasn’t for me. I yearned to go back to my roots and rejoin a product company. I was utterly fed up with chasing customer budgets and sales targets as a Managing Consultant. The long commute was also wearing me down, as was the frequent traveling. It put a strain on my whole family — we had recently welcomed our second child. Serendipitously, I got a call from a former boss with a new opportunity: Chief Architect at a company called Eloqua with the goal of transforming their decades old platform. I took the job.
Even though I didn’t stay at the consulting company, it became a functional part of my experience. After the meandering of my professional life, I knew I had acquired the diversity of skills needed to pursue this big bet. I transitioned into the role of a Vice President at Eloqua and built an awesome team that developed award-winning software, which fundamentally powered the company’s IPO.
Safe Train Hopping
Appian is a big place with many stellar departments and careers to be had. One of the reasons we’ve become so successful is our fundamental belief in retaining the best people. If you reach a point in your career where you wonder if maybe you’d like to try a different career, you’ll find it’s not just OK, it’s welcomed. Appian founders and executives actively support transfers between departments. This allows employees to try different jobs without having to leave the company, which keeps our attrition low. It also helps with cross-pollination of ideas and best practices. There are many people who have moved around within Appian and found a spot that is perfect for them, without the need to put their career stability at risk by leaving a job just to explore another option. Just within Engineering, we have many people who have moved between Product Management, Software Engineering, and Quality Engineering.
The Map Is Not the Territory
Even though we make engineers wait until they’ve acquired a good amount of experience before giving them the opportunity to choose a new track, sometimes it isn’t until after a few more stops before they realize they want to go another way. If you decide, after getting to Principal Engineer, that you want to try management, you can!
However, there is no direct route to Senior Manager from Principal Engineer; you still have to make the transfer at the same place, which means you would work toward being a Technical Mentor or Manager first and get the appropriate training.
What’s Your Track?
Even as a busy Appian executive, I try to stay in touch with my inner technologist. I still code when I can (usually off hours since coding is no longer in my job description) to scratch my technical itch and to retain my efficacy as a software leader. I still personally manage some initiatives from time to time. I work closely with company founders and stakeholders to refine our product strategy. I partner with Engineering managers and leaders to foster a great culture, hire solid engineers, and encourage them to have fun while delivering software.
My life didn’t unfold as I had imagined, as I zigzagged my way through my career. Some of the best people I worked with have expressed gratitude about being paid to do what they love to do. My parting guidance is to discover where you want to go and go there. Don’t be afraid to hop onto different trains as your interests evolve; we’ve made that exploration safe. It has certainly given me a very fulfilling professional life.