About the Role:
We are looking for a strong Principal/Senior Software Engineer who can help us take the current Software-as-a-Service (SaaS) platform from the current level to a next generation level. The person will also work on new initiatives and help us select the right architecture and technology direction. This person will be an individual contributor who will be reporting to the Software Development Manager. The Principal Engineer is expected to work closely with development managers, engineering managers, other senior engineers and QA team as part of the normal work. The person should help us build an enterprise class, high performance, highly scalable industry leading fleet tracking system.
Job Responsibilities:
- Working closely with engineering managers, senior engineers and product managers, come up with the right architecture and design specifications for new products and initiatives.
- Deep dive into the current platform internals, and recommend potential improvement areas and come up with technical solutions to make those improvements.
- Design and implement key technology parts and make them available to other developers as framework or components.
- Prototype and recommend new technologies, approaches, and product features.
- Actively participate in release planning, do design reviews, code reviews and follow the development process.
- Help develop coding practices, and standards.
- Work with geographically distributed development teams.
- Be proactive, opinionated and pragmatic, and yet a team player.
Qualifications:
- Very strong on data modeling/relation design, Object oriented design, design patterns, SQL, OR-mapping (stored procedures).
- Queuing systems such as MSMQ, or JMS.
- WebServices/WCF, TCP/IP, sockets, XML and integration technologies.
- Strong proficiency in multiple programming languages such as C#, Java, and C++.
- Strong understanding of Usability/scalability/performance aspects
- Strong experience in designing and developing highly scalable, distributed server systems and components that can most efficiently process very large volume of data.
- Distributed cache and memory pool design for high volume applications; knowledge of memcached or similar in memory data processing.
- Strong understanding of data persistence mechanisms such as CouchDB & Hadoop is a plus
- Experience with multiple databases such as SQL Server, MySQL and Oracle.
- Strong experience with multiple development environments such as .NET and J2EE.
Preferred:
- Strong understanding of Mapping, spatial data and GPS data processing.
- Experience with Windows Mobile/SmartPhones systems.
- Experience with Google/Microsoft VE or other similar WebServices.
- Experience with application frameworks such as Spring, CSLA, Ruby on Rails.
- Exposure to SCRUM/Agile development process.
- Ability to appreciate and critique current designs, and work with other senior level engineers.
- Ability to give respect and get respect.
- Ability to be persuasive.
- Ability to work in a team environment.
- Ability to prototype quickly, and come up with block diagrams, architectural diagrams that demonstrates the overall understanding of the system
- Takes ownership and full responsibility for whatever they undertake.
- Highly motivated and quick learner.
Education/ Experience:
• BS/MS in Computer Science or equivalent with 10+ years of industry experience.
Interested in this position? Contact Tiffiny Bolden in the Human Resources Department tiffiny.bolden@navmanwireless.com
(847) 832-2369
