Sunday, April 01, 2018
Sunday, March 25, 2018
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.The saying goes, "What got you here, won't get you there". This is especially true for leaders in technical fields like software engineering. It means you probably have the hard skills (coding, automation, design, coordination, etc.) and logical problem solving that helped you be successful as an individual contributor. Now you are in leadership and probably finding those skills are not helping you solve the same problems. Here are a few lessons I learned last week of the softer skilled sort.
1) Unmet expectations are the root cause of upset people
If you are dealing with friction with someone at work (or helping 2 people in your team deal with their friction) then your best option is to look for the unmet expectation. Maybe they expected to be treated with more respect, or that you would be on time for the meeting, or that something would be done more quickly. Try to determine what the unmet expectation was and help address it and you will remove the source of the problem. This alone won't solve everything but it will help resolve the issue.
2) If you impact someone else, then at least inform them, and ideally engage them
This is easiest to think about using some examples. Are you waiting on something from another person in order to get your job done and it is late but you haven't heard anything? Do you depend on a process controlled by someone else to get your job done? Have you been pulled into a meeting beyond your control without knowing why? Do you get assigned to projects without having a say? All of these are examples of being impacted by the decisions of someone else. This is pretty common and probably pretty annoying for you (or whomever is on the receiving end). If you are the one causing the impact to someone else, try to always keep them informed. If there is flexibility, then engage them in the decision making about it (even if you only ask for their feedback). You would want this if you were in their place so treat others like you want to be treated.
3) Good communication is the key to everything
I've come to realize that most relationship and work challenges are caused by poor communication. Did servers go down during a recent release because the database configuration was mismatched between prod and dev? Bad communication. Did a recent feature get built differently than customers wanted? Bad communication. Are users angry because a bug was released that the testers knew about? Bad communication. Was someone surprised by bad news that they should have been aware of? I think you get it... The simplest step to improving communication is to simply take the extra time to do it. It's not a magic bullet, but most poor communication happens because we didn't bother taking the extra time to communicate for understanding. Try asking people to echo things back when you talk to them this week and do them the favor of doing the same. You won't regret spending some extra time on communication but you will regret not doing it when things go wrong.
Also find this on Medium and LinkedIn
Sunday, March 18, 2018
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:
- 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.
- 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.
- 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
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.
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.
- 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.
- 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.
- 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!
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: https://www.linkedin.com/in/azeckoski/
This is just a list of Presentations Delivered before 2015. Probably only interesting to me. More recent presentations of note are tracked in: https://www.linkedin.com/in/azeckoski/
- 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)
- UVA.nl 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)
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: https://www.linkedin.com/in/azeckoski/
- 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)
- UVA.nl 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)
- 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)
Thursday, June 19, 2014
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.
We are developing in GitHub: https://github.com/Apereo-Learning-Analytics-Initiative/LearningAnalyticsProcess
Thursday, May 29, 2014
I and other members of the Apereo Learning Analytics Initiative (LAI) will be presenting at the Open Apereo 2014 conference in Miami the first week of June.