Software Engineer - Senior Level
- Full Time
Pay Level: MM 3/19
SUMMARY DESCRIPTION OF POSITION
Ability to either do the full stack Ruby on Rails/AngularJS development or has considerable iOS experience.
ESSENTIAL DUTIES AND RESPONSIBILITIES include the following:
· Prepares detailed specifications from which programs will be written. Designs, codes, tests, debugs, and documents those programs.
· Under general direction, formulates and defines system scope and objectives
· Solves complex problems; takes a new perspective using existing solutions
· Responsible for software integration, external interface development and technical documentation.
· Codes individual modules and moderately complex functions, solving technical issues where precedent does not normally exist
· Designs and develops some aspects of data conversion.
· Analyzes, designs, develops, unit tests and maintains enhancements to existing software applications while following Cru's software development life cycle (SDLC) methodology..
· Writes and maintains documentation to describe program development, logic, coding, testing, changes, and corrections according to standard operating procedures
· Troubleshoots, documents and assists in the resolution of issues
· Unit and system test his/her own code as well as the code of co-workers.
· Regularly provides guidance and training to less-experienced programmers
· Advanced principles, practices, and techniques of computer programming
· Advanced principles and techniques of system analysis, design, and programming
· Competent to work at the highest technical level of all phases of applications systems analysis and programming activities.
· Industry experience in Ruby, AngularJS or iOS development (full stack prefered).
· Apply technical standards, principles, theories, and processes such as change and release management
· Troubleshoot errors in data, program logic, and program coding
· Prepare flow charts and diagrams for technical solutions
· Compile, organize, analyze, and present statistical and technical data
· Assist other programmers on assigned projects or tasks
· Communicate well verbally and in writing
· Write clear and concise programming documentation
· Learn new programming technologies, ability to multitask and prioritize assignments with focus on meeting deadlines successfully
EDUCATION and/or EXPERIENCE
Bachelor’s degree in computer science, information technology, mathematics, or related field or equivalent years of professional work experience and at least 5 years experience in computer programming positions of increasing complexity, or equivalent combination of education and experience.