Do you find Goal Setting challenging?
Tips on how to organise your goals. Sharing concrete goals of our engineering team.
Goal-setting is one of the most important steps in building high-performing teams. But building an effective set of goals can be challenging and a time-consuming task. In this blog post, I will share a framework we use at Rocketium to define our Engineering goals.
How we set the goals
Start with company objectives
Having a clear understanding of the company's mission and objectives is the first step in goal-setting. Team and individual goals need to align with both.
Organise the goals around 3P framework
Taking inspiration from the People, Process, Technology framework, we have created our own People, Process, and Product framework. Every goal is mapped to a theme which, in turn, is mapped to one of the verticals of the 3 Ps. Below are the themes we defined under each category.
People - Career objective, Collaboration, Visibility, Hiring, Mentoring
Process - Communication, Feedback, Ownership, Collaboration, Validation
Product - Development, Quality, Shipping, Product mindset, Support
Make goal-setting a collaborative exercise
Every team needs to work in unison for an organisation to run like a well-oiled machine. The entire Engineering team at Rocketium participates in goal-setting, seeking feedback from all other teams to ensure each team’s expectations are met.
Sharpen each goal using SMART framework
SMART stands for Specific, Measurable, Achievable, Relevant, and Time-bound. Defining these parameters for every goal ensures they are achievable within a specific timeframe. We have to admit it was hard to apply all parts of this framework for every goal but we did the best we could.
The 3P framework helped us come up with strong initiatives. However, it is not the best way to organise goals as there can be overlaps across themes. Once we had all the goals, we regrouped them under common themes that emerged.
Below are all the goals we defined for our Engineering team across seniority levels.
Promotions and Rating - Work with every team member to define their career goals - promotion and performance ratings. This helps in setting the right expectation to achieve the goals upfront and provides periodic feedback to help the individual achieve those goals.
Increase your presence in the office. Share kudos and actively participate in relevant online and in-person discussions.
Participate actively in meetings. Share at least one opinion, question, or feedback in every meeting.
Create excitement about your work by sharing regular updates. Do a demo with relevant teams for early feedback.
Write about your work on social media and your own or the team’s blog.
Meet with the Product and Design team to discuss features and priorities. Work with them to ensure the feature list and design are ready before each Sprint.
Work closely with the Customer Success team to understand product gaps. Work closely with the design team to launch high-quality features with the right user experience.
Create a collaborative environment within the team to increase the quality of what we are working on. Brainstorm with the rest of the team and seek feedback before starting a major feature.
Conduct one session a month showcasing product capabilities. Do this in person but also share a recording for future use. Capture this in our internal wiki.
Build connections outside of the dev team by having lunch or coffee with at least 1 Customer Success / Design / Sales team member every month.
Seek feedback from at least 1 Customer Success / Design / Engineering / Product team member you closely work with. Get positive feedback from 2 people on technical, communication, and written skills.
Provide timely feedback to peers, managers, and external team members. Make notes during meetings and 1:1s. Take action before the next meeting.
Reduce complexity and promote reuse. Review the architecture of peer team members and provide feedback. Find elegant solutions to complex problems
Document technical architecture, OKRs, manual test plan, and roll-out plan. Seek feedback from other team members for features before development starts.
Identify ways to reuse code and create components so we add only what is needed.
Conduct stringent code reviews. Reject those that do not follow coding best practices. Ensure all corner cases are covered. All new features have enough comments and logs to help debug the feature.
Spend 10% of your time inspiring and guiding a team member to complete their projects with outstanding results.
Meet 3 new team members every week to take feedback on what you are working on, educate them on the feature area, and inspire them.
Ensure there is no slippage in planned tasks in a Sprint. The tasks should go live the week that the Sprint ends.
Get better at estimating timelines and escalate when things are getting delayed. Clearly communicate timelines and blockers.
Ensure the Design and Product team reviews the feature before we ship. Build the necessary environments for the teams to review on time.
Ensure features are shipped with the highest quality and zero bugs.
Manual testing and peer testing followed by unit and automated tests are a must for a feature release. Ensure features and adjacent areas are tested thoroughly. The features should be tested in an environment that closely mimics the customer’s environment.
Track metrics on product quality.
Ask the right questions and assess the priority of on-call issues. Relevant teams should be notified regularly and the root cause is shared and documented during closure.
Ensure coding best practices are followed. UI must be aligned with brand guidelines.
Identify at least 1 broken process and improve them. Introduce at least 1 new process to solve existing challenges.
Connect with at least 2 high-achievers on LinkedIn, learn from their journey, and share their success stories with the team.
Read 6 books by the end of the year.
Host 3 senior engineering leaders at our office for an architecture review or brainstorming.
Hiring and mentoring
Be part of new hire interviews.
Successfully mentor one peer or intern. Motivate others in the team. Be someone who the team looks up to.
Constantly focuses on learning outside of daily work.
A rating (Above Expectations)
Be inquisitive about our customer’s nuanced use cases. Review specific campaigns our customers are running
Work hard on written and oral communication. This will help in internal discussions and customer calls.
Build a brand on social media. Complete one technical book. Take one technical class. Attend one technical conference.
Listen to at least one customer demo a week.
Adopt a product-minded engineering mindset. Understand why decisions are made, how people use the product, and be involved in making product decisions.
Building analytics dashboards for reviewing feature adoption. Spot patterns of poor or excellent usability from metrics. Interact regularly with customers to understand how our products can be improved.
Own features from development to adoption.
Constantly review, share and implement the latest and greatest findings in the engineering space - coding best practices, frameworks, libraries, ….
Gain expertise in architecting large systems and products.
Proactively identify the potential impact of bugs on all the customers using the feature, notify relevant teams, and build a plan to address it. Adopt the learnings in future work.
Effective goal-setting is a continuous process and crucial for building high-performing teams. Doing this collaboratively helps align each team to achieve the company goals effectively. Sharing the goals openly is a social commitment that inspires the team even more to achieve the result.
I hope this blog post helps you in building out your goals and/or your team’s goals. You can read more about our culture and our processes at culture.rocketium.com.
We work with highly motivated and smart people in an open and collaborative environment. If you would like to be on this rocket ship, do write to firstname.lastname@example.org.
Thanks for reading Rocketium Blog!