Software Engineer - Application Developer

Job Summary

At this level, you have a proven knowledge of our systems, customers, and business.  You’ve played a key role in the delivery of several projects and assisted bringing other team members onboard.  While learning for a software professional is never complete, you no longer require instructive pairing and oversight.  You’ve taken the role of dominant pair to transfer knowledge and reinforce our practices and values.  You’ve embraced the belief that great products come from the fusion of rock solid engineering, clear product vision, and a hypersensitivity to the user experience.  At this level you don’t just focus on the craft of programming, but also understand and actively participate in the collaboration between product management, design, and engineering.  As is expected of all team members, you continue to refine your understanding of our business and continue to develop empathy for our customers.

 

Job Description

  • Embody and live the Scrum values of commitment, courage, focus, openness, and respect in all interactions, both within and outside of the team. 
  • Be an active team member.  Listen a lot.  Ask questions to seek clarity. Take the floor when you have information, experience, or perspective to share.  Communicate impediments as they arise.
  • A Scrum team collectively delivers on their sprint goals and commitments.  All team members are expected to always be intimately familiar with, and working towards delivery of those commitments, never against. 
  • In partnership with Product Management, actively seek to gain a deeper understanding of the business context under which your team operates.  Leverage this understanding to present feature recommendation to your Product Owner.
  • In partnership with Design, continue to build empathy for the primary, as well as secondary, personas your team supports.  Leverage this empathy to recommend small design changes to your Designer.
  • As a highly technical member of the team, actively seek to master of our tech stack, tools, and practices.
  • Complete modifications, refactoring, and bug fixes to existing functionality without the need for oversight.
  • Perform complex changes and complicated refactoring under the direction of an experienced team member.
  • While made up of many disciplines, the team delivers on commitments together.  As such, it’s expected to perform documentation, design, and testing tasks as required by the team.
  • Actively participate and contribute to technical discussions and code reviews.
  • Evangelize and promote the successes and learnings of your team in formal ceremonies, such as sprint demos, as well as in casual conversation.
  • Write queries, scripts, and data upgrades.
  • Take point on supporting deployments and releases.

Other duties as assigned.

 

Requirements

  • 3-5 years of professional experience.  Completed one or more projects on commercially available applications.
  • B.S. in Computer Science, Computer Engineering, Software Engineering, or equivalent experience.
  • Self-motivation drive to get things done and deliver on team commitments.
  • Ability to be an active member of a Scrum team, embracing Scrum values.
  • Ability to know when to ask, take, and respond positively to direction and supervision.
  • Enthusiastic about company and programming company products.  
  • Can plan tasks and estimate their completion.  Communicating impediments as they arise.
  • Adapts well to changing conditions.
  • Communicates efficiently verbally and through written documentation.
  • Has a broad understanding of our systems, customers, and business goals as it pertains to the assigned team.

 

Skills

  • Fluent in C#.  Highly knowledgeable of data structure, algorithms, and object oriented programming. Able to perform tasks effectively and pragmatically.  Able to debug and diagnose complicated issues.  Able to build from scratch implementations; following best practices.
  • Conversant and comfortable with design patterns.
  • Conversant and comfortable with working with legacy code.
  • Conversant and comfortable web development (Asp.Net Web Forms, Asp.Net MVC, JavaScript, Html, CSS, JQuery). Displays working knowledge. Able to perform tasks effectively with frequent use of guides, research, and mentorship.  Can replicate from similar works.
  • Conversant and comfortable with Window and IIS.
  • Conversant and comfortable with relational databases (SQL Server).
  • Conversant with, embracing, and refining professional practices and methodologies (Test Driven Development, Pair Programming, Code Reviews, Refactoring Techniques, Agile/Scrum)
  • Conversant and comfortable of our development tools (Visual Studio, Resharper, PowerShell, BitBucket (Git), Jira, Confluence, Roundhouse, Octopus Deploy)

 

 


Meet Some of eMoney's Employees

Dan

Technical Lead

Together with his team of developers, Dan builds new and improved financial planning tools so that eMoney Advisor’s clients can better manage their books of business.

Nathaniel

Software Engineer

Nathaniel started at eMoney on the Client Engagement Team and has since progressed into a role as a Software Engineer.


Back to top