Responsibilities:
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 lifecycle.
Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development and proposed solutions
Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code
Prepare and install solutions by determining and designing system specifications, standards and programming
Improve operations by conducting systems analysis; recommending changes in policies and procedures
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; participating in professional organizations
Protect operations by keeping information confidential
Provide information by collecting, analyzing and summarizing development and service issues
Accomplish engineering and organization mission by completing related results as needed
Support and develop software engineers by providing advice, coaching and educational opportunities
First and foremost, developing software our users need
Mentor junior and mid-level engineers
Collaborate with team to brainstorm and create new products
Grow engineering teams by interviewing, recruiting and hiring
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 great technologies, especially open source
Understand business needs and know how to create the tools to manage them