Job Description

Senior Software Engineer

Section 

Summary of the Position

As a Software Engineer you will design, develop, test, and support software solutions as a part of the Mandli Communications, Inc. Technology Department. You will work closely with senior engineers and product specialists to refine customer requirements and implement functionality for software applications that help our customers gather, process, and analyze transportation infrastructure information. You will leverage a passion for learning new and exciting technologies, and an ability to adapt to different technical environments to bring cutting edge solutions to our customers.

Section 

Primary Responsibilities

Software Development

  • Design, code, test, and support applications primarily in Java along with several other software languages and environments
  • Able to work independently to identify and solve problems
  • Perform analysis on development tasks

Quality

  • Understand and follow best practices and principles of Object Oriented Programming and design
  • Conduct quality analysis and participate in software demos
  • Continuously identifies ways to improve software development and increase overall code quality

Teamwork

  • Able to work with senior engineers and product specialists to gather and understand complex software requirements
  • Write software documentation including but not limited to technical specifications, operation procedures, software and system architecture drawings
  • Work on multiple projects in an agile development environment

Activities Supporting Communication / Reporting

  • Work with support representative to efficiently troubleshoot and resolve issues that arise in the field
  • Maintain and organize a daily, legible logbook of data collected and submit to Data Collection Technician as required
  • Accurately record all relevant project metrics and expenditures while deployed in the field
  • Maintain regular contact with supervisor or project team to keep them informed of project status, issues, or significant field events

Activities Supporting Company Success

  • Meet established timelines and customer expectations
  • Maintain a professional manner and appearance at all times to enhance the company’s image
  • Work with supervisor and project team to develop best practices that will lead to better achieving or exceeding project goals

Communication and Reporting

  • Consistently meets performance metrics established by department manager
  • Effective communication and interaction with team members
  • Provide accurate time estimates for implementation of tasks
  • Accurately tracks and records progress of daily activities
  • Perform additional duties as assigned

Section 

Competencies

Software Engineering

  • Works within the different software development lifecycle stages
  • Writes and automates tests with code
  • Leverages code reuse
  • Emphasizes elegant and simple solutions
  • Understands database concepts and usage and uses them effectively
  • Maintains a comprehensive knowledge of the engineering fundamentals best practices and standards

Result Oriented

  • Makes sound decisions balancing the short and long term strategic goals
  • Schedules and estimates well
  • Develops and executes plans to achieve results
  • Perseverance
  • Maintains a professional behavior

Analytical Thinking

  • Identifies and evaluates many possible solutions for a problem
  • Proactively identifies the root causes of problems
  • Analyzes costs, benefits, risks, and probability of success of decisions
  • Breaks down complex concepts, issues, and problems into their fundamental units
  • Use of prototypes
  • Methodical problem solving

Communication

  • Logically and simply conveys ideas clearly both verbally and in writing
  • Ability to question, validate, and clarify the purpose, criteria, and assumptions
  • Commitment to systematic documentation of the work
  • Ensures that regular communication occurs based on the needs of the project or the individual
  • Seeks help when necessary

Concern for Quality

  • Thorough and keen attention to detail
  • Pride in quality and productivity
  • Checks accuracy of own work and others
  • Desire to improve things
  • Follows procedures to ensure quality output
  • Manages competing demands while striving for quality work
  • Encourages people to maintain high standards of quality and thoroughness
  • Maintains a “big picture” view

Teamwork

  • Focus on customer needs
  • Driven by desire to contribute
  • Sense of fun
  • Takes action to achieve goals beyond what is required
  • Presents innovation solutions
  • Cooperates with team members to build a spirit of unity within the team
  • Fulfills commitments to other team members
  • Recognizes the efforts of other team members and values individual differences
  • Informs team members of important or relevant information for team success
  • Strives to build cooperation between departments and work groups
  • Provides others with feedback to help them be better team members

Section 

Qualifications

To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

Software

Proficient in IDEs such as Eclipse or Netbeans. Ability to obtain an advanced understanding of any necessary industry standard or custom processing applications within 3 months of start date. Familiarity with Windows, Apple, and Linux operating systems.

Mathematical Skills

Skill level required to perform Software Engineering related tasks.

  • At a minimum must have the ability to compute rate, ratio, and percent, as well as create and interpret graphs
  • Must be able to apply concepts such as fractions, percentages, ratios, and proportions to practical situations
  • Understanding of complex geometry, trigonometry, advanced algebra, and basic calculus

Reasoning Ability

Ability to define problems, collect data, establish facts, and draw valid conclusions. Ability to interpret an extensive variety of technical instructions in mathematical or diagram form and deal with several abstract and concrete variables.

Education/Experience

Minimum Requirement:

  • A Bachelor’s degree is required in Computer Science or related Engineering Field
  • Solid understanding of Object Oriented Programming design and development
  • Excellent communication, documentation, and organizational skills
  • Experience programming in Java in a team oriented environment
  • Experience working with SQL

Preferred Experience:

  • Experience with Unit testing
  • UI design experience
  • Experience working with Databases: MySQL, Oracle
  • Experience using Maven
  • Familiarity using Continuous Integration systems
  • Familiarity with Source Control Management
  • Familiarity with Spring or Inversion of Control
  • Experience working in a team environment utilizing AGILE methodologies
  • Experience with GIS systems and software

Certificates and Licenses

None listed

Section 

Travel

This position does not require any set amount of travel. Travel may be required for specific projects on a case by case basis.

Section 

Physical and Environmental Demands of the Position

None listed.

Section 

Disclaimer Statement

The information contained in this job description is intended to describe the essential job functions required of those assigned to this job. It is not intended to be an exhaustive list of all accountabilities, activities, and knowledge needed to perform the job. Please note that job functions are reviewed periodically and are subject to change based upon company business need.

Mandli Communications

2655 Research Park Drive  |  Fitchburg  WI  53711 

(42.999149° N,89.427252° W)

(P) 608-835-3500 (P) 608-835-3500
(F) 888-545-2214