IC3 Machine Learning Engineer
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
🏆 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 any 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/or 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 them down to 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 the right people 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
I have achieved proficiency in ML development lifecycle*. I am familiar with applied ML techniques and toolkits.
I have mastered the fundamentals of code fluency. I have a well-rounded set of software design skills that allow me to build correct, maintainable software components.
ML Fluency
- I am familiar with a range of ML techniques (e.g., deep learning, optimization, regression, ensembles, tree-based methods, dimensionality reduction, Bayesian modeling, etc.), areas (CV, NLP, RL, etc.), and tools (sklearn, pytorch, tensorflow, etc.) and I select a right such solution for my project.
- I maintain awareness of the state of the art, and can select an appropriate algorithm, tool or technique for a given problem.
- I can analyze and present datasets or results of experiments while choosing the appropriate statistical methods and visualization techniques.
ML Design
- I can translate a business problem into a spec for a computational task such as classification, ranking, or generation.
- I am proficient in ML development lifecycle* and can design each stage according to the needs of the project.
- I define and track offline and online metrics in service of business objectives.
- I prepare and conduct experiments, analyze the results, and adapt my strategy to reflect significant findings.
Code Fluency
- I write code that captures the essential nature of the solution and is appropriately flexible, reusable, efficient, and adaptable to changing requirements.
- 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, development environment and ML frameworks (like TensorFlow, Keras, PyTorch etc) 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 build tools and produce technical documentation to improve developer efficiency and drive alignment within my team.
Software Design
- I am able to independently design software components in well scoped scenarios, with simplicity and maintenance as key considerations. My components are testable, debuggable and have logical APIs that are not easily misused.
- I know when to make significant refactors and when it’s 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
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
* ML development lifecycle refers to the stages/tasks in the life of an ML projects: task formulation; dataset collection, cleaning, and aggregation; feature extraction; modeling, optimization, and evaluation; off/on-line testing, deployment and monitoring; and iteration based on feedback from each stage.