2438 Senior Software Engineer – Product Development Engineer III

Location: Beaverton, OR

Our client is one of the industry leaders in the Electronic Freight Matching Business. Your experience as a Senior Software Engineer - Product Development Engineer III will be directly helping goods and products get transported all over the nation and beyond. You would be working with a bunch of very sharp people who are empowered by management. They have a beautiful office specifically designed to be collaboration friendly. If this is the kind of position and company you’d be interested in - please send your resume to We value and encourage diversity in the workplace and women, minorities, and veterans are highly encouraged to apply. Thank you.

Job Type: FTE

Additional Information:
Day in the life of a Sr. Software Engineer
As a Sr. Software Engineer this is an opportunity to work with a software development team of highly motivated agile engineers. Your team builds software that drives our SaaS platform in the cloud. Your team will work with cutting edge tools to develop code that is reliable, maintainable, and scalable. Your team will work full stack, from building microservices to creating compelling user experiences on top of the latest web and mobile technologies. Your team develops, tests and delivers solutions through our CI/CD environments and deploy your solutions to our customers hosted in AWS.

Is this opportunity right for you?
- Are you passionate about technology?
- Do you enjoy working on an Agile team?
- Do you thrive on succeeding together over succeeding individually? 
- Do you get excited about the challenges your team will face today? 
- Do you define a good day as one where the team delivered value, exercised engineering excellence and provided the kind of quality that allows your team to sleep at night? 
- In short, are you Humble, Hungry and Smart?

If this sounds like you, read on...
Who we are looking for?

Experienced. You are a seasoned engineer that has worked on various technologies and in different languages and stacks. You have successes (and scars) which help inform your considerations and decisions around solutions you build.

Passionate. You get excited about challenging new problems to solve and applying existing or new technologies in new and creative ways. You see software engineering as a craft that needs to be continuously practiced, evolved and improved over time. You believe that there are very few problems that can’t be solved through software and technology; and maybe some that shouldn’t.

Driven. You want to leave your mark on the world and thrill users of your software whomever they may be. You take pride in the code you craft and the practices you apply, but understand that the best software has yet to be written and every change is another opportunity to leave the work in a better state than you found it.

Pragmatic. You’d prefer to build and deliver customers value in two weeks rather than spend months polishing something you’re not sure a customer will want. 

Qualitative. You care about the quality of your work and the experience your customers receive. You believe that building feature limited solutions with excellence is better than producing ineffective feature rich solutions. You care about the complete package of software you deliver including the tests, documentation and tools you provide that support the operation of your software.

Collaborative. You like to share your knowledge. You understand that the collective knowledge is more important than individual and you seek to ensure others are as informed as you and expect the same in return. 

Cultural. You care about the team, the organization, the company and the overall culture. You understand to have the kind of culture you want around you takes continuous care and feeding and you have a part to play in its success.

What will your day look like?

Deliver Results:
Collaborate with your team to produce lean, rapid and predictable solutions in a repeatable and transparent way. Help your team develop solutions that improve your delivery rate, keep debt to a minimum, maintain a high level of quality and in a way that thrills our customers!

Be a supporting member:
Help your team become best-of-breed. Help the team improve its practices and abilities over time by applying new techniques. Don’t be afraid to try new things, fail and learn.

Challenge yourself:
Become a technology advocate. Identify, learn, master, and evangelize technologies that get you excited and that we should be using. Become an expert in our products. Look for creative ways to apply the technologies you’ve mastered to our products.

Become a Mentor:
Support your team by pairing with other peers on challenges they face. Bring your insight and experience to bear on the problems that face you and your team. Look for ways to help level up your team.

Live the culture:
Be an advocate for engineering excellence. Encourage participation of peers in team oriented activities. Participate in communities of practice. Become a thought leader. Participate in internal and external company events. Support a community of appreciation, respect and trust

Why we might be the right fit for you

We aspire to be great:
We want the technologies we wield and the products we create to be equally inspiring. We want to match best in class products with best in class innovations.

Technology is a tool, not a religion:
We see technology differently… While software development and technologies are our craft we see them holistically as the languages and the tools we our capable of wielding. We embrace our ability to communicate, build and deliver in many mediums and as such we hold ourselves to standard not limited by what a specific stack can or can’t do but rather what we, as innovators, can achieve using any technology or methodology.

We want our engineers to thrive: 
As engineers, building software is our craft; we just happen to be fortunate enough to be paid for doing it. We embrace engineers individual creativity and curiosity as the foundation of the team’s ability to deliver innovative results that thrill our customers. We pride ourselves on providing our engineers with opportunities to express their creativity and to support them in continuously reaching higher levels of innovation and excellence

Why we might not be the right fit for you

You don’t like change:
In our view, there are only two directions to progress; forward and back. Fear of change can lead to complacency and we, as technologists, find complacency unacceptable. There is certainly a time and need for stability, however we also believe that this needs to be balanced with continuous learning and growth; so we embrace change.

You prefer to fly solo:
We are the collaborative type and believe that the success of the individual is rooted in the success of the team and the environment the team creates for individuals to grow. This requires everyone to do their part to help the team grow and mature and requires all members to consider the team first.

You are inflexible regarding tech stack: 
We all have preferences but we also believe that for us to remain leaders in technology we have to have the courage and curiosity to explore and use new technologies and new techniques. We are interested in looking at known and unknown challenges through new and different points of view.

Job Description
A Senior Software Engineer here is responsible for designing and implementing the software that drives our SaaS platform. In this role, you will work with cutting edge tools to develop code that is reliable, maintainable, and scalable. You’ll work full stack, from building microservices in AWS, to creating compelling experiences in the web.

- Work across the stack to from UI to database
- Leverage AWS to deliver efficient, cloud-native solutions
- Write unit, integration, and functional tests, and guide others in doing the same
- Document software designs and project tasks
- Review functional requirements and analyze their impact on schedule and software design
- Provide technical leadership, mentoring and direction to other team members
- Design and develop REST APIs and other code that is reliable, maintainable, and extendable
- Participate in design/code reviews
- Translate business needs and requirements into technical specifications
- Review functional requirements and analyze their impact on schedule and software design
- Document software designs and project tasks
- Work with team members to improve development processes and practices

- Bachelor's degree in Computer Science or equivalent experience
- 6+ years experience in software development

Required Skills
Technical Skill - Proficiency - Details
Javascript - Practical - According to established best practices
Modern Server Frameworks - Practical - Node, Spark or Sprint Boot
Modern Web UI Frameworks - Practical - Such as Angular or React
Cloud Native Development - Limited - Build and deploy in AWS, Azure, or Google
Microservices - Practical - According to established best practices
REST APIs - Practical - According to established best practices
Design Principles and Patterns - Limited - According to established best practices
OO/Functional Programing - Practical
Unit Testing - Practical - Client and Server
Scrum/Agile SDLC - Practical

Soft Skill - Proficiency - Description
Communication - Practical - Ability to communicate (written and verbal) effectively with others
Collaboration - Practical - Ability to present, communicate, exchange and influence ideas
Interpersonal - Practical - Ability to connect and build relationships with others
Emotional Intelligence - Practical - Awareness of the emotional needs of self and others
Strong Work Ethic - Practical - Ability to keep focused on work necessary to accomplish goals
Problem Solving - Practical - Ability to solve problems based on the needs of the problem
Self Management - Practical - Ability to be aware of self and manage your unique limitations
Research - Practical - Ability to generate ideas, investigate, and discover outcome to a goal
Adaptability - Practical - Adapt to challenges, accept differences and progress despite conflict
Leadership - Limited - A supportive peer, mentor, support, leader, or example for others
Professionalism - Practical - Ability to maintain ethics and morale throughout categories of skills

Additional Preferred Skills - Proficiency: Limited
Technical Skill - Details
Mocha, Karma test runners - According to established best practices
Jasmine, Chai, Sinon - Node, Spark or Sprint Boot
SASS & Google Material Design 
Dependency Injection frameworks
AWS native technologies - Kinesis, RDS, Lambda, SES/SNS/SQS, API Gateway, S3, Route53

Proficiency Legend
Level -Description
None -Has no awareness of the subject
Basic -Has a basic knowledge of the subject
Limited - Has limited experience of the subject
Practical -Has a practical application of the subject
Applied -Has applied theory of the subject
Recognized -Is recognized as an authority or has attained mastery of the subject