Back End Software Engineer
Deep Consulting Solutions
We are looking for a skilled and passionate Back End Software Engineer to join our Tech Team to build and scale effective software solutions. We are in need of an enthusiastic self-starter with deep expertise in complex back end structures capable of working with different integrated systems.
What we do
We make business software solutions for niche service companies that allow them to organize and run their business efficiently at scale. Our clients include custom manufacturers, concierge service providers, financial service companies, and others who deliver a high end service to their clientele and need to run a tight operation, which is increasingly difficult to do as their company grows - so they make use of our automation solutions to help them in this.
Our solutions are custom to each client and normally include both internally used systems (such as a highly customized CRM system, an ERP to manage accounting and inventory, ticketing system to manage client requests, etc.) and externally used systems (such as client / vendor / partner portals and mobile apps). They involve a great amount of integration and need to be built in a scalable and highly functional way.
As our platforms, we utilize the following:
- Amazon AWS's serverless technologies and microservices for our back and front end apps (Lambda, Amplify, S3, etc.).
- Zoho's CRM and ERP Tools (Desk, Books, etc.).
- Vonage/Nexmo-based telephony and communications solutions (Vonage Business Phone, Nexmo Voice/SMS, OpenTalk, etc.).
Our approach to building solutions is focused on creating effective apps in the most efficient way possible. We try to reuse what we did on previous projects in order to ensure that we deliver good and effective applications with minimal effort and risk, while ensuring good quality throughout.
Work process and team structure
Our company works on a very strict form of waterfall-like model in order to ensure that no delays occur on projects. Specifically, we put in a great deal of effort to make sure to have extremely well-defined requirements that will enable our systems to be effective by design and relevant to the business using them. Before the project ever gets to the engineering team, our business consultants conduct an extensive study of our client business and put together a very complete understanding of the client's business model, which we then pass on to our product designers who create highly effective and relevant designs (leveraging, where possible parts of our past projects) - these designs are them rigorously vetted by the entire design team, the relevant business consultants, QA's, and our leading engineers to ensure that they are complete and will result in a successful project. The requirements are then approved and passed to the lead engineer who architects the entire software project and allocates deliverables and tasks to the respective team members.
The engineering teams are usually small (under 8 people at any given time on the project), which allows to ensure a good amount of personal responsibility and allows to recognize every engineer's accomplishment in the actual functional deliverables produced and not some BS metric like hours worked or lines of code written. All deliverables are code reviewed by the project team, approved by the lead engineer, and assessed by QA right away. Engineers who produce high quality working deliverables and do so quickly are recognized and given bonuses and raises on project completion.
What we will expect from you
As an Engineer, your ultimate deliverable will be to effectively build a solution (or a part of it) that will be implemented in the client's business and run successfully going forward. Specifically we will expect from you:
- Functioning and scalable systems that will work effectively and for a long time;
- Ingenuity to come up with the most effective to build solutions with minimal complexity that meets the needed functionality;
- Pro-activity to think ahead and create usable and practical systems, as opposed to just plainly following along the requirements given to you with no critical analysis;
- Consistently high quality across all of your deliverables.
Depending on your level (which will be assessed during the hiring process), you will be given a matching level of responsibility (either an associate working on small tasks, an engineer working on large and complex tasks, or a lead engineer architecting the projects and leading project teams to get projects done). After each project completion, your performance will be reassessed and your level will be adjusted, which will be followed with financial rewards if success was accomplished.
You will be free to decide how you want to accomplish your goal, so long as the produced result matches our quality standards and fits in the team's overall strategy and tech base. You will be held accountable for the outcomes of your actions, and not your activities.
We have a tight business to run and our jobs require a certain commitment to results and willingness to accept responsibility for the individual actions on the part of our employees. Therefore, we require our candidates to:
- Understand that an activity by itself is useless unless it produces a useful outcome;
- Be ready to self-organize and self-manage and make own decisions about what to do in order to deliver the result;
- Be willing to re-examine approaches and methods when results suggest that current approaches aren't working;
- Be willing to endure hard work to achieve success and not expect instant gratification;
- Approach matters rigorously and analytically;
- Act on the above.
The following skills/experience will be necessary:
- A solid knowledge of Node.js-based back end technologies.
- Experience in delivering production ready and effective applications;
- Experience with complex SQL and NoSQL databases.
- Experience with different APIs and complex integrations between systems.
- Effective written and verbal English to communicate with our international team.
- Basic understanding of DevOps and SDLC to cooperate with other developers in building the product.
The following will help:
- Experience with Amazon AWS, serverless technologies, and microservices on its platform.
- Experience with CRM and ERP systems such as Zoho and others.
What we offer:
- High Performance Oriented Management
The organization is consistently and constantly managed for performance and results. High performers are rewarded. Excuses are not accepted and employees who make them are ejected. Long, unnecessary, bloviating meetings do not exist. Direct, quick and clear feedback is given on everybody's work. The owner personally manages the business and there is little middle management present. If you prove yourself to be a reliable and effective employee, you will have all the necessary authority, resources, etc. made available to you in order to deliver your results.
- Results Based Compensation Schedule
There is base pay and project bonus pay. Base pay varies significantly by the Engineer's level of ability and responsibility (Lead/Engineer/Associate) that the Engineer takes on projects - this level is reassessed after every project that the Engineer completes. Projects upon completion are rewarded with a bonus - bonus depends on the delivery of all requirements assigned to the Engineer, timeliness of delivery, rate of errors, and the amount of management attention needed in the project. Engineers who can deliver functional solutions that match requirements quickly and with little management action to correct errors get the best rewards and promotions in the organization.
- Freely Arranged Schedule
You decide when you want to work. What we expect from you are results. Project Leads arrange daily communications with the team in a schedule that works best for everyone, and company-wide there is only one team meeting occurring twice per week. Outside of that, you set your own hours and work when it is easiest for you to.
- Work as an Engineer, Not Just a Coder
Our Engineers work to build solutions and not just to write code. You will have freedom in how you want to architect the solutions you are making and we will heavily encourage initiative on your part, so long as you direct your initiative to quality and effective delivery.
- Growth Within Our Organization
We are a dynamic and growing organization with a team spread around multiple continents. If you prove yourself as a responsible, driven and motivated individual, there will be opportunities for you to lead projects and manage tech teams.
Our candidate selection process is designed to assess people strictly by their merit. We do not make you go through a long round of interviews, instead, we follow a straight-forward sequence:
1. Job Application Form.
2. Online Skills Assessment.
4. Paid Practical Assignment.
5. Evaluation and Offer.
Deep Consulting Solutions
Back End Software Engineer (Node.js)
Tags: node.js, express, typeorm, aws