You are viewing a preview of this job. Log in or register to view more details about this job.

Software Engineer


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.


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

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


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


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.

Specialized Knowledge and Skills Requirements

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


TRAVEL

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


PHYSICAL AND ENVIRONMENTAL DEMANDS OF THE POSITION

The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

While performing the duties of this job, the employee is regularly required to talk, hear, use hands, and reach with hands and arms. Vision requirements include the ability to have clear vision at 20 inches or less to view and effectively utilize general office equipment and computers.