Back End Software Engineer (Hybrid – Remote/In Office)
What are we looking for?
Title: Software Engineer, Back End
Compensation: $90K - $130K DOE
Reports To: Engineering Manager
We are looking for an experienced back-end engineer to support and maintain our existing technology stack plus architect, design, and code the back end of our new B2B SaaS solution using both new and proven technologies. This role will also include some supervisory and mentorship duties. 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 want to own an advanced SaaS application. 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 is in your blood. You’re a problem solver; you make things happen and work with others to build meaningful relationships. You seek opportunities to express initiative, volunteer readily, perform self-development activities, seizing increased responsibilities, and take independent action and calculated risks. You are detail-oriented and do not mind 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 want to be part of a team that works cohesively and supports each other, ensuring everyone is successful.
You have an obsessive customer focus and know that getting to market quickly, experimenting, learning, adapting, and iterating is essential. You understand what it means to deliver a top-notch user experience. 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?
- Set the pace of development and the standards for code quality, user experience, and development practices, and help others meet them.
- 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 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.
- 6+ 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.
- Experience with Kotlin
- 5+ 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 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.
Why Join Documoto?
We are a hybrid team; while we all mostly work remotely we do spend some time in the office together. Our hybrid option offers the benefit of being able to work where you want – whether that’s from the comfort of your home, your favorite coffee shop, the outdoors – you get to pick!
We have health insurance and benefits that include medical, dental, and vision health insurance, health care, and dependent care flexible spending account options, a 24/7 employee assistance program, and company-paid short-term and long-term disability insurance.
We are a dog-friendly office; we allow our team to bring their dogs into the office. We also provide a stocked kitchen with snacks and beverages.
We provide 9 company paid holidays and flexible time off – work hard / play hard!
Since the beginning of COVID-19 safety for our employees and communities has been our key priority. We are continually re-evaluating our working model. All hiring and onboarding processes are being conducted remotely at this time. We utilize Microsoft Teams for video meetings during the interview process.
If you’re a back-end developer, and our technology stack aligns with your background, we encourage you to apply!