Programmer Analyst
American Mathematical Society · Ann Arbor, MI · 6 days ago
On-siteEngineeringFull-time
About the role
The Programmer Analyst position is primarily responsible for analyzing, designing, coding, documenting, and maintaining web-based applications and related back-end services. Working closely with the department director, the programmer analyst provides technical expertise to diagnose problems and to research, recommend, and implement solutions.
Responsibilities
- Participate with the MR IT team in developing and maintaining internal MR Web-based applications.
- Perform all functions in the software development life cycle (specification, analysis, design, coding, testing, maintenance, support, and documentation).
- Collaborate with programmers, designers, system administrators, and database administrators to conceptualize and develop enhancements.
- Design, run and monitor software performance tests for the purposes of correcting errors, isolating areas for improvement, and general debugging.
- Participate in defining our web-based application architecture.
- Adhere to department and industry standards in which code and documentation should be written.
- Perform other or similar related duties as requested or assigned.
Qualifications
- Bachelor's degree in a computer-related major from an accredited institution, or commensurate experience.
- A minimum of 2 years working as a full-time programmer.
- Experience with SQL.
- Knowledge of OO principles and design patterns.
- Practical experience with functional programming.
- Experience with testing, including unit testing, mocks, and test-driven development.
- Continuous Integration (e.g., GoCD, Jenkins).
- Experience building web services (REST, JSON, XML, etc.).
- Proficient in web development HTML/CSS/Javascript/Typescript.
- Experience with web authorization (Oauth, JWT, etc.).
- Experience with full text databases such as Elasticsearch.
- Experience using source code control (Git).
- Unix/Linux includes use of SSH and basic shell scripting.
- Experience with LaTeX/TeX typesetting tools and language.
- Experience developing and using APIs.
- Experience with dynamic scripting languages (Python, PERL).
- Proficient in Scala.
Attributes and Competencies
- Demonstrates understanding of organization’s mission, structure, culture, and constituencies.
- Demonstrates knowledge of own department’s work activities and mission; understands how own job impacts work of department.
- Responds positively to changes in the organization and the workplace.
- Demonstrate flexibility in responding to work demands.
- Demonstrate and communicate respect for the opinions and beliefs of other people at all levels and fosters a climate of mutual respect.
- Plans and organizes work effectively.
- Accepts accountability for job performance and results.
- Works effectively with others in a variety of settings.
- Uses communication tools (e.g., presentation, verbal, writing, relationship building, negotiating, listening) to meet needs of audience and/or situation.
- Maintains professional composure in challenging situations.
- Exercises discretion in identifying, handling, and safeguarding confidential information.
- Addresses issues constructively, building cooperative relationships within and across departments.
- Receptive to feedback and willing to try different approaches to achieve the best results.
Physical Demands
- Performing primarily sedentary work with limited physical exertion and lifting to 25lbs.
- Duties performed cause light fatigue of eyes, fingers, or other faculties due to long periods of standing, sitting or repetitive motion.
- Dexterity of hands and fingers to operate a computer keyboard, mouse, and other devices.
- Capable of reliable attendance in the office during scheduled work hours.
Work Environment/Conditions
- Typical office environment, climate-controlled, minimal noise.
- Extended work hours may be required to meet project deadlines or resolve unexpected problems.
- This position is required to be in-office.