Senior 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.
- 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
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
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.
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
Certificates and Licenses
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 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.