A Century of Trust

SENIOR SOFTWARE ENGINEER

February 28, 2020
Job Description:
  • 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 cycle.
  • 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.
  • Collect, analyze and summarize development and service issues.
  • Improve operations by conducting systems analysis; recommending changes in policies and procedures.
  • Review and assess code quality by conducting sytem testing and integration testing when needed.
  • Update job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment; participating in educational opportunities; reading professional publications; maintaning personal networks; participating in professional organizations.
  • Support and guide software engineers by providing advice, coaching and educational opportunities.
  • Troubleshoot, debug and upgrade existing systems.
  • Any other duties that maybe assigned from time to time.
​Job skills and requirements:
  • Bachelor’s degree in IT, computer science or related field of study.
  • 5+ years of experience as a software engineer.
  • Fluent with functional, imperative and object-oriented languages; knowledge of Java or JavaScript would be especially useful.
  • Either strong OOP or Functional Programming and modeling skills.
  • Experience working in an agile environment.
  • Experience building complex web systems that have been successfully delivered to customers.
  • Proven work experience as a Software Engineer or Software Developer.
  • Familiarity with Agile development and methodologies.
  • Strong understanding of computer network infrastructure.
  • Ability to develop software in multiple programming languages.
  • Excellent knowledge of relational databases, SQL, Oracle, etc.
  • Experience with test-driven development.
  • Ability to document requirements and specifications.
  • Ability to learn new languages and technologies.
  • Excellent communication skills.
  • Resourcefulness and debugging aptitude.

Apply Now