IC3 Software Development Engineer in Test
I independently identify and deliver software solutions through a set of milestones spanning a specific product focus or a multi-component system
Scope
Area of ownership and level of autonomy / ambiguity
- I own and deliver projects in service of quarterly goals on the team
- I independently identify the right solutions to solve ambiguous, open-ended problems
Collaborative Reach
Organizational reach and extent of influence
- I work primarily with my direct team and cross-functional partners while driving cross-team collaboration for my project
Impact Levers
Technical levers typically exercised to achieve business impact
- Project Leadership - I define and deliver well-scoped milestones for a project. I may be a technical lead for projects on my team
- Product Expertise - I actively keep customer needs in mind and leverage input from product stakeholders as available to determine the right technical solutions to deliver customer value quickly
- Mentorship - I actively level up less-experienced members of my team by helping them with their craft, providing guidance, and setting a good example
Core Responsibilities
🏆 Results
Impact
- I deliver some of my team’s goals on time and with a high standard of quality
- I understand my customers, the business’s goals and my team’s goals. I ensure my work will have the greatest customer impact
- I can identify when my results aren’t moving the needle for our business/team goals or serving the needs of customers in a meaningful way and work with manager to redirect my focus
- I get work to a simple place by focusing on the heart of the problem and prioritizing the right things
Ownership
- I proactively identify new opportunities and advocate for and implement improvements to the current state of projects
- I take responsibility for my decisions and mistakes on my project and take action to prevent them in the future. I embrace and share the learnings with others
- When I encounter barriers, I unblock myself and my team by proactively assessing and eliminating the root cause
- I respond with urgency to operational issues (e.g., SEVs), owning resolution within my sphere of responsibility
- I actively seek out and eliminate sources of toil on the team and help reduce the impact of KTLO and SEVs
- I am unafraid of declaring a SEV when needed
- I proactively create and update playbooks for components I own
Decision Making
- I make informed decisions by consulting the right stakeholders and balancing details with the big picture. I execute against the spirit, and not just the letter, of the requirements
- I understand the implications of my decisions and adjust my approach based on the impact and risk in the short and long-term
- I make timely decisions and don’t cut corners that would compromise my customer’s trust
- When possible I leverage customer insights/data to inform decisions, balancing value for the customer with other business goals
- I escalate to my manager when I need help with a decision about my deliverables or priorities
🌟 Direction
Agility
- I embrace change and adapt quickly to it
- I remain resilient through change by staying calm under pressure and taking care of my well-being
- I navigate ambiguity by focusing on the greater purpose, goals, and desired impact to move forward one step at a time
Innovation
- I ask questions and contribute to new ideas/approaches
- I have a growth mindset and am comfortable experimenting with new approaches, learning, owning the outcomes, and sharing what I learned
- I work with my manager to find new ways of utilizing customer feedback to influence our teams' plans
Strategy
- I work collaboratively with my manager to set realistic and ambitious short-term goals to deliver customer value quickly and break these goals down into smaller projects for my team or myself
- I execute the development roadmap for multi-phase projects, possibly as a project lead
🌳 Talent
Personal Growth
- I proactively ask for feedback from my manager, team, and cross-functional stakeholders and identify ways to act upon it
- I have self-awareness about my strengths and work on my development areas
- I connect with others with empathy and understanding
- I drive discussions with my manager about aspirational goals and seek out opportunities to learn and grow (e.g., PGP, Dropbox-offered training, leveraging perks allowance etc.)
Team Development
- I model integrity and a high standard of excellence for my work. I leverage this to influence and establish best practices
- I support the growth of my teammates by taking into account their unique skills, strengths, backgrounds and working styles
- I actively look for opportunities to mentor new hires, interns and apprentices
- I solicit and offer honest and constructive feedback that is delivered with empathy to help others learn and grow
- I actively contribute to interviewing and assessing candidates to help us build a diverse and talented team by conducting more advanced domain-specific and leveling interviews
- I am able to represent my team’s initiatives and goals to candidates in a compelling way
🌈 Culture
Collaboration
- I build relationships across teams and help get to positive outcomes
- I engage in productive conflict with thoughtful questioning and have the courage to state my point of view
- I proactively communicate and coordinate my team’s requirements with other groups and teams in engineering
- I am capable of working with cross-functional stakeholders to identify technical blindspots and clarify ambiguity in their ideas
- I avoid blame and solve the right problems, disagreeing and committing when necessary to move decisions forward
- I promote and role model Dropbox core values
Organizational Health
- I contribute to a positive sense of community on the team (e.g. engage in team lunches, team offsites, and other group activities, help with new-hire on-boarding)
- I listen to different perspectives and I cut biases from my words and actions
- I help foster effective communication across the team and promote inclusive meeting culture
- I practice the Dropbox Diversity Commitments on a regular basis
- I champion good Virtual First practices that help my team collaborate effectively
- I help shape the Dropbox engineering culture through my involvement with activities outside of my team (e.g. presenting tech talks, participating in Eng RFCs, creating interview questions, planning hackweek)
Communication
- I tailor my message to my audience, presenting it clearly and concisely at the right altitude
- I proactively share information so my manager, team, and stakeholders are informed and aligned
- I set the right expectation with my manager to balance my work and mentorship requirements
- If there is a significant issue not being addressed, I initiate a crucial conversation even when uncomfortable
🦉 Craft
Code Fluency
- I develop and deploy test infrastructure/tooling/automation solutions that capture the essential nature of the problem space and is appropriately flexible, reusable, efficient, and adaptable to changing requirements.
- I specialize in a testing infrastructure/tooling/automation domain (ex: Web Full Stack, Front-end, Back-end, Mobile Full Stack) and have a strong awareness of the ecosystem of tools and libraries that support this domain
- I ensure high code quality in code reviews. I adopt approaches (e.g., set up best practices and coding standards, help resolve differences of opinions) to foster an effective/collaborative code review culture.
- I have a strong awareness of the ecosystem of tools and libraries supporting my primary programming language and development environment and a strong grasp of the idioms and patterns of my language. I may be intimately familiar with the open source community surrounding it.
- I ensure high code quality in code reviews, I adopt approaches (e.g., set up best practices and coding standards, help resolve differences of opinion) to foster an effective/collaborative code review culture
- I look for ways to reduce future toil and tech debt for existing test/automation components my team owns.
Software Design
- I am able to independently design test infrastructure/tooling/automation software components in well scoped scenarios, with simplicity and maintenance as key considerations. My components are reliable, debugged and have logical utilities that are not easily misused.
- Technical designs that I produce exhibit good separation of concerns
- I know when to make significant refactors and when it is better to leave things as-is
- I have a strong grasp of the libraries, platforms, and systems that I rely on, allowing me to apply them expertly
- I am able to understand the existing feature development designs and technology choices within my area and I make appropriate adjustments to existing QE practice designs based on how my product continues to mature.
- I look for ways to reduce future toil and tech debt for existing test infrastructure/tooling/automation components my team owns.
- I produce technical documentation for the testing infrastructure/tools/automation I create with a focus on improving developer efficiency and driving alignment within my team.
Architecture Design
- I’m able to decompose a simple problem or business scenario into test/automation solutions composted of multiple software components interacting with each other
- I proactively identify issues with technical dependencies of my project that are owned by other teams and surface them
Quality Engineering Fluency
- I am a domain expert in managing quality within at least one engineering domain (ex: Full Stack Web, Front-end, Back-end, Full Stack Mobile)
- I have expert level knowledge of all modern quality management approaches (ex: Regression, System, Functional, Integration, Unit)
- I ensure high code quality in features I evaluate.
- I’m able to independently decompose problems and business scenarios into quality management solutions
- My quality management approach is informed by technical specs, hands-on knowledge of the technology stacks in my area
- I effectively engage in the PDLC, from ideation to deployment of features, and contribute both a quality and customer focused perspective
- With a focus on gray box testing, I evaluate non-functional requirements by effectively applying my working knowledge of performance, load, and security testing.
- I make sure that automation script development and execute is included in the “Definition of done” and focus on removing redundancy in manual test execution
- My code is focus on reducing unknowns, variability, and risks associated to completion of the PDLC. My solutions uncover technical bugs/failures and effectively report on risk.
- I effectively engage with cross-functional partners to remain in alignment on the needs of our customers and overall business goals. I use this information to inform how/when/where I deploy my quality practices.
Quality Assessment
- I am hyper-focused on delivering risk-driven quality management solutions that are founded in the quality metrics/measurements I gather and report to my QE team and cross-functional partners.
- The data I independently collect (ex: bug reports, quality metrics/measurements) as part of my quality management strategy accurately reports technical bugs/failures with a focus on identifying root causes and providing quick feedback to cross-functional partners.
- The metrics I report represent a modern approach to applying quality engineering best practices and reflect a deep understanding of my engineering domain (ex: Full Stack, FE, BE, Mobile).
Business Acumen
- I engage in listening sessions (All Hands, Quarterly Business Updates, etc.) to increase my learning and guide my work/priorities
- I have a working knowledge of Dropbox’s org/team structure and how teams work together across Dropbox, and able to independently work with partner engineering teams to unblock code reviews, and engineering designs