Remote - Anywhere
This is a fully remote position, full-time or part-time, with flexible working hours and work arrangements.
We’re looking for an experienced developer who enjoys working with server-side technologies and possesses a good mixture of DevOps and application development chops, has been around the block a couple of times and would like to build forward-thinking and innovative solutions with experienced teammates in a progressive-oriented environment.
About the role
You should have plenty of experience in building performant, easy to use, well monitored and well tested APIs, creating and maintaining robust web applications, designing efficient data flows, communicating clearly, sharing knowledge and questioning existing solutions.
If you are a positive-oriented hacker who does not fit the traditional company structure and resonates with the mindset of programming languages and paradigms being just a tool and not a heavy personal attachment and identification, then this role might be the right fit for you.
Our development process
Our development process
We deploy every day. Around this intention, we designed our whole development environment — we love code reviews, solid tests, continuous integration and delivery. It will never happen your pull requests get stuck, neglected or forgotten. There is very little overhead, meetings are kept to a minimum.
We have processes in place to ensure a proper mixture of shipping new features, maintaining existing systems, addressing technical debt, and experimentation.
You’ll hold final responsibility for the solutions you build, from the inception of the idea, to shipping to production. Every member of our team is responsible for a certain subsystem. That means you’re responsible for it to work correctly at all times, and you are given the freedom to implement mechanisms to ensure that.
- Experience with Ruby on Rails framework
- Experience with functional programming
- Solid understanding of working in Linux shells
- Ability to spin up servers, setting them up and make them available for application deploys
- Having a great understanding of the value of automated tests, and ability to implement them across the whole stack
- Designing efficient deploy flows and continuous integration
- Solid knowledge of key-value stores, SQL, and relational databases; preferably PostgreSQL
- Ability to implement and maintain robust concurrent background job systems, having a grasp of concurrency patterns and message queues
- Fluent English, spoken and written, clear and effective daily communication with the team
- Writing clear and concise internal and user documentation
Nice to have
- Experience with Docker and containerized environments
- Experience with Serverless technologies and Lambda
- Experience with message queues and streaming platforms, such as Kafka
- Experience with high volume processing, data pipelines and MapReduce patterns
What is it going to look like
- Working in your own schedule
- Daily communication and updates in Slack, daily stand-ups in written form
- Two weekly conference calls for updates and planning
- Performing planned work using Kanban methodology
- Actively helping with planning, proactive work without needing to rely on your manager to provide work
- Maintaining existing systems and building news ones using technologies like Linux, PostgreSQL, Redis, Ansible, AWS stack (S3, EC2, CloudFront,…), Grafana, Kafka, ClickHouse
- Working on a major ongoing architecture overhaul that affects statistics aggregation part, transitioning from uncached relational DB querying to a scalable streaming architecture using Kafka and ClickHouse
Perks of working at Nightwatch
- Completely flexible working time - pick your own working schedule, and work from wherever in the world you want
- Generous vacation time, family and travel-friendly environment
- Team building events all over the world