On this page
Developer Education (DevEd) encounters numerous challenges to ensure effective engineer onboarding and continuous learning. These issues are complex and ubiquitous across most DevEd teams. The following list is a work in progress, and I will continue to expand it as I gather more insights.
Blocker Reduction
Engineering productivity naturally increases when blockers hindering engineering teams are removed. Instead of approximating engineering output, learning teams should measure actual, observable metrics that directly correlate with effectiveness. One method involves identifying engineering blockers and measuring their reduction, as even minor obstacles can accumulate into significant productivity drains over time.
Considerations
- Proactive Learning Solutions to Prevent Engineering Blockers
- Incorporate Learning into the SDLC
- Ensure Quick Discovery of Solutions and Context Sharing
- Automate the Identification of Gaps in Documentation
- Compile Support Requests into Searchable FAQs for Self-Service Support
- Personalize Learning to User & Reduce Noise
- Create Learning Templates for Common Activities
- Allow Feedback Loops to Improve Engineer Experience
Recommended Reading
Building a Culture of Learning
Building and nurturing a culture of learning within an organization is crucial. It is essential to recognize that learning occurs continuously and is not limited to formal training sessions. Informal learning, defined as the unofficial, unscheduled, impromptu way people learn to do their jobs, tends to disseminate most fast-changing knowledge due to the lengthy planning required for formal training. We need to seamlessly capture ongoing learning, facilitate effortless content creation for new knowledge, and ensure easy discovery.
Considerations
- Discoverability of Knowledge
- Encouraging Growth Mindsets
- Identifying Learning Leverage Points within the Engineering Culture
- Informal Learning Examples: Institutional Knowledge, documentation, paired programming, incident reports, debugging chats, ticket systems & Jira solutions, questions answered during meetings
- Incentivizing Learning & Facilitation
- Just-in-Time/Integrated Learning
- Reducing Knowledge Debt
- Social Learning
Centralized or Embedded
A common challenge is determining whether the Developer Education team should be centralized within engineering or embedded into individual engineering teams to provide more focused support. An alternative approach involves rotating the Developer Education team between engineering teams based on immediate needs as priorities shift.
Considerations
- Defining a Reasonable List of DevEd Services
- Applying First Principle Thinking to identify what is in the best interest of the company
- Identifying Learning Value Streams
Content Creation
Developer Education typically follows two methods for content creation:
- The Developer Education Team includes instructional designers, content builders, and technical writers to generate learning materials.
- The Developer Education Team provides guidance, conducts train-the-trainer sessions, and documents best practices for generating learning materials.
Considerations
- Engineer Bandwidth
- Outsourcing
- Resource Allocation and Scaling to Meet Engineer Learning Demands
Recommended Reading
Cross-Functional Relationships
DevEd teams often have a holistic view of the engineering organization and possess documentation for solutions spanning multiple engineering teams. This is why many Developer Education Teams include Technical Program Managers, as collaboration and coordination across organizations to create learning solutions require program/product/project management expertise.
Considerations
- Collaboration with company learning teams to centralize the toolset
- Working with L&D or Human Resources on soft skill training targeted at engineers, such as IC Growth or Engineering Leadership Training
- Creating training that spans multiple teams, such as migrations or building full-stack applications
Engineering Culture Models
Every company has a unique “engineering culture,” which is a subset of the company culture with its own distinct characteristics. Understanding these different methods for engineering success is crucial for a Developer Education team.
Recommended Reading
- A Software Engineering Culture Test
- Breaking Hierarchy - How Spotify Enables Engineer Decision Making
- How Spotify Built One Of The Best Engineering Cultures
- Working at Amazon: Software Engineer
- Amazon to Uber: From the lens of a software engineer
- Lessons from 7 highly successful software engineering cultures
- Real Talk About Facebook’s Culture
- How Apple Is Organized for Innovation
- Quora - contains hundreds of Q&As from engineers about company culture.
Engineering Happiness & Retention
Understanding why engineers leave and how the Developer Education team can enhance the quality of life and longevity for engineers is essential.
Considerations
- Feeling part of a vibrant engineering community: Engineers thrive when cross-functional teaming occurs. Hackathons are a prime example.
- Being surrounded by talent: Engineers are happiest when they feel they are among the best in their fields and have opportunities for knowledge transfer.
Recommended Reading
Engineer Leadership Training
Onboarding new leaders and developing engineers into future leaders may be the responsibility of the Developer Education team. While leadership resources are plentiful, applying them to the unique challenges within engineering is critical.
Considerations
- Leading Engineers
- Hiring a Team
- Leading a Team
- Building Cross-Functional Partnerships
- Leadership Forum
Recommended Reading
- Ryan Burgess - Ultimate List of Engineering Manager Resources
- Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams
Engineer Learner Engagement
Engineers often lack time and need targeted learning solutions that provide immediate benefits. Learning should aim to reduce engineering blockers and increase productivity.
Considerations
- Attention Management
- Engineer Persona Building
- Engineer Career Paths and Identifying Educational Gaps
Recommended Reading
- Productivity Isn’t About Time Management. It’s About Attention Management
- Today was a Good Day: The Daily Life of Software Developers
- Why we re-designed our engineering career paths at CircleCI
Engineer Techniques
Developer education should understand standard engineering techniques and how they are applied within the company. These insights are valuable for the engineering onboarding process.
Considerations
- A/B Testing
- Agile
- Chaos Engineering
- Containers/Base Images/Immutable
- Continuous Integration/Continuous Deployment
- Deployment Methods
- Developer Portal
- Monolithic vs. Microservices
- Paved Road
- Resilience
- Serverless
- Software Development Lifecycle
Recommended Reading
- What is CI/CD? Continuous integration and continuous delivery explained
- How We Build Code at Netflix
- Red-black Deployment On AWS
Global Challenges
Global companies face various challenges, and being aware of potential issues can help proactively address them.
Considerations
- Cultural Differences
- Effective Asynchronous Communication
- Language Barriers
- Software Limitations (e.g., Google is not available in China)
- Translation of Learning Materials
- Travel
Hack Days (Hackathons)
Hack Days are opportunities to experiment with new ideas, engage with colleagues, and potentially create innovative products. They help foster relationships across engineering teams and can increase future productivity while being fun.
Considerations
- Event Website
- Hack Criteria
- Swag
- Event Registration
- Event Location, Food, Photography
- Hack Presentations
- Hack Judging
- Awards Ceremony
You can organize a hackathon on almost any engineering topic, such as stack-a-thons, documentation-a-thons, or bug-fix-a-thons.
Recommended Reading
Hiring
Recruiting for developer education positions can be challenging, especially if the role is new or evolving within your company. It is crucial to have a clear vision for the team to define these roles effectively. Often, we seek the rare unicorn who excels in technical, instructional, and leadership skills.
Considerations
- Job Descriptions
- Long-Term Hiring Strategies & Recruitment
- Networking
Engineer Growth
Engineering growth should be a personal journey, not one that is imposed on engineers. However, it is essential to provide opportunities for those who wish to expand their horizons. Examples include a variety of training opportunities, structured mentorship programs, and team rotations to foster development, cross-training, and empathy across teams.
Considerations
- Classes
- Conferences
- Mentorship
- Embedding/Rotating Teams
Recommended Reading
Inclusion & Diversity
Diverse teams are more robust and effective at solving complex problems because they bring a variety of perspectives, approaches, and skillsets. It's vital to create an inclusive environment where diversity can flourish and apply universal design best practices so that no one is excluded from delivering value.
Considerations
- Accessibility & Universal Design
- Additive Hiring
- Allyship
- Cognitive Diversity and Collective Intelligence
- Neurodiversity
Recommended Reading
- How Facilitators Can Infuse Diversity and Inclusion into Everything We Do
- The Pressure to Cover
- How to Fix the Tech Interview to Increase Diversity
- What do leaders need to understand about diversity?
- Why Companies Need to Remember the “I” in D&I
- How to be an Ally in the Office
Integrated Learning
Integrated learning can take many forms, but for engineering, it means incorporating learning opportunities into applications and proactively providing resources as engineers encounter potential blockers.
Considerations
- Application Walk-throughs
- Bots for Self-Service Support
- Embed FAQs from systems like Stack Overflow into manuals, software help, and chat systems (e.g., Slack)
- Informative error messages with built-in debugging and links to relevant documentation
- Learning embedded in the Developer Portal
Instructional Design Methods & Pedagogy
Creating or empowering others to create training is a significant part of your role.
Considerations
- Andragogy (adult learning)
- Cognitive Overload – Top Engineering Training Mistake
- Engineering Philosophies/Eponymous Laws
- Learning Methods – ADDIE Model, Bloom’s Taxonomy, Merrill’s Principles of Instruction
- Presentation Styles – Examples: Ignite Talks, Lightning Decision Jams
- SODOTO (See One, Do One, Teach One)
- Overcoming Engineering Cognitive Biases (Example: Complexity Bias)
- Learning from Mistakes (Post-Mortems)
Recommended Reading
- Laws, Theories, Principles, and Patterns that developers will find useful
- The Eponymous Laws of Tech
- Learning is optimized when we fail 15% of the time
- The Pygmalion Effect: an invisible nudge towards success
- Lightning Decision Jam: A Workshop to Solve Any Problem
- Driving Architectural Simplicity – The Value, Challenge, and Practice of Simple Solutions
- Usable Learning
Internal Communication
Internal communication occurs within your team, such as newsletters, a team website, and Slack channels. You may also assist engineering teams with their communication, including slide decks, presentations, and roadshows. Whenever context is shared among engineers, it is a form of learning, and the DevEd team can provide best practices to ensure understanding and retention.
Considerations
- Internal Team Communication (staying aligned)
- Communication among Engineers (more technical)
- Communication between Engineers and Customers (more user-friendly)
- Increasing Context Flow
- Reducing Action Without Context
- Reducing Noise to Signal Ratio
- Being Concise is Time Consuming
- Cognitive Bias
- Communication Consistency & Standards
- Creating Feedback Loops
- Retention of Communication
- Engineers Need Shared Understanding of Engineering Contributions & the Business Value
Knowledge Management
Making engineering content discoverable and democratizing knowledge may fall within the DevEd scope. Solutions such as Federated Search and an Internal Documentation Front Door can facilitate knowledge management. You may also assist with documenting requirements, standards, and creating tutorials on paved path solutions that span multiple engineering teams. The Developer Education team often works closely with technical writers and may fall under the same organizational umbrella.
Considerations
- Challenges: Accuracy, Analytics, Automated Checks, Consistent Tagging System, Discoverability, Gaps, Integrations, Quality, Ownership, Maintenance, Prioritizing, Standardization & Templates
- Types of Documentation: Overview, Getting Started Guide, Tutorial, Cookbook, Concepts and Architecture, Reference Guide, Runbook, Contributor Guide, FAQ, Team Overview, OKRs, Roadmap, Proposal, Service Level Objectives, Technical Design Document, Technical Product Strategy Document
- Knowledge Opportunities
- Identity Management and Access Controls on Knowledge
- Language and/or Writing Skills/Communication Skills to Pursue
- Natural Language Processing & Automation
- Portals, Unified Search, Landing Pages
- Video Transcription & Searching
Recommended Reading
- What Nobody Tells You About Documentation
- Undervalued Software Engineering Skills: Writing Well
- The Social Economy: Unlocking Value and Productivity through Social Technologies
- Writing Docs at Amazon
- How Developers Use API Documentation
Learning Communities
Learning communities connect people, organizations, and systems eager to learn and work across boundaries in pursuit of a shared goal. They offer tremendous value within organizations and in building external networks. These communities benefit engineers who may be using non-paved road solutions because their needs are not prioritized over more adopted solutions.
Considerations
- Building & Fostering
- Cohorts
- Communities of Practice
- Guild Model
- Learning Collective
- Skill Exchange System
- Squads
Recommended Reading
Learning Toolkit
The term “toolkit” describes a broad set of related activities and tools necessary to operate the Developer Education program.
Considerations
- Collaboration Tools
- Content Providers (LinkedIn Learning, O'Reilly, Pluralsight)
- Event Registration Platform
- Learning Experience Platform
- Mentorship
- Surveys
- Newsletters
- Project Management
Measuring Impact & Effectiveness
Measuring the impact of your learning initiatives within your organization can be challenging.
Considerations
- Defining Impact & Effectiveness
- Measuring Engineer Productivity
- Kirkpatrick Model
- Measurement Tools
- Quantitative and Qualitative Analysis of Participant Feedback
- Participation, Impact & Satisfaction
- ROI
- Survey Fatigue
- Types of Measurements (Google Analytics for site visits to measure conversion, Newsletter conversion, LXP
Recommended Readings
Engineering-productivity-can-be-measured (blockers)
Mentorship & Coaching
Coaching focuses on enhancing on-the-job performance, while mentoring takes a broader, holistic approach to career development, considering the professional's current role and future aspirations. Companies often implement mentorship programs to develop engineers' skill sets, distribute institutional knowledge, and strengthen working relationships across the organization.
Considerations:
- Engagement
- Internal/External Mentoring
- ROI
- Skill Exchange
- Tools/Tracking
Recommended Reading:
Onboarding Engineers
The aim is to equip engineers with the necessary information to deliver value swiftly. This involves introducing them to the engineering culture, systems, processes, and tools, and providing support through a buddy system. Helping new hires understand their role within the organization’s engineering ecosystem and common barriers is crucial for their success. Companies use various strategies to onboard engineers effectively.
Considerations:
- Branding (e.g., Bootcamp, Flight School)
- Cadence & Duration
- CTO Welcoming New Hires
- Ease of initiation, clear documentation, available support, and consistent communication
- Engineering Buddies
- Engineering Culture & Techniques
- Keeping Content Relevant & Current
- Systems, Processes & Workflows
Recommended Reading:
Personalization
Learning should be tailored to immediate needs, with systems smart enough to make quality recommendations, reducing the time spent searching for solutions. For example, Netflix's personalization algorithm should help users quickly find content that sparks joy without excessive scrolling.
Considerations:
- Efficiency
- Decision Fatigue
- Recommendation System
- Targeting
Recommended Reading:
Prioritizing
The developer education team must prioritize initiatives based on their impact, aligning with company strategy and goals, due to the inevitable volume of work exceeding capacity.
Considerations:
- Aligning with Company Strategy & Goals
- Business Value
- Content Working Groups
- Eisenhower Matrix
- Gauge Interests (Painted door)
- Metrics/ROI
- Reciprocity
- Team Capacity
- Urgency
Recognition
Publicly acknowledging positive engineering behaviors fosters intrinsic rewards and increases learning engagement. Recognition can focus on the individual's achievements or the outcomes of their learning efforts.
Considerations:
- Badging/Certificates
- Celebrating Small Wins
- Email to Managers
- Newsletter Mentions
- Performance Review Acknowledgement
- Multiplier Parties
- Recognition Ceremonies
Remote vs. In-Person
With the shift towards remote-friendly or remote-first opportunities, it’s essential to ensure the remote experience is equivalent to in-person. Higher education institutions have long offered online courses, providing valuable insights.
Considerations:
- Physical Distance, Operational Distance & Affinity Distance
- Challenges, Obstacles & Pitfalls
- Blended Learning Experiences
- Learning Tools (platforms and content creation tools)
- Remote Opportunities for Casual Collisions, Spontaneous Meetings & Serendipitous Knowledge Transfer
Removing Crutches
When deciding between a workshop or a self-service module, consider if training is a solution for a poorly designed system. Aim to enhance user experience and create proper documentation rather than relying on training as a crutch.
Considerations:
- Intuitive Design
- Making the Implicit Explicit
- UI/UX
- Usability Testing
Simplicity & Automation
To reduce cognitive overload, simplify communication and learning into digestible chunks. Automate content creation and integrate learning systems to streamline processes.
Considerations:
- APIs
- Bots
- Queries
- Integrations
- Micro-Learning
- Notebooks
- Widgets
Subject Matter Experts, Internal Trainers, or Outsourced
The choice of who creates and facilitates training will shape the Developer Education team’s goals and priorities.
Considerations:
- Advantages of SMEs Facilitating Training: Product Experts, Homegrown Systems, Builds Empathy, Builds Community, Enhances Communication Skills, Increases Customer-First Mentality, Scalability
- Disadvantages of SMEs Facilitating Training: Maximizing Engineer Time, Not Professional Trainers
Team Effectiveness
This is typically the leader’s responsibility but can be a shared team effort, focusing on various aspects to enhance team performance.
Considerations:
- Budgeting, Resource Allocation & Hiring
- Evangelizing Efforts and Radiating Intent
- Forming Mission and Branding
- Identifying Opportunities, Value Stream Mapping, Setting Priorities, and Managing Expectations based on Resources
- Creating & Aligning Strategies, OKRs
- Relationship Building with Stakeholders
- Team Member Career Ladders
- Your System is not a Sports Team
- Team Working Agreements (TWA)
Technology Acceptance Model (TAM)
For engineers to adopt a tool or service, they need to perceive it as valuable and user-friendly. Training should clearly address these aspects.
Questions to Address:
- Is the new tool genuinely useful?
- If it is useful, how will the learner know that?
- Is the tool easy to use?
- If not, how can usability be improved?
Training Level Challenges
Engineers have varying expertise levels, necessitating a range of training from general to specific, covering areas like cloud, security, backend, frontend, and data.
Considerations:
- Levels: Apprenticeship/Intern, Citizen Developers, Junior & Senior Engineers, Engineering Managers
- Engineering Focuses: Initialization, Source, Compute Infrastructure, Runtime, API, Data Stores, Real-Time Data/Monitor/Logs, Build, CI/CD, Test, Troubleshoot, Alert, Remediate, Collaboration & Management, Big Data, Reporting & Analytics, Data Science, Resilience, Security
- Identifying Consistencies Across Technologies for General Onboarding
- Contractors - Ensuring Access
- Learning Resources for Customers: Google Grow, Twilio Learn
- Blogs for External Developers: Uber Engineering, Netflix Techblogs, EventBrite Engineering Blog
- Resources for External Developers: Typically, the URL is developers.domain.com Examples: Amazon Developer Services and Technologies, Google Developers, Facebook Developers, Microsoft Developer
Training for Recruitment
Developer education can include partnerships with colleges and bootcamps to increase the pool of future engineers with the necessary skills.
Considerations:
- Examples: Airbnb Connect, Amazon Technical Academy, Disney CODE
Vendor Management
Managing multiple SaaS subscriptions and service providers involves needs assessment, vendor selection, solution implementation, system administration, and ongoing vendor meetings.
Considerations:
- Creating Internal Needs Assessment
- Vendor Evaluation & Selection
- Facilitating Vendor Purchase (Security and Legal Vetting)
- Implementing Vendor Solutions
- Single Sign-On
- Integrations to Other Systems
- Administering Systems (User Management)
- Ongoing Vendor Meetings with Customer Success Teams
- Assisting with Roadmaps
- Paying for Professional Services
- Marketing Solutions Internally