Code Monkey home page Code Monkey logo

aboutme's Introduction

Introduction

In my current role at KLA-Tencor, I’m a Software Engineering Manager for a Full Stack Development Team that consists of software engineers at various levels. I’ve written this document to provide clarity to my team members and other folks that want to know about me on how we can work together.

What does my team do?

Primarily, my team works with cross functional teams to design, analyze, build, test, deploy software products to our clients. We Collaborate with Quality Team,Apps Testing, business stakeholders on day to day basis to build scalable, reliable and highly available products that satisfy our client needs.

My team's responsibilities are:

  • Providing software tools and software products for both internal and external clients
  • Collaborate with other business areas
  • Delivery of our internal and external products incrementally into production
  • Building highly performant and scalable micro-services
  • Learning from experiments and POC's to improve the quality of our software
  • Gather feedback from end-users and enhance our application based on needs
  • Contribute to engineering standards across the organization
  • Hold each other accountable and have fun while at it

Why write this document?

I have been an individual contributor - software engineer for 7+ years. With every Team Leader/Manager, there are unwritten rules and unwritten expectations. The best leaders are clear in their guidance and their expectations. I’m sure you will recognize this when you think about leaders that you admire – many of whom I have admired over various companies that i have worked at! Whenever I have stepped into an engineering management role, I have strived to share this kind of clarity. Here’s why I like the idea of a Software Engineering Manager README:

  • You know what to expect from me
  • I clearly state what I expect from you
  • Accountability - You should question me whenever I am not adhering to my process and values that I'm stating here
  • You should have clarity about my expectations, your career growth, feedback areas and so on
  • I can continously try to keep this document uptodate based on lessons learned and feedback received from team members

Why is this outside the company wiki?

  • Because this is my personal style of management. This is not company-mandated.
  • Because it forces me to have conviction in what I’m stating here.
  • Because folks who are interested in joining the team can know how I work even before joining. Hopefully, this gives them confidence in me.

What is my job?

  • You – My role is to ensure you are successful.
    • Your role is to design and deliver successful products. Together, we make the company’s clients successful and hence the company successful.
    • Your job isn’t just to complete your sprint tasks (please do that too though). It’s also to own and to lead.
    • I expect you to make the time to be a leader and to improve yourself, your peers, the team, and the company beyond the software we write.
    • I expect you to tell me if you feel too pressured by project commitments to invest in these efforts.
    • I will actively listen to you, hear your stories, have empathy for you.
    • I will provide the coaching, outside context, tools, and opportunities to help you develop yourself and your career.
    • I will create a safe, fun, and productive working environment.
  • Culture – Building a company culture where people want to stay.
    • What is Culture?
      • What is important (Values)
      • How we do things (Process)
  • Information - Analyzing, Abstracting, Implementing and Delivery
    • My teammates are heads-down working. I am heads-up coordinating within our team and across the company.
    • I work with other teams (algos, SQC, apps testers, program stakeholders, marketing, analytics, operations, HR, etc.) to make sure we are aligned with the rest of the company and they with us.
    • Communication is the hardest thing in our careers. Being proactive is the solution.
    • Alignment is the most important thing in a company.
    • Business Understanding – Talking to business stakeholders, leadership team, senior management.
  • People Management
    • My teammates debug software. I debug people & process, so that my team consistently deliver high-quality work.
    • Career development
      • Having strategic conversations that lead to tactical conversations.
      • I expect my team members to be mindful and direct about their purpose. I cannot decide that for you. (“What does success look like, for you?”)
      • I consistently work to ensure autonomy and mastery for my team members. (“Are you set up for success?”)
      • You should expect me to try my best to ensure alignment and balance of your goals with the company’s goals. When it is not possible, I will be direct in saying so.
    • Leadership is a character trait. Management is a role.
      • I expect all my teammates to behave as leaders.
      • Leadership is creating an environment where everyone can contribute to solving the problem at hand.
  • Project Management
    • Deliver projects on-time.
    • Making best practices part of the process, so that they become habits.
  • Technical Skills
    • My role is a mix of engineering manager and engineering lead, but I will rely on you to also guide the “how”.

What isn't my job ?

  • To do your job.
  • To tell you how to do your job.
  • Please, if you see me trying to doing either of these, you're doing me a favor if you tell me so.

Values

These are attributes of working style that I admire greatly and value in a fellow teammate and in a team. I do not expect you to have all of these values on day one. I do expect you and I to look back every quarter to see that we both have made progress on these. I expect you and I to be:

  • Mindful
    • Be conscious, aware and deliberate in our behavior and in our work.
    • Be constantly looking for ways to improve as a team and improve our process (how we do things).
  • Self-motivated
    • Be self-motivated. We should only need to give guidance to each other, not push each other to perform.
    • Design your own goals based on the agreed-upon team goals and proactively sign up for chunks of the team goals.
    • Design long-term ambitions about your work and team
  • Diligent
    • Show care about our work, be detail-oriented and always be on top of tying up loose ends.
    • Be proactive regarding our tasks.
    • Be proactive regarding cross-team coordination.
    • Have conversations, with timelines attached.
      • Don’t just “Let’s discuss”.
      • Do mention effort estimates, dependencies and their ETAs, roadblocks, integration testing estimates, ETAs, internal dates, client-facing dates, etc.
      • Balance features vs. schedule vs.quality
  • Direct
    • Tackle issues directly, in terms of problems, people and feedback to each other.
    • Don't hesitate.
  • Collaborative
    • Be conscious that we are all in this together, working towards a common goal.
    • Understand that we can be more productive as a team than as individuals, and that we can rely on each other.
    • Have productive conversations even when you disagree.
    • It is impossible to over-communicate!
  • Setting high standards
  • Engaging in Life-long learning
    • Don’t be afraid of or averse to learning new things.
    • I encourage you to attend and propose talks for relevant conferences.
  • Having Fun!
    • We spend most of our waking hours at work. Let’s not get too serious. That would be boring.

1:1's

  • 1-1s are very important to me because they are dedicated space for you to talk about anything and everything you want
  • It’s not a status meeting, unless you want to talk about status
  • 1-1s are flexible, they can shift and change to fit around our shifting schedules
  • I expect these conversations to be bi-directional.
  • Don’t save urgent matters for a 1-1!

Feedback

  • More than any other factor, candid and compassionate feedback is central to a cohesive high-performing team.
  • Feedback should happen as real-time as possible
    • I will strive for this
    • In a remote context, the “normal” post-meeting chats don’t happen; we need to be intentional

My Quirks

  • Please bear with me:
    • I’m still figuring out what is the value that I bring to this role (this document is a prime example)
    • I’m paranoid about wasting your time and unintentional micromanagement – so I may err on the side of less meetings or less checking-in. Please tell me if you feel I should be more involved, I can definitely do that.
    • I’m paranoid about “losing touch” with you. So please be diligent about us having our regular once-in-2-weeks 1:1 sessions, and please regularly share your updates asynchronously (teams)
    • I hate surprises. Please keep me informed about your observations within and outside the team.

Where will i focus on my first 90 days?

First 30 days

  • In my first 30 days, I want to focus on getting to know you and everyone else on the team. I'd love to know about your passions and interests, what led you to your current role, what you think is going well in the team/organization and what could be improved, and anything else that you think is important
  • I'll sit in on any team meetings or ceremonies the that the teams are open to me observing to further educate myself on how things are currently being done.
  • I might ask you about how things have been done in the past, what's changed, and whether the changes were net positive or negative.
  • That first month is all about establishing relationships, building trust, and figuring out how we best communicate and interact with each other.

30-60 Days

  • Between 30-60 days after I start on a new team, I like to add in another lens that focuses on the team and the organization, broadening my perspective from individual team members.
  • What are the challenges we're facing? What recent successes and failures can we celebrate?
  • Who else in the organization is key for forming relationships with?

60-90 Days

  • After 60 days, and assuming there are solid relationships with the team and a good understanding of our landscape, I like to start gathering thoughts and recommendations on what my priorities should be and work on developing goals for myself and my direct reports.

aboutme's People

Contributors

vgonugunta avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.