Professional Year in Review (2017)

DPRA, Inc.

Team leader

  • Was promoted to team leader (mid-January); this involved aiding in release planning, assignment of work, knowledge acquisition from subject matter experts, sharing information with the development team, improving inter-department communication through shared documentation, and establishing/maintaining best practices for the development team
  • Supervised four developers; activities involved holding monthly 1:1s, completing yearly performance reviews, handling administrative work (e.g., time sheet approval), and developing yearly training plans
  • Instituted (new to the company) monthly 1:1 meetings with developers I supervised; the focus was on fostering frequent communication, providing timely feedback, and assisting in their career growth through a yearly professional development plan
  • Served on the Communication Committee, whose purpose was to provide recommendations to the CEO on improving communication among staff; some areas addressed were eliminating “grape vine” gossip, breaking down barriers to discussion, determining who would be responsible for distributing information and to whom, and finding ways to create an environment where people are empowered to ask questions
  • Attended staff meetings to understand the company’s current project statuses; this allowed me to keep my team informed about the health of the company on a regular basis
  • Created a list of Scrum team leader expectations
  • Coordinated with the CTO and HR to pilot a 9/80 schedule for one of my direct reports
  • Encouraged a direct report to champion a “lunch and learn” program for our project teams; provided support and guidance as needed
  • Created an interview template with questions designed to elicit responses about previous behavior (i.e., inquiring more about culture, team fit, and communication styles instead of technical ability)
  • Established and facilitated a monthly company-wide peer review trend discussion
  • Enhanced the developer onboarding checklist so that more granular activities are captured; this clarified expectations, and streamlined the process making the onboarding process more structured and less stressful for all involved
  • Clarified and expanded the list of expectations for the Team Leader role
  • Interviewed software developer candidates; activities included gathering behavioral information about the candidates and sharing it with management, answering questions from the candidates, and coordinating on-site visits

JFAST

  • Implemented multiple features and fixed several bugs for Releases 8, 9, and 10 of JFAST, a system that allows military planners to perform transportation and logistics feasibility analyses for selecting the best course of action
  • Assimilated knowledge of military logistics, functionality of the legacy version of JFAST, and the architecture of the existing software solution
  • Acted primarily as a full-stack developer for one of several cross-functional teams; this work involved designing the user interface (XAML), developing core logic, unit testing, and prototyping database requirements (i.e., table design, stored procedures)
  • Took ownership of the contract-required process of running a static code analysis tool (MicroFocus (formerly HPE) Fortify); created documentation for using Fortify so that any developer could use it, reviewed findings, filed and tracked bugs based on those findings to improve code security and quality; responded quickly to customer inquiries about findings
  • Communicated frequently with the QC team to improve the quality of acceptance criteria and minimize the introduction of new bugs
  • Broke down large features and product backlog items on my team into manageable and estimable tasks
  • Encouraged and participated in team code reviews
  • Paired with junior developers to help them learn the development tools and processes
  • Participated in a dialogue about sprint length and how the development process could be made more effective
  • Led Scrum-related meetings (standups, retrospectives, Scrum of Scrums) as well as weekly in-depth technical and functional discussions with our customers
  • Helped with branch-merging and deploying to test nodes for the team; wrote a LINQPad script to automate parts of this process
  • Developed a LINQPad script to query code review states; this helped measure how frequently reviews were happening, and how many review requests were being fulfilled
  • Provided guidance on aspects to consider when creating a code review process for the company (see this post)
  • Experimented with replacing the daily Scrum standup with a “daily huddle” combined with 1:1 communication with team members throughout the day (management by walking around)
  • Presented an architectural review of how a module of the JFAST app works from top (UI) to bottom (database); this was brought about because the developers of this module no longer work for the company, so the architectural knowledge was not readily available
  • Improved the capabilities of the UI validation component so that it could express more context about the errors, ultimately allowing the user to query by error type
  • Provided a developer training session on the weak listener pattern for MVVM Light messaging
  • Represented our team during end-of-sprint functional reviews; such reviews involved most people on the project ranging from other developers, to product owners, to the VP of Solutions and CEO
  • Fostered an environment for development practices such as code reviews, pair/mob programming, unit testing, and frequent bug review with the QC team
  • Developed checklists for the various meetings and recurring tasks that occur during development sprints, noting who is responsible and how the efforts are documented
  • Pointed out a communication breakdown in project direction, which resulted in a frequently well-attended monthly Q&A meeting from the project manager
  • Took responsibility for helping our project teams adhere to the newly developed processes and metrics; activities included mentoring, helping explain the importance and purpose behind the processes, and providing examples of how to adhere to the new workflows

CMMI Initiative

  • Represented the Software Development department in the Software Engineering Process Group (SEPG); this is the tactical body for managing the process and is comprised of members who represent various functions within the company
  • Peer-reviewed all of the process descriptions and workflows developed to help DPRA’s processes align with CMMI-DEV Maturity Level 3
  • Facilitated meetings or process reviews when other personnel were unavailable
  • Participated in process metric reviews and internal quality/process audits
  • Worked in a 13-week group to develop organizational process focus workflows; participated in a 2-day workshop on developing metric specifications
  • Frequently shared process improvement suggestions and lessons learned / best practices to the SEPG
  • Was a founding member of the Software Quality Working Group, whose purpose is to evaluate and define what quality means for our products
  • Created a process improvement overview training guide that is now used during new-employee orientation

Group fitness

  • Applied to be a national presenter for Les Mills RPM
  • Received two positive sets of feedback about my RPM classes from national Les Mills assessors
  • Joined the Les Mills RPM production team; proofread the instructor booklets developed each quarter to ensure correctness of wording and choreography

Professional development

Community involvement

  • Bi-weekly local developer meetup (DevBeers)
  • Bi-weekly local tech group meetup involving developers, QC, and security
  • Clerk for the Board of Trustees for a community non-profit organization

Training proficiency