Senior Software Engineer (Backend – Node.js, Golang, Php)
Roles and responsibilities
All engineers at Red Airship are expected to:
- Meet programming and quality standards by following production, productivity, quality, and customer-service standards; identifying work process improvements; implementing new technology.
- Integrate applications by studying and implementing API’s and libraries.
- Troubleshoot development and production problems across multiple environments and operating platforms.
- Support users by developing documentation and assistance tools.
- Work with the customer’s architects and developers.
- Hone your skills, update job knowledge by researching and trying out new technologies and software products; participate in educational opportunities; read professional publications; maintain personal networks; participate in professional organizations.
On top of these, a typical week at Red Airship in this role may involve:
- Defining application objectives by envisioning system features and functionality, analyzing and clarifying user requirements with customers.
- Making technical decisions, researching best practices and technology required for a project, comparing advantages and disadvantages of various technologies either custom-built or off-the-shelf.
- Driving enablement and training of new team members; Supporting individual development of other developers by providing advice, coaching and educational opportunities.
- Conducting regular code reviews and guiding developers to adhere to appropriate standards.
- Leading architecture design and solutioning activities.
As a senior position, you are also expected to take part in defining your own role and responsibilities.
Required skills and experience
Excellent technical skills and industry experience are a must, as you’ll be representing Red Airship working with some of the best companies and sharpest minds. We don’t expect you to be experts in our entire tech stack, but we believe the best people can transfer their skills and experience to the language or framework where required.
- Exceptional interpersonal communications capabilities demonstrated through a history of successful software development projects.
- Comfortable talking to clients and end users and advising on hard decisions.
- Good presentation skills, effective communication internally and externally.
- High level of self-motivation and maturity.
- Capacity to evaluate trade-offs between correctness, robustness, performance, space, and time.
- Strong desire to tackle hard technical problems and proven ability do so with little or no direct daily supervision.
- Deep experience designing, building, and operating in-production data processing, web transactions, real-time communications, batch jobs, analytics, report generation, and enterprise integration solutions.
- Understands web security and best practices.
- Experience with Agile mindset, SCRUM methodology, and TDD.
- Knows OOP and functional programming, and when to apply which.
- Knows when, why, and how to accept technical debt.
- Familiar with classic Linux and container-based environments.
- Detailed knowledge of Platform, Infrastructure, and Software as a Service (PaaS, IaaS, and SaaS), including the players and solutions that are available on the market.
- Bachelor’s level degree in Computer Science, engineering, mathematics, or another related field. In the absence of which, at least 6 years of working experience in related fields.
There are always extra skills that can give you an edge, not necessarily just in technology:
- Previous experience building solutions involving Drupal 6-8, microservices, real-time socket-based backend, relational and NoSQL databases, message queues, AWS/Digital ocean/Azure.
- Commercial acumen, experience working alongside commercial teams.
- Prior experience working for a technology startup
- Project management experience, working with any known methodology and more importantly, being able to scope, manage and deliver on a plan no matter how simple or complex.