Thanks for taking time to review my README. I try to update this from time to time based on events, dates and all sorts of learnings that go on as a part of my life. My README is not intended to be a full manual in how to work with me or talk with me. Rather, it's a simple tool that I've been using over the years to help folks learn a little bit about me during the early parts of our working relationship.
I did not have the traditional route of becoming a software engineer, a development manager and eventually a software executive as most folks in the industry. As you can see from my [LinkedIn profile]|(https://www.linkedin.com/in/feldmansteve/), I didn't graduate with a Computer Science degree. It wasn't even a consideration for me back in the day, as CS majors simply weren't as prevalent at my University at the time. I took several CS classes and left school with a cursory understanding of C and C++. I found a job as a software engineer without a CS degree. It took a lot of hard work and endless nights at Barnes and Noble, as well as Border's Books reading every software language book you can imagine. My nights and weekends were filled for 5 years straight as I put myself through my own CS degree.
I was fortunate enough to learn Java right after school at a time when everyone was starting to learn Java. It's like a developer now learning Go or other modern languages with less than a few years of existence. I eventually did move forward with a Master's Degree in Systems Engineering.
I think it's important to make this the first impression as it tells you a lot about me as a person. I'm a big believer in the human spirit and the will to accomplish anything and everything that you put your mind to! When I talk about a growth mindset, I am sincere that I believe that with diligence and perseverance, anything is truly possible.
On a personal level, I'm married and have two daughters that I do hope will one day pursue a career in some technical discipline. You may often hear me talk about my daughters from time to time during our conversations. I also have two dogs, which I spend an equal amount of time discussing like I do my wife and daughters. I've been writing on Substack for a bit. You can follow my newsletter at https://seedtheway.substack.com.
I am here to make sure our team is successful, motivated, and working on the things that are most important to help our customers, improve our products, and grow our business. A lot of my energy is placed in attracting and retaining great talent locally, nationally and globally. It's important to place emphasis on the people in your organization, as I see my job as someone to help navigate our team through the ups and downs.
You may ask from time to time why I'm so hyper-focused on recruiting, whether it be our next class of summer interns or graduates in Computer Science, a portion of every day is spent working in some capacity in a recruiting effort. I believe you should always be recruiting. I like to involve my team in every layer of the recruiting process so that they feel a part of growing our team. Team members participate in recruiting events at Universities, Tech BootCamps and conferences. They are part of the interview process, as well as the selection process.
Recruiting is only a small part of the job. Once any team member joins our group, we have to make them successful. We put a lot of emphasis on training and orientation. I'm a big believer in taking the time to train team members. It not only makes the new team member more prepared, but it puts the accountability and ownership of readiness on the team member(s) responsible for leading the training and orientation.
In the early years of our journey at Contrast, we didn't have a lot of funding to recruit. Our growth really took off from 2018 to 2021. In the early days, I had to wear a lot of hats to help out. I wasn't just our VPE, but I was also our first line of support overseeing defects coming in from Zendesk. I often played the role of the Product Owner and helped the team write many of our early stories, as well as ran our backlog grooming efforts. I would often put on my performance engineering hat to debug any of our production issues. I was on-call for production issues almost every weekend and night. In those early days PagerDuty went off a lot.
Outside of being your manager and department leader, I want to stress that I'm here for you.
My leadership/management career began in 2003 when I arrived at Blackboard. Up until then I was an individual contributor. When I started at Blackboard, I shared three core values with my original team that stuck with me to my current journey at Contrast Security:
- Consistency/Predictability in our Work
- Transparency and Openness
- Craftsmanship, Accountability and Ownership (#Blameless Culture)
As a child I was fascinated with trains. I wanted to ride cross-country from Washington, DC to California to take in the sights and sounds of the countryside. As a kid I had the chance to go to Union Station in DC, as well as Penn Station and Grand Central Station. What always amazed me about trains was how consistent and predictable they were from a schedule standpoint. If the train said it would arrive at 8:53am, you bet your bottom dollar it was there +/- 1 minute if not at 8:53am. If the schedule said it was leaving at 9:01am, it in fact left at that time.
As engineers, not just software developers, we crave and often seek out that consistency and predictability in our work. We are creatures of habit and routine. Many of us wake up at the same times daily, eat the same breakfast daily and observe the same commuting behaviors. While we enjoy windows of free time to explore and create, we enjoy those brief windows of mundane routine that centers and balances our mood.
I encourage that my teams strive for consistency in their ceremonies, schedule and software release behaviors. The consistency is good for the individual. What happens when the team and the individual are consistent is that it creates predictability for new team members and most importantly for customers.
One special note is that being consistent and predictable doesn't imply that there is no room for change. In fact, change is inevitable as it's an important part of scaling a team, a product and an organization. Change is something that comes over time as team members adapt to make those changes consistent and predictable. I encourage experimentation when a team wants to introduce change. By experimenting, the team can decide whether the change is right for the team and how to make it part of a consistent approach.
I learned sometime in my high school years about why transparency was important. Maybe it was because I was a teenager and I felt like every adult thought I or my friends were up to no good. I learned early on that if I was open, transparent and honest about what I was doing, it forged a deep and trusting relationship with others.
The Agile movement spoke loudly to me as it relates to transparency and openness. Strong, successful teams use their ceremonies (Standup, Grooming, Close-Out and Retrospectives) to be transparent with each other on the team and their stakeholders. When a team I work with tells me that they don't have very transparent ceremonies, it's a sign to me that they are running a bad meeting and likely their may be rumblings of trust issues. I try to jump in when that happens and give my open and honest feedback about how to make it a better ceremony.
High-performing teams start with a great deal of trust and mutual respect from within the team. Their reputation becomes lore in the organization because they are open and transparent as a universal attribute of the team. I encourage all of my teams to welcome those from outside their team to experience it first hand.
Coming back to the subject of high-performing teams, I am of the mindset that exceptional teams are not the outcome of just exceptional individuals. The highest performing teams share the attributes I describe above. They are consistent, predictable, transparent and open. What makes them special is that they take ownership and accountability in times of failure and toil. The true mark of a team is how they handle adversity.
At Contrast, everyone on the team has to be on-call for the team. We have different types of on-call responsibilities. We have production on-call. We have support on-call. Regardless, everyone has to take a rotation. The schedule is consistent and universal. Our resources make themselves accessible with an on-call handle in Slack. Many of these resources make use of our paging system (VictorOps).
Accountability and ownership is more than just being on-call. We take tremendous pride in the quality of our work. It's a craftsmanship attitude that we standby what we built. Since all merges are dependent on a Pull Request and a pull request involves 1 or more people, we approach our work as a team sport. That means we take a #blameless perspective as issues are not the result of one person, but rather the decision of multiple people. There's no value in laying blame regardless on the individual or the team.
I'm a believer in the craftsmanship movement. Engineers who design their code prior to implementing their code, should also determine the testability of their code. We need to be able to determine “What is done?” from a perspective beyond the commit.
To many I come off very confident in my work and my interactions with my team. Overall, I am very keen on delegating and giving my team the resources they need to be independent. My #1 goal as a manager is for team members to be in a position of defining and directing their own work at all times. I ask that all of my teammates strive for professional independence. It's no fun to be an order taker.
I am a firm believer that what got you here won't necessarily be what gets you to the next step or place in your career. It's great to have solid fundamentals as an engineer, a leader and a person. However, I really do expect my teammates to want to continuously improve. I like process...but most importantly, I like seeing the evolution of process.
I value the time I am able to spend with my staff in a one-on-one setting. Some members of my team crave or seek a very formal, scheduled experience. Others in my organization want a more informal and often daily experience with me. My goal as we get to know each other is to identify what's the best cadence for meeting together. We need to be able to determine how best we are going to spend our one one one time together in the most effective manner.
I generally like for you to think that our one on one meeting is yours. I encourage you to prepare in advance. You can send me a few bullets in our HRM system, a shared Google Doc or the calendar invite so that we can track our time together and giving feedback to others. Alternatively, you could drop me an email with the items you want to cover.
In general, I will send you bullets in advance of topics that I want to cover. This might be something you are used to or something brand new to you. I want to make sure that there aren't any surprises in what we are talking about and that by knowing the topics in advance, we can have a good sense of how we will manage our time in the meeting.
Recently I was talking with some folks outside of my organization about one on ones. One of the biggest anti-patterns I see at companies of all shapes and sizes is the one on one with a colleague in another department or an indirect report that schedules the repeatable calendar item with no end-date. I generally try to avoid repeating calendar events unless I time box them to 4 weeks or 4 instances depending on what comes first.
My best advice to someone that is not a direct report that wants a regular one on one with me is to grab time on my calendar for a first time experience. At the end of that first meeting, let's make a decision about whether we want to meet again and when. I encourage you to reserve 3 minutes at the end of ever meeting for this approach. You might decide to schedule a follow-up meeting the next day or week. Ultimately, by forcing the function of scheduling the next interaction the goal is to create a better meeting experience. Unfortunately, in my history of Contrast, Blackboard and other companies I found that my non-report 1:1's were often poorly scheduled and failed to have a consistent experience as my 1:1s with my direct reports and my boss.
I value the time of my peers on the executive staff. Many of them have varying numbers of direct reports, but most have impressive time obligations that make their calendars look like a giant Tetris board. I think it's essential to get 1:1 time with your peers and colleagues in other parts of the organization. It's important to be respectful of each other's schedule. With my peers, I try to meet 1:1 at least 1x a month. I see my peers as much as 1x a day in Covid-19 times and sometimes even 2-3 times in various cross-departmental Zooms.
If you are a colleague of mine on the executive team anticipate that I will take a 1x a month approach, but will schedule each meeting individually.
Feedback is really important to me. I like to be on the receiving end so I can be a better person and a better leader. I like feedback to be a conversation and not a bullet item on an agenda. What exactly do I mean by that last statement? I just said above that I like to share my agenda (which includes feedback) in a bulleted list. When I want to be on the receiving side of feedback, I'm not going to write a bullet that says "feedback on topic XYZ". I'm going to list XYZ on the bulleted list. The conversation will be more of a retrospective. I'm going to ask you if there are any constructive perspectives that you may have on the topic. I'm going to share my perspective. I'm often going to be focused on the discussion. I don't like to give out a compliment sandwich in which I give you a compliment followed by feedback and then give you another compliment to soften the impact of the feedback. When we are discussing the feedback, I want it to be a conversation. I want to understand your perspective. I don't want to come off as though my feedback is the only viable perspective. Maybe there is a context that I was unaware of. Maybe there was context that you were unaware of. The key takeaway is that feedback should be a bi-directional conversation.
I don't know if it needs to be said or if it's just implied. If we are working together, unless this is your first job, you've likely left another job to come work with me. People leave jobs all of the time. It's no fun to see teammates leave you to go to other places. It happens and it's a natural part of your professional life. Be transparent with yourself, your teammates and your manager.
It's inevitable that in due time my calendar will become a giant mess. It's not something I'm proud of and I do my best to maintain some flexibility. It's definitely something I need to improve upon. I'm always willing and available to talk with anyone from my team. It might not always fit in the standard M-F (9 to 6) schedule. I take calls at night, early morning and the weekend. I take visits and office hours out of schedule as well. Drop me a note, send me a text or swing by my office. I will always find time to meet with you.