-Develop software solutions by studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas; following the software development life-cycle -Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions -Update job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks -Must be able to work across multiple facets of the project and juggle multiple responsibilities at the same time -Mentor junior and mid-level engineers -Collaborate with team to brainstorm and create new products -Make informed decisions quickly and taking ownership of services and applications at scale -Work collaboratively with others to achieve goals -Be a persistent, creative problem solver -Remain cool and effective in a crisis -Stay on the leading edge of development practices -Passionate about technologies, especially open source -Understand business needs and know how to create the tools to manage them