What are we looking for?
Title: Senior Software Engineer, Back End
Compensation: Commensurate with experience
Reports To: CEO
We are looking for an experienced back-end or full-stack engineer to support and maintain our existing technology stack, design and code the back-end of our B2B SaaS solution using both new and proven technologies. The ideal candidate has an entrepreneurial mindset with the ability to write top-notch code in a fast-moving and dynamic environment.
Who are you?
You have a passion for writing scalable, elegant, and high-quality code that balances theory with real-world business needs. You enjoy challenges and learning new technology, and you can build it fast when needed, but you know to build it right for the long term. You thrive in fast-paced environments and are flexible in adapting to change. Innovation and start-up culture are in your blood. You’re a problem solver; you make things happen and work with others to build constructive and effective relationships. You seek opportunities to express initiative, volunteering readily, performing self-development activities, seizing increased responsibilities, and taking independent action and calculated risks. You’re detail oriented, rolling up your sleeves to make sure the job gets done. You have a high level of intellectual curiosity that reveals insights and implications, and you use that knowledge to think creatively about solutions.
You understand that while you’re deeply passionate about technology, technology without business results is worthless. You have an obsessive customer focus and want to learn all about our market and value proposition so you can ensure excellent product-market fit. You know that it is important to get to market quickly, experiment, learn, adapt and iterate. You have pride in your work and instill that pride in your team.
Importantly, you exemplify our core principles of transparency, honesty, clarity, accountability, and safety.
What are the primary responsibilities?
- Help our team design and development of the back-end components for our next-generation B2B SaaS solution.
- Maintain and expand our current product suite as needed.
- Design and code distributed services using JVM languages and RESTful APIs.
- Build telemetry and analytics into every facet of the product suite.
- Work with QA to develop and implement automated API, load, and performance testing.
- Work with DevOps to implement CI/CD pipelines.
- Work closely with designers, architects and front-end developers to provide a well-structured solution.
- Balance technical and business goals to identify and select our back-end technology stack.
- Work closely with our Product, Sales and Services teams to ensure we’re building the right product for the right customers.
- Contribute to the open source community as we incorporate those solutions into our technology stack.
- Supervise and mentor junior engineers as our team grows.
- Perform various Agile roles as needed.
- Stay abreast of technology trends.
- Represent Documoto in the local engineering community.
What Makes You a Great Fit?
- Bachelor’s degree in Computer Science or equivalent work experience.
- 5+ years of experience building enterprise-scale database-driven applications, with much of that in SaaS, using Java or other JVM languages.
- Must be detail oriented, outcome focused, data informed, and analytical.
- Experience in manufacturing, eCommerce, ERP, or mechanical engineering is a big plus.
- Formal experience or education in usability or UI/UX is a big plus.
- Solid understanding of web application architecture, SPA vs. non-SPA applications, authentication and SSO, asynchronous messaging, integration, object-oriented software, and design patterns.
- Experience using open source Java frameworks including Spring, Spring Boot, Hibernate, and common APIs such as JPA, JDBC, and JMS.
- 3+ years writing SOAP and REST web services.
- Solid knowledge of SQL and relational databases, i.e. MySQL, Oracle, or equivalent, including schema design.
- Experience with multi-threaded Java application development and the concurrency package APIs.
- Strong experience with XML and JSON structured data and processing.
- Experience developing on Linux/Unix or Mac environments, including shell scripts.
- Experience with unit testing, automated testing, code reviews.
- Solid experience in enterprise software development practices: Agile; tools for issue tracking and code repos; builds, CI & CD; feature flagging.
- Competent with Git and Maven
- Experience with any of the following is a big plus:
- Understanding of SVG files and other vector-based image formats
- Other JVM languages such as Kotlin, Scala, or Groovy
- Modern CSS frameworks such as Bulma or Bootstrap
- NoSQL and/or Graph databases such as MongoDB, Neo4J
- Adobe Flex
- Solr or Elasticsearch design and implementation
- Excellent interpersonal, organizational, presentation, verbal and written communication skills.
- Ability to effectively interact with senior management as well as business stakeholders.
- Well organized.
- Strong ability to resolve conflicts constructively; a great attitude.
If you’re a full stack developer, and our technology stack aligns with your background, we encourage you to apply!