Sunday, March 18, 2018

Management is a support role

I'm coming back to blogging after a few years buried under project work, and I want to explore some lessons learned as a technology leader managing a department growing rapidly and going through significant changes. My department builds educational software products and has grown from a couple employees and a dozen consultants to over 70 employees and 100 contractors/consultants over 3 years.
What is the role of a manager? What makes one "good"? Statistically speaking, most of us aren't too happy with our managers. If you are a manager, you probably think you are the exception (the 20-25% that are "good"). I think part of the issue is the common misunderstanding about what makes a good manager. A popular perception is that managers make the tough calls (and decisions), set strategic goals, and tell people what to do (while of course allowing them to decide how...).

Whether you are newer to management or have decades of experience, at some point before becoming a manager, you previously were amazingly successful as an individual contributor or small team leader. You always delivered on time and your work quality was amazing. As a result, you were recognized and given more responsibility. You might have even received advice about how you need a team in order to accomplish your newer and broader responsibilities. Now you have more to do and more people to help you do it. No problem because the role of your team is to help you get the job done... right?

If this is resonating with you, then you are trapped in a traditional management style. You are seeing the role of your team(s) as support for you. You are still operating like an individual contributor who happens to have lots of assistance. You are the brains and they are the brawn.

The trap here is that this actually works for some kinds of less creative and more repetitive jobs and therefore one can find lots of advice out there about how to run a team or organization of this type. For those of us in engineering or other creative fields though, this is a fallacy. The people in a creative organization will not respond well to this traditional style of management and you will not be successful in accomplishing your goals.

There is a better way. Invert the pyramid and see that management is a support role. Your team are the brains AND the brawn. You are the coach, mentor, and a supplier. You provide guidance, advice, and resources (money, time, etc.) to help them accomplish their goals. Yes, you heard that right. The goals don't come from you (at least, not entirely... but that's a nuance for a future post).

Think about it purely logically, who knows the customers and products best? Is it the CEO? Obviously that's impractical in all but the smallest organizations. How about the senior management team? The same logic continues to apply until you reach the team who is directly responsible for interfacing with the customer and creating the product. The entire organization (including you as a manager) is there to support those teams.

Here are some practical steps you can take this week to begin to manage in a more supportive and modern way:
  1. Ask your team how you can help them this week.
    If you haven't been doing this then you will probably get blank stares and confusion. Just hold your tongue and count to 10 slowly in your head. If no one has spoken up yet, then repeat the question and this time count to 20. Give people a chance to think and get comfortable with the reality that it will take time for your team to get used to seeing you as a supportive manager.
  2. Explain your supporting role to your team.
    You might have even done this in the past incorrectly. Don't worry about that. The key here is to explain that you are here to empower them and enable them to accomplish goals as individuals and as a team. Use an analogy like coaching a sports team. Coaches can't tell the players what to do every minute of the game but they can provide training outside of game time and guidance during the breaks in play. In combination with #1, you will begin to see your team culture shift to one of empowerment and intrinsic (vs extrinsic) motivation.
  3. Ask your teams what the next (or current) goal should be.
    If you and your team are used to traditional management then they probably have become dependent on you. Instead of empowering independence you have probably enabled dependence. Don't be an enabler anymore. Give decision making to your teams and embrace your supporting role. They may just echo your current plans to start. This is an opportunity to challenge your own thinking and ask people to suggest why the current plans are wrong. Find the problems in your own plan and ask your team for better options. Suggest that the current plan is likely to fail and you need their help to come up with one that will succeed. Take the role of facilitator and yield the floor at every opportunity. Your aim here is to get them to own the goals because their objectives are probably more effective than yours.
Welcome to your modern role in supportive management.

Sunday, March 11, 2018

Leading with Radical Candor

I'm coming back to blogging after a few years buried under project work, and I want to explore some lessons learned as a technology leader managing a department growing rapidly and going through significant changes. My department builds educational software products and has grown from a couple employees and a dozen consultants to over 70 employees and 100 contractors/consultants over 3 years.
One of the hardest things to do as a leader (or person) is confronting someone who is struggling that you are responsible for supporting (i.e. someone in the team/organization who "reports to you"). I discovered the radical candor framework a couple years ago when one of my team leaders brought it back from a conference. As a concept, it is fairly simple. In a nutshell, you should care about the individual person enough that you are willing to directly and frankly challenge them for their benefit.
This is much easier said than done. Human tendency is to avoid friction by saying what others want to hear (this is on the opposite spectrum from challenging directly - the left side of the diagram above). Some people may even prefer to treat everyone the same way which probably means treating them as resources instead of people (the bottom of the diagram). To be a truly impactful leader who people want to work with, you need to care personally and challenge directly (the upper right in the diagram).

So practically, how do we do this? Here are a few things I try to do every week to better support my teams as a servant leader.

  1. Tell them what your goals are with them and for them.
    For example, tell them you want to have a good relationship and you want them to be successful. Tell them you care about them and care what they think. That you want them to be better at things than you are. It's important that you actually do want these things for them. If you don't then you probably need to reconsider if leadership is for you.
  2. Be candid and specific with your expectations.
    Do you have a bunch of mind readers working for/with you? If so, then they already know what you expect of them. If not, you need to be really clear repeatedly about what you expect from them in whatever role they are in. (Setting expectations is a bit of an art and probably deserves an entire training series...) Did their last release go badly? Talk to them about it and explain what you think should have gone better. Were they late with a recent delivery or was it poor quality? Don't act like that was good enough, tell them how it should have been better and why that matters. Failing to set expectations high enough and make them clear to people will leave them stagnating and set them up for failure.
  3. Ask how you can support them better.
    Are you proud of yourself and all your accomplishments as a leader? That's human and pretty normal but you have to be careful to not let your ego take over and become the primary in your relationship with the people you are responsible for supporting (the ones who "report to you"). Are you afraid they will tell you that you are not supporting them? Are you afraid that asking how you can support them means that you will lose power over them? If so, it is even more important for you to admit you cannot get your job done without them. Swallow your pride and talk to your team like they are more important than you... because they are.
Welcome to caring personally and challenging directly!

AZ Projects before 2015

This is a historical list of projects I worked on professionally (or just for fun) before 2015. This is mostly interesting to me. Major public projects that I worked on since 2015 are captured in LinkedIn:

Projects before 2015 (most recent at top):
  • Apereo Learning Analytics Processor (Open source learning analytics processor framework (initially for student risk early alert prediction)) 
    - Lead, Architecture, Java/​Spring/​Hibernate/​REST/​Kettle/​Weka Development, Performance, Integration, Open Source
  • Java LTI starter app (Open source IMS LTI 1 and 2 based starter (sample) application written using Java and Spring Boot ) 
    - Lead, Architecture, Java/​Spring/​Boot/​Security/​JPA/​LTI Development, Integration, Open Source
  • Apereo Learning Analytics Initiative (Community initiative to build an open source learning analytics stack) 
    - Founding member, Leadership, Architecture, Community management, Open Source
  • LearninGateway learning system (SaaS social learning platform designed to integrate with institutional LMS and cloud services) 
    - Lead, Architecture, Angular/​PHP/​Slim/​REST Development, Performance, Integration
  • Unicon Sakai Open Source Support and Sustaining engineering (Open Source community development and support subscription program for clients) 
    - Area lead, Java/​Spring/​Hibernate/​JSF/​JSP/​Javascript/​Sakai Development, Client relations, Summits, Docs, Open Source
  • Sakai Project Management Committee (PMC) (Technical leadership for Sakai Open Source Learning System - since 2011) 
    - Product direction & planning, Leadership, Governance, Community management, Sakai development, Open Source
  • Sakai Core Team (Core committer and maintainer for Sakai Open Source Learning System - since 2008) 
    - Architecture, Java/​Spring/​Hibernate/​JSF/​JSP/​Javascript/​Sakai Development, JIRA management, Core review, Code quality, Open Source
  • Sakai Kernel (Core Sakai Services Framework) 
    - Architecture, Java/​Spring/​Hibernate Development, Code review, Code quality, Docs, Open Source
  • Sakai Programmers's Cafe (Training and Docs for Sakai developers - since 2006) 
    - Lead, Training workshops, Wiki/​Docs, Java/​RSF/​JSF/​JSP/​Spring/​Hibernate/​Sakai Development, Demo/​Sample code, Presentations, Open Source
  • APUS Sakai Scaling (Sakai horizontal scaling, cluster caching, and session fail-over) 
    - Lead, Architecture, Java/​Spring/​Hibernate/​REST/​Terracotta/​Sakai Development, Performance, Debugging, Docs, Open Source
  • Cambridge University Press LMS Analysis (CLMS performance and architectural analysis and recommendations) 
    - Architecture, Java/​PHP/​MySQL/​Moodle/​Sakai/​Drupal/​AWS Development, Performance, Debugging, Docs, Support
  • Sakai/Kaltura Video Tool (Integrates Sakai with the Kaltura video platform, 3rd version offers new features and deeper data integration) 
    - Lead, Architecture, Java/​JSP/​Javascript/​Spring/​Hibernate/​REST/​Sakai Development, Performance, Docs, Deploy, Open Source
  • 2014 Apereo Program Committee (Conference program planning) 
    - Technical Track Lead, Proposal Review, Session Scheduling
  • Macmillan HigherEd Learning Systems Integration (Course and results integrations between Macmillan learning systems and Institutional client learning systems) 
    - Architecture, PHP/​Slim/​REST/​SOAP/​LTI/​SSO Development, Angel/​Brainhoney/​Blackboard/​Desire2Learn/​PearsonLearningStudio/​Sakai/​Moodle/​Canvas Integrations, Docs, Performance, Support, Debugging, Deploy, Administration
  • Glasslab Games (2013 Release) (Game-based SaaS learning system designed to integrate with institutional LMS) 
    - Lead, Architecture, Java/​Groovy/​Grails/​Javascript/​Angular/​MySQL/​Mongo/​AWS/​S3/​LTI Development, Performance, Tuning, Support, Docs, Deploy
  • i>clicker Moodle Integrate (Moodle CMS block to integrate with the i>clicker classroom response system) 
    - Lead, Architecture, PHP/​REST/​SOAP/​Javascript/​Moodlerooms/​Moodle Development, Docs, Deploy, Open Source
  • i>clicker Sakai Integrate (Sakai tool to integrate with the i>clicker classroom response system) 
    - Lead, Architecture, Java/​Spring/​Hibernate/​REST/​SOAP/​Javascript/​Sakai Development, Docs, Deploy, Open Source
  • English360 Language Learning System (SaaS Learning System for ESL with pre-built content from multiple publishers) 
    - Lead, Architecture, PHP/​Cake/​Javascript/​REST/​Apache/​AWS/​S3/​CF Development, Performance, Client relations, Docs, Deploy, Administration
  • Unicon Sakai Test Drive (Unicon Sakai Demo system for client adoption) 
    - Java/​PHP/​REST/​Sakai Development, Customization, Docs, Open Source
  • Entity Broker (Flexible entity system for Sakai with RESTful data interactions) 
    - Lead, Architecture, Java/​Spring/​REST/​API/​Kernel/​Sakai Development, Docs, Open Source
  • Glasslab Games (Alpha) (Game-based SaaS learning system - initial pilot version) 
    - Lead, Architecture, Javascript/​Node/​EJS/​Express/​Mongo/​AWS/​S3/​LTI Development, Docs, Deploy
  • USU Sakai Tools enhancements (Sakai gradebook 2/assignments 2 features and fixes for USU) 
    - Lead, Architecture, UI, Java/​GWT/​RSF/​Javascript/​Spring/​Hibernate/​Sakai Development, Docs, Open Source
  • Brainhoney LMS Architecture Analysis (Brainhoney LMS standards compliance and architecture analysis) 
    - Lead, Architecture, LMS/​SCORM/​IMS/​LTI/​CC/​CP/​QTI Analysis, Code review, Docs
  • Docuseek 2 Architecture Advising (Advice on integrating Docuseek 2 with Media and Learning Systems) 
    - Lead, Architecture, SSO/​OAuth/​LTI/​REST Development, Security
  • APUS Sakai Support (Sakai developer/admin training and 2.9 upgrade support) 
    - Lead, Java/​Spring/​REST/​Sakai Development, Code review, Docs, Support, Open Source
  • Sakai/Kaltura Media Gallery 2 (Sakai tool to integrate with Kaltura video platform, 2nd version adds features and improves performance) 
    - Lead, Architecture, Java/​JSP/​Javascript/​Spring/​Hibernate/​REST/​Sakai Development, Docs, Deploy, Open Source
  • Unicon Sakai Cooperative Support/Development (Community source development and support subscription program for clients - until 2013) 
    - Tech lead, Java/​Spring/​Hibernate/​JSF/​JSP/​Javascript/​Sakai Development, Client relations, Summits, Docs, Open Source
  • 2013 Apereo Program Committee (Conference program planning) 
    - Technical Track Lead, Proposal Review, Session Scheduling
  • Kryterion Blackboard/Moodle proctoring integration (Integrations between Kryterion proctoring system and Blackboard LMS/Moodle CMS) 
    - Lead, Architecture, PHP/​Java/​JSP/​Moodle/​Blackboard Development, Code review, Docs
  • Kuali OLE Architecture Analysis (Architectural and tech stack review, recommendations, and fixes) 
    - Lead, Java/​JSP/​SOLR/​JCR/​Spring Development, Performance, Code review, Code analysis, Advice
  • Amplify Learning System (Custom Learning and Scheduling System for Mobile/Tablet) 
    - Java/​Grails/​Spring Development, Advice
  • Nucleus Academic Sakai (Customized Sakai with Scormcloud integration) 
    - Java/​Spring/​SCORM/​Sakai Development, Advice
  • Kaltura Sakai Demo server (Customized Sakai server with Kaltura integration for client Demos) 
    - Lead, UI, Javascript/​Shell/​Sakai Development, Docs, Admin, Deploy
  • USU Samigo Calculated Question feature (Added Calculated question type to the Sakai Samigo Assessment Tool) 
    - Lead, Architecture, UI, Java/​JSF/​JSP/​Javascript/​Spring/​Hibernate/​QTI/​XML/​Sakai Development, Docs, Deploy, Open Source
  • USU Samigo Extended Matching feature (Extended matching question type in Sakai Samigo Assessment Tool to allow one-to-many and distractors) 
    - Lead, Architecture, UI, Java/​JSF/​JSP/​Javascript/​Spring/​Hibernate/​QTI/​XML/​Sakai Development, Docs, Deploy, Open Source
  • UC Berkeley Evaluation System (Sakai Evaluation Tool features and community fixes for UC Berkeley)
    - Lead, Architecture, UI, Java/​Spring/​Hibernate/​RSF/​Javascript/​Sakai Development, Docs, Support, Open Source
  • Duke Gradebook SIS link (Sakai Gradebook customizations to send grades to Duke SIS) 
    - Lead, Architecture, UI, Java/​Spring/​JSF/​REST/​XML/​Javascript/​Sakai Development, Docs, Open Source
  • Wake Forest Sakai Upgrade (Sakai 2.8 upgrade and customizations - TurnItIn, AS2, GB2, etc.) 
    - Java/​Spring/​Maven/​SVN/​Sakai Debugging, Support, Docs, Deploy
  • University of the Arts Sakai SIS integration (Custom Sakai UARTS Colleague SIS course enrollments data loader) 
    - Lead, Architecture, Java/​Spring/​Hibernate/​JSF/​JSP/​Javascript/​Sakai Development, Debugging, Docs, Deploy
  • University of the Arts Sakai Upgrade (Sakai 2.7 upgrade and custom tool installs) 
    - Lead, Java/​Spring/​Maven/​SVN/​Sakai Debugging, Support, Deploy
  • Cambridge University Press LMS Debugging (Sakai/Moodle hybrid system debugging and analysis) 
    - Java/​PHP/​Apache/​Moodle/​Sakai Debugging, Analysis, Support
  • Pratt Institute Moodle Tuning (Moodle CMS and server performance tuning) 
    - Lead, PHP/​Apache/​Moodle Tuning, Performance, Support
  • Connecticut College Moodle Tuning (Moodle CMS Performance and Server Tuning) 
    - Lead, PHP/​Apache/​Moodle Tuning, Performance, Support
  • Pearson International MyLab (Sakai Learning System customized for Language Teaching) 
    - Architecture, Java/​Spring/​Hibernate/​JSP/​Javascript/​Sakai Development, Requirements, Support
  • Ellisdon Liferay (Liferay installation and customization for Ellisdon) 
    - Java/​Portlet/​Liferay Development, Support, Config, Deploy
  • UNC Sakai DB migration (Sakai database migration from MySQL to Oracle) 
    - Java/​Sakai/​MySQL/​Oracle Development, DBA, Support, Performance, Deploy
  • Wiley Sakai server performance tuning (Sakai server cluster debugging, performance analysis, and improvements) 
    - Debugging, Java/​Sakai Development, Support, Performance, Deploy
  • Duke Sakai E-reserves (Sakai Tool to provide access to Duke Library E-reserves) 
    - Lead, Architecture, Java/​Spring/​JSP/​Javascript/​Sakai Development, Docs, Open Source
  • Duke Sakai 2.7 adoption (Customizations and setup of Sakai 2.7 for Duke University) 
    - Lead, Java/​Spring/​Hibernate/​JSP/​Javascript/​Sakai Development, Deploy, Docs, Open Source
  • Sakai Evaluation System (Tool for program and course assessment and evaluations for Sakai) 
    - Lead, Architecture, Java/​Spring/​AspectJ/​Hibernate/​RSF/​HTML/​Javascript Development, Performance, Docs, Open Source
  • Sakai/Kaltura Media Gallery (Integration between Kaltura video platform and Sakai to allow embedded hosted media in the LMS) 
    - Lead, Architecture, Java/​JSP/​Javascript/​Spring/​Hibernate/​REST/​Sakai Development, Docs, Deploy, Open Source
  • OAE Kaltura Integration (Integrates OAE with the Kaltura video platform to allow embedded media) 
    - Lead, Architecture, Java/​OSGi/​REST/​OAE Development, Docs, Open Source
  • Opencast Matterhorn (Scheduling, capture, encoding, and delivery of educational media) 
    - Architecture, Java/​OSGi/​REST/​JAXRS/​JAXWS Development, Code quality, Docs, Maven Nexus, Open Source
  • Steeple Media Portal (Media portal for universities, JISC funded project) 
    - Lead, Architecture, Java/​Grails/​Groovy/​Spring/​JPA/​SOLR Development, Code quality, Docs, Open Source
  • Unicon iTunesU Sakai integration for NYU (Integration between Sakai CLE and iTunesU podcasting service ) 
    - Java/​Spring/​Hibernate/​JSF/​JSP/​Javascript/​Sakai Development, iTunesU XML APIs, Docs, Deploy, Open Source
  • DSpace 2.0 (Refactoring of the DSpace repository system) 
    - Lead, Architecture, Java/​Spring/​Guice/​JCR/​DSpace Development, Code quality, Docs, Open Source
  • Moodle Data Extract for McGraw-Hill (Moodle CMS Block which provides REST APIs to extract data about student learning activities ) 
    - Lead, Architecture, PHP/​REST/​Moodle Development, Docs, Deploy
  • Sakai Maintenance Team (Elected lead for technical team from Q1-Q2 2010, charged with maintaining Sakai open source project) 
    - Lead, Java/​Spring/​Hibernate/​JSF/​JSP/​Javascript/​Sakai Development, JIRA management, Code quality, Docs, Open Source
  • Reflection Utilities Package (Reflection utilities for Java 1.5+) 
    - Lead, Architecture, Java/​Library Development, Docs, Open Source
  • Google Summer of Code Mentor - DSpace REST (REST API and IMPL for the DSpace repository system) 
    - Mentor, Architecture, Java/​REST/​DSpace Development, Code quality, Docs, Open Source
  • Darwin Correspondence Project (Charles Darwin's correspondence online and searchable) 
    - PHP/​Perl/​Shell Development, Code quality, Docs, Deploy
  • Nakamura (later OAE) Kernel (Core Sakai OAE Services Framework) 
    - Java/​OSGi/​JCR/​JAXRS/​Sling/​Javascript/​Script Development, Code review, Code quality, Docs, Open Source
  • CamTools - Sakai @ Cambridge (Integration and extensive customization of open source Sakai learning system) 
    - Java/​Sakai/​Spring/​RSF/​JSF/​JSP Development, Customization, Providers, Cambridge specific tools, Deploy, Code quality, Open Source
  • Sakai UX Project (Improving the Sakai 2 User Experience with a new frontend) 
    - Java/​Spring/​REST Development, REST Data feeds for Sakai 2 via EB, Open Source
  • Sakai AppBuilder Plugin (Eclipse plugin for Sakai Rapid Application Development) 
    - Lead, Architecture, Java/​Eclipse/​OSGi Development, Docs, Open Source
  • RSF (Reasonable Server Faces) (Java Web Framework) 
    - Java/​Spring Development, Code quality, Distributions/​Maven, Training, Community management, Wiki/​Docs, Open Source
  • Generic Dao Package (Package for developers to work with persistent objects without writing DAOs) 
    - Lead, Architecture, Java/​Spring/​Hibernate/​Library Development, Docs, Open Source
  • Hierarchy Service (Hierarchy entity structures for Sakai) 
    - Lead, Architecture, Java/​Spring/​Hibernate Development, Docs, Open Source
  • Sakai JCR Integration (JCR load testing and integration for Sakai) 
    - Java/​JCR/​Jackrabbit/​Sakai Development, Performance, Code quality, Docs, Open Source
  • Conference Scheduler (Online conference scheduling for Sakai, supports Adobe Breeze) 
    - Lead, Architecture, UI, Java/​JSP Development, Docs, Open Source
  • Recent Activity App (What's New (activity feed) in a Sakai course/site) 
    - Lead, Architecture, UI, Java/​JSF Development, Docs, Open Source
  • Sakai Foundation Site tools (Web tools for conferences, etc. related to the Sakai Foundation) 
    - Lead, Architecture, UI, PHP/​Javascript Development, Docs
  • Sakai Migration (Migration and Archiving in Sakai) 
    - Java Development, Docs
  • Conference Committee and Program Committee (Planning for the Sakai Atlanta conference 2006) 
    - Technical Track Lead, Proposal Review, Scheduling
  • Virginia Tech Online Course Support Helpdesk (now OLCS) (Web based support and ticket tracking system) 
    - Lead, UI, Architecture, PHP/​XSLT/​XML/​Javascript Development, Docs, Support, Deploy
  • Sakai Skinning Contest (Contest and working group to make a new skin for Sakai 2.2) 
    - Lead, Architecture, PHP/​Javascript Development, Organizing and Scheduling, Community relations, Open Source
  • Sakai Requirements (Requirements tracking and polling web app) 
    - Lead, Architecture, UI, PHP/​Javascript Development, Requirements gathering, Community relations
  • Vancouver Conference Committee and Program Committee (Planning for the Sakai Vancouver conference and community source week 2006) 
    - Technical Track Lead, Approval and Scheduling, Member
  • Scholar (Sakai @ Virginia Tech) (Integration, extension, and customization of Sakai Open Source Learning System) 
    - Lead, Java/​Spring/​JSP/​JSF/​Velocity/​Javascript Development, Customization, Administration, Deploy, Open Source
  • Virginia Tech Evaluation System (VT Tool for department, instructor, and course evaluations) 
    - Lead, Architecture, UI, Java/​Coldfusion/​Javascript Development, Administration, Deploy
  • Virginia Tech Blackboard Building Blocks (Blackboard learning system custom Building Blocks for Gradebook upload, SIS grades posting, and campus integrations) 
    - Lead, UI, Java/​JSP/​Javascript/​BuildingBlock/​Blackboard Development, Administration, Docs, Deploy
  • Faculty Development Institute Tracking System (VT Tool for faculty training courses and equipment management) 
    - Lead, Architecture, UI, PHP/​XSLT/​XML/​Javascript Development, Administration, Deploy
  • ePortfolio (Open Source Portfolio @ Virginia Tech) (Integration and customization of open source student portfolio web app) 
    - Java/​Javascript/​API Development, Customization, Administration, Deploy, Open Source
  • Software Skills Gateway (VT Auth integration and tracking with commercial gateway) 
    - Lead, Java/​JSF Development, Architecture, Docs
  • Atlassian Confluence/JIRA @ Virginia Tech (Management and administration of Atlassian suite) 
    - Lead, Administration, Deploy
  • Blackboard Learn @ Virginia Tech (Administration, integration, and configuration of CourseInfo / Blackboard learning system) 
    - Lead, Java/​JSP/​Perl/​BuildingBlock/​CourseInfo/​Snapshot/​Blackboard Development, Administration, Deploy

AZ Presentations Delivered before 2015

This is just a list of Presentations Delivered before 2015. Probably only interesting to me. More recent presentations of note are tracked in:

  • Elsevier Education Town Hall (St Louis, Dec 2014)
  • Elsevier Adaptive Learning Brown Bag (Amsterdam, Dec 2014)
  • Elsevier Architecture Summit - Education (Philadelphia, Oct 2014)
  • Learning Analytics Initiative (LAI) showcase corner (Open Apereo 2014, June 2014)
  • Learning Analytics Technologies (Open Apereo 2014, June 2014)
  • What's new for Kaltura Media and Sakai (Open Apereo 2014, June 2014)
  • Sakai Core Team Update (Open Apereo 2014, June 2014)
  • Lightning Talks: Developers (Organizer/MC) (Open Apereo 2014, June 2014)
  • Learning Analytics Initiative Discussion (BOF) (Open Apereo 2014, June 2014)
  • Updates from the Apereo Learning Analytics (LAI) Community (Open Apereo 2014, June 2014)
  • Sakai scaling and failover via cluster caching (Open Apereo 2014, June 2014)
  • Sakai Bootcamp - Half Day (Developer training and exercises) (Open Apereo 2014, June 2014)
  • Sakai 10 scaling (session failover, distributed caching) (Apereo Camp 2014, Jan 2014)
  • Unicon Dev Forum - All Things Open summary (Online, Nov 2013)
  • Lightning Presentations: Developing Day 2 (Moderator) (Open Apereo, June 2013)
  • Sakai CLE Team Update (Open Apereo, June 2013)
  • What's New in Kaltura CLE (Open Apereo, June 2013)
  • Upgrading Sakai CLE from 2.6 to 2.9 without going insane (Open Apereo, June 2013)
  • Lightning Presentations: Developing Day 1 (Moderator) (Open Apereo, June 2013)
  • Third Party Integration Best Practices for Sakai CLE (Open Apereo, June 2013)
  • Let the student activity streams flow. Sakai CLE and Tincan API (Open Apereo, June 2013)
  • title (Open Apereo, June 2013)
  • title (Open Apereo, June 2013)
  • Sakai Implementation Bootcamp - Half Day (Developer training and exercises) (Apereo Conference, June 2013)
  • Sakai CLE Release Status and Process (Sakai Mexico, April 2013)
  • Sakai Tech Stack (Jasig Unconference, Jan 2013)
  • Sakai and XML Security (Jasig Unconference, Jan 2013)
  • Sakai Workshop for Students - 2 days (Amsterdam, NL, Jan 2013)
  • Sakai CLE Technical Coordination Community update (as TCC chair) (Jasig Sakai Conference, June 2012)
  • Kaltura Video in Sakai CLE/OAE (Jasig Sakai Conference, June 2012)
  • Online Evaluations at UC Berkeley (Jasig Sakai Conference, June 2012)
  • Lightning Session: Sakai Learning System (Jasig Sakai Conference, June 2012)
  • Sakai CLE Team Status Update (Jasig Sakai Conference, June 2012)
  • Sakai Workshop - Full Day (Developer training and exercises) (Jasig Sakai Conference, June 2012)
  • Unicon Dev Forum - Maven Tricks (Online, Jan 2012)
  • Sakai QA Intro (EuroSakai Amsterdam conference, Sept 2011)
  • Community Participation Presentation (EuroSakai Amsterdam conference, Sept 2011)
  • Kaltura OAE Integration (EuroSakai Amsterdam conference, Sept 2011)
  • TCC meeting (EuroSakai Amsterdam conference, Sept 2011)
  • Kaltura Sakai Media Gallery Demo (LA Sakai Conference, June 2011)
  • Kernel, Maint, Release Management, and Security Teams update (LA Sakai Conference, June 2011)
  • Kaltura Sakai Media Gallery Presentation (LA Sakai Conference, June 2011)
  • Meet the Sakai CLE Technical Coordination Committee (LA Sakai Conference, June 2011)
  • External integrations with Sakai CLE (REST) (LA Sakai Conference, June 2011)
  • Sakai Workshop - Full Day (Developer training and exercises) (Sakai LA Conference, June 2011)
  • Technical Coordination Committee Formation (Sakai Denver Conference, June 2010)
  • Sakai Kaltura Integration Tech Demo (Sakai Denver Conference, June 2010)
  • Sakai Kaltura Integration Presentation (Sakai Denver Conference, June 2010)
  • Sakai Maintenance Team Update (Sakai Denver Conference, June 2010)
  • Sakai Workshop - Full Day (Developer training and exercises) (Sakai Denver Conference, June 2010)
  • Enhancing Your LMS & EDU Programs with Online Video (Webinar, May 2010)
  • What is Sakai QA (Valencia EuroSakai Conference, Mar 2010)
  • 10 ways to make a good Sakai release (Valencia EuroSakai Conference, Mar 2010)
  • Sakai Best practices (Valencia EuroSakai Conference, Mar 2010)
  • Programmers Cafe Developer workshop (1-day) (Valencia EuroSakai Conference, Mar 2010)
  • Unicon REST/Sling developer presentation (Unicon Headquarters, AZ, US, June 2009)
  • DSpace 2 Service Manager Framework (Open Respositories Conference, May 2009)
  • OSGi lightning talk (Open Respositories Conference, May 2009)
  • Programmers Cafe Developer workshop (1-day) (Stockholm EuroSakai Conference, May 2009)
  • Sakai Developer Training (2-days) (UvA, Amsterdam, April 2009)
  • You got your Java in my Python! (Intro to Jython) (JISC dev8d London, Feb 2009)
  • Sakai REST APIs (JISC dev8d London, Feb 2009)
  • Service Management with Spring and Guice (towards DSpace 2) (JISC dev8d London, Feb 2009)
  • Programmers Cafe Developer workshop (1-day) (Sakai Paris Conference, June 2008)
  • Sakai Marist Developer Training workshop (1-week) (Marist College, NY, US, June 2008)
  • Intro to RSF (Intro to RSF framework) (The Spring Experience 2007, Dec 13)
  • Sakai JCR integration and load testing results (Sakai Newport Beach, Dec 6)
  • Writing high quality code for Sakai (Sakai Newport Beach, Dec 5)
  • Introduction to the Sakai EntityBroker system (Sakai Newport Beach, Dec 5)
  • Sakai Developer workshop and Ucamp (Developer training and exercises) (Sakai Newport Beach, Dec 3)
  • Sakai training for Tata IS (Full week training in Sakai development) (TIS, Mumbai, India, August, 2007)
  • Intro to RSF (JASIG, Denver, June 26)
  • Programmers Cafe half-day Training (JASIG, Denver, June 24)
  • Building Rich but Accessible Sakai Tools (Sakai Amsterdam Conference, June 14)
  • Intro to Evaluation System (Sakai Amsterdam Conference, June 13)
  • Intro to Confluence and JIRA (Sakai Amsterdam, June 13)
  • Cafe/U-Camp Combined Session (Sakai Amsterdam, June 11)
  • Programmers Cafe Training (Sakai Amsterdam, June 11)
  • Programmers Cafe Training (South Africa, April 2007)
  • Programmers Cafe Bootcamp (Sakai Atlanta, Dec 2006)
  • Sakai CRIM Cafe Workshop in Montreal, Canada (4-day) (Sakai Cafe, Dec 2006)
  • Formative and Summative Online Evaluations (2-part/4-hour workshop) (VT FDI, November 2006)
  • Java Persistence and Hibernate (Virginia Tech Java Users Group, October 2006)
  • Sakai Tetra ELF Cafe Workshop in Oxford, England (3-day) (Sakai Tetra Cafe, Sept 2006)
  • JVM tuning (Virginia Tech Java Users Group, July 2006)
  • Security and Auth/Auth in PHP (Virginia Tech Faculty Development Initiative (VT FDI), July 2006)
  • User Interface Panel (Sakai Vancouver, June 2006)
  • Sakai Providers BOF (Sakai Vancouver, June 2006)
  • Sakai Requirements (Sakai Vancouver, June 2006)
  • Programmers Cafe Bootcamp: Data persistence using Hibernate (Sakai Vancouver, May 2006)
  • DCSS evaluation presentation (VT DCSS, April 2006)
  • Intro to VT Evaluation (Virginia Tech Faculty Development Initiative (VT FDI), multiple 2006)
  • Sakai Foundation Requirements Process (Sakai Austin, Dec 2005)
  • Taking the Sakai Style Guide to the next level (Sakai Austin, Dec 2005)
  • We all don't have to agree - Flexible UI design (Sakai Austin, Dec 2005)

AZ Training & Conferences before 2015

This is just a list of Training & Conferences I have Attended before 2015. Nothing particularly interesting for other people but it is interesting to me. More recent stuff is in linkedin:

  • IMS Quarterly Meeting & Summit (Orlando, FL, US, Nov 2014)
  • Educause Annual Conference (Orlando, FL, US, Oct 2014)
  • Open Apereo Conference (Miami, FL, US, June 2014)
  • IMS Learning Impact Leadership Institute (New Orleans, LA, US, May 2014)
  • Apereo Camp 2014 (Phoenix, AZ, US, Jan 2014)
  • Unicon Bi-Weekly Developer Forums (Online, 14 sessions, Jan-Dec 2013)
  • All Things Open conference (Raleigh, NC, US, Oct 2013)
  • Open Apereo Conference (San Diego, CA, US, June 2013)
  • Sakai Mexico 2013 conference (Puebla, MX, Apr 2013)
  • Jasig Unconference (Phoenix, AZ, US, Jan 2013)
  • Sakai Workshop for Students (Amsterdam, NL, Jan 2013)
  • Unicon Monthly Java Developer Forums (Online, 10 sessions, Jan-Dec 2012)
  • Jasig Sakai Conference (Atlanta, GA, US, June 2012)
  • Kaltura Technical Training - 3 days (Online/New York, NY, Feb 2012)
  • Unicon Monthly Java Developer Forums (Online, 11 sessions, Jan-Dec 2011)
  • EuroSakai Conference (Amsterdam, NL, Sept 2011)
  • LA Sakai Conference (Los Angeles, CA, US, June 2011)
  • Unicon Java Developer Forums (Online, 9 sessions, Mar-Dec 2010)
  • Liferay Training - Introductory (Online, Nov 2010)
  • CAS Training course (Phoenix, AZ, US, Oct 2010)
  • English360 Developer Summit - 4 days (Austin, TX, US, Sept 2010)
  • Shibboleth Training (Online, Aug 2010)
  • Denver Sakai Conference (Denver, CO, US, June 2010)
  • ThoughtWorks and Amazon Web Services Training course (London, UK, Mar 2010)
  • Valencia EuroSakai Conference (Valencia, Spain, Mar 2010)
  • Stack Overflow DevDays 2009 (Cambridge, UK, Oct 2009)
  • Opencast All Hands Meeting 2009 (Zurich, Switzerland, Sept 2009)
  • Open Repositories 2009 (Atlanta, GA, US, May 2009)
  • Stockholm EuroSakai Conference (Stockholm, Sweden, May 2009)
  • JISC Developer Happiness Days (dev8d) London (London, UK, Feb 2009)
  • DSpace 2 developers meeting (Boston, MA, US, Oct 2008)
  • Google Developer Day 2008 (London, UK, Sept 2008)
  • Sakai Authoring Conference (Dearborn, MI, US, Sept 2008)
  • Sakai Paris Conference (Paris, FR, July 2008)
  • DSpace User Group and Committers meeting (HP Labs, Bristol, UK, June 2008)
  • Open Repositories 2008 (Southampton, UK, April 2008)
  • Spring Experience 2007 (Hollywood, FL, US, Dec 2007)
  • Sakai Newport Beach Conference (Newport Beach, CA, US, Dec 2007)
  • Sakai Amsterdam Conference (Amsterdam, NL, June 2007)
  • Sakai Atlanta Conference (Atlanta, GA, Dec 2006)
  • CS 5614 Database Management Systems Course (Virginia Tech, US, Fall 2006 Term, Grade: A)
  • Javascript Techniques (Virginia Tech, VA, US, November 2006)
  • Administering Apache Tomcat (Virginia Tech, VA, US, June 2006)
  • Microsoft Developer Security Workshop (Virginia Tech, VA, US, May 2006)
  • Sakai Vancouver Conference, (Vancouver, CA, May 2006)
  • Sakai Developer Training (Boston, MA, US, April 2006)
  • Sakai Austin Conference (Austin, TX, US, Dec 2005)
  • SANS (Virginia Tech, VA, US, May 2005)
  • Sakai Baltimore Conference (Baltimore, MD, US, June 2005)
  • Sakai New Orleans Conference (New Orleans, LA, US, Dec 2004)
  • Sakai Denver Conference (Denver, CO, US, June 2004)

A brief history of (my recent) time

Aaron Zeckoski is a technology leader recognized for his expertise in educational technologies and learning systems. He is an accomplished change agent, specializing in organizational transformation and team building. His experience includes leading distributed teams (US and international) and working in matrix and community organizations. In his time as a systems architect and engineer he demonstrated expertise in all aspects of web-based product and platform development. He is an open source advocate, a member of open source developer communities, and a major contributor to open source projects such as Sakai LMS, DSpace repository, Opencast Matterhorn, and Apereo Learning Analytics Initiative (LAI).

Aaron is currently Elsevier Nursing & Healthcare Education’s Head of Technology and VP, Software Engineering (since early 2015). He was previously the Lead Architect for Education at Elsevier (since late 2014). He built the education technology department from the ground up; recruiting over 60 technologists in two years. The department specializes in rapid discovery, collaborative innovation, and world-class design. Our delivery highlights include a next generation education platform, NHE’s first machine learning and big data framework, and Sherpath (personalized healthcare learning product).

Before 2015, Aaron mostly worked in higher education technology consulting and innovation (list of projects, presentations, conferences, and training for those curious).
He was most recently a Software Architect and Sales Engineer at UniconHe also worked as an independent engineering and training consultant and spent time working with and as part of education technology startups.
He was previously a Senior Research Engineer in CARET (Centre for Applied Research in Educational Technologies) at Cambridge University for over three years.
Before that he was the Manager of Application Development and Lead Developer in the Learning Technologies unit at Virginia Tech for five years.
Beginning in 1993, he spent a handful (or so) years at various IT and software engineering related jobs (mostly in the defense industry) including a short tour as an Oracle DBA and a couple years as a network engineer.

More details in linkedin:

Thursday, June 19, 2014

Apereo Learning Analytics Processor begins

The Apereo Learning Analytics Initiative is beginning work on our first open source analytics pipeline processor this week. Learn more about Learning Analytics Processor project on our wiki.
Our goal is to build an Open source Java based Learning Analytics Processor (LAP) which initially automates the Marist OAAI Student Early Alerts and Risk Assessment model. We also hope to establish a framework for automation and execution of learning analytics models (which is possible for others to extend with additional model pipelines). Finally we plan to establish input and output specifications for data used for learning analytics model processing.
The Learning Analytics Processor (LAP) is meant to flexible enough to be extended to support many possible models and pipelines for analytics processing. The first one will be Early Alert but we want to support future additions and even multiple versions of the Early Alert model.

Wednesday, September 15, 2010

Sending text like a pro

These are great tools for sending chunks of text around to others. If you are a developer and used to using IM then tools like these are invaluable since they make your content readable or protect it from prying eyes.
  1. Pastebin (
    Full featured, well supported, and fast. Pastebin has been around for awhile and has some very nifty options like automatic support for subdomains (e.g., format highlight support, expiration, and even limited privacy settings.
  2. Privnote (
    This is great for sending someone a password, id number, or anything that you do not want to send over the open wire or via email. Once the user clicks the link and views the content it is deleted.
    The formatting of the text is lost here though so it is not good for sending formatted text.
  3. Private Paste (
    An excellent tool for sending along large blocks of formatted text that you do not want others to see. This supports expiration, format highlights and line numbering, and security key auth.

Wednesday, March 03, 2010

EuroSakai: Sakai QA and How to get Involved

Alan Berg, Anthony Whyte, Jean-François Lévêque, and I finished our final two presentations at the EuroSakai Valencia 2010 conference today. The overall theme of these presentations was "Get Involved". The presentations are What is Sakai QA and 10 ways to make a good Sakai release (my apologies to the attendees but 8:30am is just too early for a session). I hope that our main point got across and I hope we provided helpful information for those brave enough to attend.
A few highlights for those who could not make it:
  • Alan did another Mexican wave
  • I (and others) was still half asleep during the morning session
  • Jean-François made a lot of food related jokes
  • lolcatz were involved
Our major theme was "Blood and Treasure" (stolen from Anthony Whyte). If you have assets (people) then you have blood to contribute. If you are looking for ways to get involved please consider these opportunities. If you answer yes to any of these questions, or even if you don't, you may want to sign up to participate in one of these teams.
  • Sakai Maintenance Team - are you a java developer? an SVN wizard? want to learn more about Sakai codebase? do you love issue management and/or JIRA? do you like to write unit tests?
  • Release Management - are you a master of subversion? do you have a passion for merging code? are you running a 2.*.x branch in production?
  • Quality Assurance - can you use a web browser? do you like trying every little thing in software? are you tired of hearing complaints from users after you upgrade?
The other primary and very critical way to get involved is with treasure. If you have some money you can spend on open source and/or Sakai then you have treasure. Consider putting this money into foundation dues or buying into commercial support. Check out the end of the What is Sakai QA presentation for a few options to get involved when you have money but no people (or if you have money AND people).
One final point from our talk. If you are involved, thank you. If you see others who are involved, please thank them.