Principal Software Engineer Full Stack
No one knows the road like Agero. For over 40 years, we have provided the safest, smartest solutions for drivers and the companies that keep them moving. Headquartered in Medford, MA with operations throughout North America, we are trusted by more than 100 leading corporations and used by 75% of the new passenger vehicles sold in the U.S.
As a result, we have become an industry leader, providing vehicle manufacturers and insurance carriers with privately labeled state-of-the-art roadside assistance plans and efficient claims management solutions. Our Roadside Assistance network protects more than 75 million drivers each year, providing award-winning service that helps motorists in their time of need while building customer loyalty for our clients.
Our commitment to our Employees:
- Have an Impact: Join us and Day 1, play a role in shaping our digital transformation.
- Grow your Career: Our focus us helping you grow the core competencies to shape your technology career
- Work that Matters: We are a roadside business singularly focused on making sure our customers are quickly, safely and efficiently supported in their time of need.
Check us out online!
DESCRIPTION SUMMARY: Transforms the application designs into a working application and performs unit testing. Develops multi-tier, client/server or web applications used by internal clients. Provides Tier 3 support for applications in production, working closely with Application Support Team. Projects may include cross-functional team members from across the business. Completes coding and testing of components or applications, including creation of test situations, unit testing and documenting application modifications.
ESSENTIAL FUNCTIONS:
- Converts designs and specifications into computer code.
- Compiles code into programs or components, tests and analyzes for errors and revises program as needed.
- Consults with end user to prototype, refine, test, and debug programs to meet needs.
- Writes and maintains basic documentation to describe program development, logic, coding, testing, changes, and corrections.
- Provides individual tasks, effort and dependencies for Technical Project Manager to build into project plan, based on Software Architecture and Technical Specifications.
- Analyzes code to find causes of errors and revises programs.
- Trains end users or technical support staff to use programs.
- Provides Tier 3 software issue analysis and resolution
- Maintains effective communication and relationships within project team members.
- Mentors Engineers on best practices and standards.
- May perform code reviews.
Requirements
EDUCATION: College Degree or equivalent work experience
EXPERIENCE: 6 -8 years relevant experience necessary. 3 years of project or supervisory/management experience Full Stack Object oriented programming skills required. Experience in HTML5 or native application development for mobile including a number of toolsets using Open Source, modern tools and frameworks, Experience in some or all of the following Required: iOS, Android, Node, Angular, Mongo, Cordova/PhoneGap, SASS, CSS3, D3, Grunt, Jenkins, Hubot, AWS, GIT/TFS/SVN, C#, C++, Java, Ruby, Javascript, Perl, Python, and or Django.
SKILLS:
- 5+ years of full stack web development experience
- Fluency with JavaScript, SQL, MongoDB, HTML, CSS
- Experience with Angular ll Nodejs frameworks
- In-depth understanding of REST philosophy and API design
- Strong Understanding of Object Oriented Programming
- Experience with continuous integration and testing via tools like Jenkins or Travis/CircleCI
- Ability to collaboratively engineer web and mobile application features and visualizations
- Experience with Software Design principles
- Ability to write maintainable code with automated tests
- Organized, self-starter, with attention to detail and ability to work both Independently and with a team
- Ability to understand a large code base with Minimal direction
- Strong understanding of building Software for the end user and participate in both debate and what to build and how to build it
- Strong knowledge of Windows/UNIX/Linux, especially in virtualized environments such as AWS, Azure, OpenStack or Heroku
- Experience with systems configuration management and provisioning tools such as Ansible, chef or puppet
- Operational experience with MySQL, postgres, and MongoDB, including clustering
- Ability to work effectively with both technical and non-engineering personnel
- Experience with the configuration of web server software including nginx, rabbitmq, gunicorn, and elasticsearch
- Experience with a full web serving stack, including databases, logging, and monitoring
- Strong understanding of data structures and algorithms
- Experience in an operations role supporting a 24/7 production environment, or ownership of personal internet-accessible servers operating 24/7
- Experience in a fast-paced operations environment
- Strong written and verbal communication skills
COMPLEXITY: Utilizes sound decision making skills and communicates well with other team members and business users. Identifies problems and recommends solutions. Performance will be measured by his/her ability to deliver quality applications on time.
WORKING RELATIONSHIPS: Works in a team environment, including cross-functional teams and teams with business users throughout the company.
ADDITIONAL REQUIREMENTS: Participates in meetings and conference calls with clients. Completes additional duties as required.