Software Engineer II
Omnitracs
JOB SUMMARY:
The Software Engineer II is responsible for playing a role on a team focused on the development of applications. This person analyzes, designs, programs, and debugs software enhancements. Using multiple programming languages, this engineer will design, implement, test and debug the full software stack. Prepares documentation and procedures for installation and maintenance. Interact with users to define system requirements and/or necessary modifications. Experienced in object-oriented design, design patterns, coding, performance tuning, and unit testing. Experience in logical data modeling and experience in defining and using databases programmatically. This person must also have solid communication and team building skills and must be able to participate in software design discussions and guide the architecture of the solution based on proven object-oriented design concepts, industry standard patterns, and best practices.
QUALIFICATIONS:
EDUCATION: Bachelor’s degree in Computer Science, Computer Engineering, or Electrical Engineering
EXPERIENCE: 3+ years of applicable Software Development experience
KNOWLEDGE/SKILLS/ABILITIES:
Experience in Microsoft C# .Net Development
Experience in ASP.Net MVC 3.0+ framework
Experience in WCF (REST/SOAP) web services
Experience in Database management system
Excellent interpersonal skills
Excellent written and oral English skills
Excellent working knowledge of logical data modeling and Database management systems
Excellent working knowledge of C# development environments and process
Versed in industry standard Software Development Life-Cycle (SDLC) process methodologies and Agile methodologies such as SCRUM
Knowledge of Agile practices
Knowledge and understanding of software design patterns
Knowledge of Open Source Technologies
Transportation industry knowledge desired but not required
Approaches software development using industry standard concepts, practices, and procedures
Ability to work on multiple tasks simultaneously with various team members and/or other groups both internally and externally
Ability to effectively engage in self-directed time management and prioritization of workload
Ability to work independently to develop new skills as needed to support new products and applications
ESSENTIAL RESPONSIBILITIES AND DUTIES:
Develops, modifies, and implements Software as a Service (SaaS) hosted applications according to business requirements using:
Microsoft C# .Net Development
Open Source Technologies
ASP.Net MVC 3.0+ framework
HTML5
JavaScript
Web services, XML and JSON protocols
Windows Services
Relational DBMS (MSSQL Server)
Cross-platform development
Operating systems (Windows, Linux)
AWS, S3
Optional skills:
Redis Cache, NoSQL, Microservices, Containers and Container Orchestration - Docker, Kubernetes
Logical data modeling, database definition and manipulation, and data synchronization
Object oriented design, coding, performance tuning, and unit testing
Authors and reviews technical requirements to ensure compliance with business requirements
Performs proper unit testing and software code writing (including automated unit testing)
Familiar with appropriate standards and techniques used during the Software Development Life Cycle process (SDLC, security) and applies them appropriately
Participates in peer code reviews and develops skill level of others through mentorship
May work on multiple tasks/projects simultaneously with various team members and/or other groups both internally and externally
Engages effectively in self-directed time management and prioritization of workload