Job Description - Software Developer (Experienced)
Syook is an established startup with multiple tier-1 clients, headquartered in Bengaluru, working in the B2B space. We're on the verge of international expansion and hence looking for people who want to learn, contribute and grow along with us. If you are someone who enjoys getting your hands dirty and building things from ground up (which also means you learn truck loads), then we have a place for you!
Our flagship product Syook InSite allows businesses to visualize their operations, providing information that can easily translate into measurable impact on the bottom-line. InSite is an Industrial Internet-of-Things (IIoT) solution that uses Bluetooth Low Energy (BLE) beacons to generate highly-accurate location data of all your resources (both assets and people), at much lower costs than https://syook.com/rfid-vs-ble-vs-uwb-vs-wi-fi/">comparable technologies. The result: Quick RoI and Improved Operational Performance. It’s Industry 4.0, ready for deployment!
First and foremost, we're looking for people who are excited about what we're doing -- you don't need to know anything about IoT, but should be excited to learn. We're building in an entirely new space, so you'll be able to use creativity to help us solve problems and delight our customers.
Our product stack is MERN (React, Node + Express, MongoDB) and we use React Native on mobile.
We’re looking for someone who has always loved to solve problems and write clean, neat codes with excellent comments, as well as maintain clear documentation. It’s great if you also love getting on the creative side of things and enjoy creating user experiences that are inviting, intuitive and impactful. Designing the layouts of the product, the navigation and the complete look and feel of it could also be something you are involved in.
Now let’s come to what you need to fit into this role :-
- You primarily identify as a full stack engineer and are comfortable working on the server-side as well as have sound knowledge of frontend.
- You have experience in leading a pod (3+ years) and have engineered a product at scale.
- You can write non-trivial programs in Javascript/Python. If you don't know either, you can learn a language quickly.
- You can write clean, modular code in either Object-Oriented style or Functional style.
- You are fluent in using at least one NOSQL DB, preferably MongoDB, but feel free to surprise us.
- You have shipped code to production recently, regularly.
- You are driven and care about doing a good job and improving your craft.
- You are fluent in using the tools of the trade: Testing, Infrastructure Setup, Code Pipelines, Editors, Git, Command line, Slack, Jira
- You have high integrity and you are reliable.
- Can lead a highly driven team and galvanize Syook Engineering in the tech community and position the engineering team for growth.
- You have a growth mindset, can keep up with the latest technology changes and trends and suggest enhancements based on these
Apart from the above it would be a plus if you also have
- Experience with Docker & Kubernetes
- Experience with Kafka
- Open source contributions
A day in your role will involve any of the following (or a combination):
- Lead a pod of 5-6 developers to carry out sprints and develop features
- Be part of product planning with the product manager
- Understand the requirements and give adequate time estimates for the features
- Take the lead in deciding how to build what needs to be built for scale
- Coordinate with QA for every release and make sure releases are bug free
This list is not exhaustive at all, and you'll have a lot of autonomy over your work.
This is a full time position based out of Bengaluru with the option of working remotely few days of the week. During the interview, you'll be able to share what you're most interested in.
Why you might be excited about us
- We're working to solve a massive global problem and help organizations be more competitive. We love solving problems using technology and are bridging a massive gap in the operations excellence domain.
- We're small, so you'll be able to contribute efficiently and without bureaucracy. You'll quickly have responsibility over big areas of our product.
- Our team has a wide range of experiences (Oilfield, Telecom, Psychology PhD, etc.) and are excited to learn from you, too.
- You'll be able to work independently and set your own schedule. We don't micromanage and will help you do great work. We trust our people and believe that each person here puts their best foot forward.
- We'll mould your role to shape a career you're excited about. We care a ton about your satisfaction and job happiness, and will help prep you for whatever you're looking for in the future.
- We work hard and also highly value balanced work/life. We care about family and your own personal development, and don't expect for you to be always engaged with work.
Why you might not be excited about us
- We're small (~30 people in the company now), so if you like more established companies, it's not (yet) the right time. You'll have to help build our company's culture too.
- Since we're an established and growing startup, projects and priorities may shift.
- Our customers love us, and there's a lot we can improve. It's a great place to be, but this means there's some jank. (Nothing too scary! 😃)
- We can't (yet) provide constant close mentorship for junior developers. As we grow, we'll get a lot better at this.
- Since you'll have a lot of responsibility and creativity over projects, they may not be defined perfectly initially. You'll be expected to bring your own experience and perspective to help us do the right things, and raise flags if you think we should do things differently.
None of these are requirements, but do describe the kinds of people that we think would be most effective at Syook right now.
- Love thinking broadly about problems and thinking creatively about how to solve them efficiently.
- Happy to try things out to validate new features, and move on if they no longer solve a problem.
- Excited for a front-row seat into a fast growing, early stage company. Things will change a lot!
- Enjoy thinking through trade-offs, with both mindfulness of short-term needs and our long-term direction.
- Happy writing documentation so that others can ramp up super easily and you're never a single-source-of-failure. We're a bit too small to have silos.
- You are driven and care about doing a good job and improving your craft.
- You have a growth mindset, can keep up with the latest technology changes and trends and suggest enhancements based on these
- Most importantly, you’re the kind of person who is friendly, approachable, ready to help others and personally driven to put your best foot forward.
Technically these are some of the things we would like for you to have to be able to contribute effectively in this kind of a position:
- You are fluent working with client-side and server side scripting and JavaScript frameworks, in particular Node.js, Mongo.db, React and React Native along with state management libraries like Redux.
- You are proficient in understanding of web markup, including HTML5, CSS3
- You have experience in developing mobile apps and have put it to production
- You can write non-trivial programs in Javascript.
- You can write clean, modular code in either Object-Oriented style or Functional style.
- You are comfortable with Test Driven Development.
- You have shipped code to production recently, regularly.
- You are fluent in using the tools of the trade: Testing, Infrastructure Setup, Code Pipelines, Editors, Git, Command line, Slack, Jira.
Apart from the above it would be a plus if you also have
- Experience with Docker
- Open source contributions
Our current development practices
Since we're an early-stage startup, we constantly have to ask "what gets the most value, cheaply, to validate our assumptions?" We build some things to last a long time, and others as prototypes.
We use linting, e2e testing, CI CD, observability logging, and production probers. We've documented both our web and mobile apps so that you should be able to get started easily—and if you need help, we'll absolutely improve our docs—and contribute your first day.
We recognize the value of maintainability and keeping our developer experience nimble. Our sprints are for 2 weeks and we push releases to production as per this schedule.
You'll help push us to be our best, and we're excited for recommendations and insights you have as you join. You'll be an owner and contribute towards how we work.
We want you at your best, and won't be giving you gotcha-style algorithms questions. We want to get to know you, hear about what you're interested in, and learn about what you hope to do in the future.
1. Meet us and learn about Syook
You'll first talk to Sarlaksha or someone from the People Services team (over phone or video) and won't need to prepare anything in advance. The goal of this conversation is to get to know you and mutually explore if we might be a good fit for each other. You'll learn more about Syook and have a chance to ask any questions about our company, team culture, and product.
If we're both excited to continue, we'll send along a bunch of information about the company that you can go through on our own time. You'll then have the opportunity to chat with other people in our company to learn more about them and the company.
2. Technical conversation
We'll have another conversation to talk in depth about your technical experience. We'll talk about frameworks you've used, how you make technical decisions, types of problems you like to solve, etc. You won't need to prepare anything in advance.
This is primarily used to get a better feel for your experience, how you work, and where you may fit in. It'll be used to design the rest of the interview process.
Through this and the next steps, you'll meet more people in the company so we can get to know each other.
Everyone has different strengths, and we want you to do your best. Our goal is for you to clearly demonstrate your technical aptitude. We're open to accommodating what would work best for you.
We can choose mutually between several different options:
- A live pair coding session where we'll work through some problems.
- Working through similar problems independently as a take home challenge.
- Presenting any previous work you've done (example: open source, side project, or even another interview you did).
4. Reference conversations
We will talk to a few people you've worked with before to learn more about how we can best work with you. We expect to hear great things, so this is primarily so we can work with you as effectively as possible.
If you're excited to learn more, you should apply for the job pronto. If we think you might be a fit, we'll respond really fast. Please let us know if you have timing constraints. Regardless, we'll try our best to respect your time along the process.
You can learn more about what we're up to:
- Our company’s website (https://syook.com">https://syook.com) to learn more about the space we're working in, where we write about how IoT is a gamechanger to build smart factories and workspaces.
- Check out our social media handles like Facebook, LinkedIn, Twitter and Instagram (https://www.facebook.com/syookapp/">https://www.facebook.com/syookapp/, https://www.linkedin.com/company/syook/">https://www.linkedin.com/company/syook/, https://twitter.com/syookapp?lang=en">https://twitter.com/syookapp?lang=en, https://www.instagram.com/syookinsite/">https://www.instagram.com/syookinsite/)
If you think you're a good fit here, then we should get talking!! If not, all the best with your job search.