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 Team. 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.
- 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
- 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
- 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
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
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.
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
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.
- 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
- 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
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.
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.