I’ve logged years at a keyboard, and I thrive when working with people. Whether brainstorming with a colleague, mentoring object design, clarifying user needs, or strategizing a sprint, I love engaging in productive conversations.Where others see problems, I see puzzles. Puzzles, unlike problems, are solvable… and fun!I break things. On purpose! Big is overwhelming; smaller pieces are easier to manage, understand and complete. Object design unwieldy? Break it into smaller objects. Method too big for its purpose? Break it into smaller methods. Task intimidating? Break it into subtasks.Servant-leader is my nature. I want progress to flow. If it’s not, I’ll find a way to remove obstacles.I love tools that manage complexity — diagrams, mind-maps, spreadsheets, task management apps — whatever distills an abstraction into concrete form, where I can understand the interactions, and discuss them with others.Programming is hard. Creating something out of nothing is difficult enough, but maintaining a full-scale system is a quagmire. To do it, you must keep users of a mission-critical system happy while adding features and (often) ripping out the foundation to upgrade the OS. This is why I love tools — software or process tools — that keep programming productive. It's also why I strive to create elegant code and comment-the-heck out of everything. Someday, someone will have to maintain the code you write, and that someone may be a future you.Scrum excites me because it addresses real-world pitfalls:• Worried a change may break the system? TDD.• Unable to suss a ten-year-old method a coder (who may have been you) threw together? Technical debt.• Unsure what to work on next or how long it will take? Sprint planning.• Frustrated by a process? Retrospectives.I crave good design. Object. UI. Code. By “good” I mean whatever makes life easier. Is the UI intuitive for a beginner, yet efficient for an expert? Is the code crafted to support coders now and in the future? Does each object do one job and do it well?Ultimately, I love helping people: increasing programmers efficiency; making what users truly need; and, just maybe, creating a better world.
Listed skills include Software Development, Software Project Management, Object Oriented Design, Rapid Incremental Development, and 16 others.