Job Description - Associate Software Engineer (Frontend)
Who are we
Syook is an established startup headquartered in Bengaluru, working in the B2B space. We are
currently on the path of high growth and productivity, and great culture building (because we
know the two go hand in hand)! We are looking for folks who will ask questions like why/why
not, what can I do to make this better, how can I help the company and most importantly, what
can the company do to help 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 comparable technologies. The result: Quick RoI and Improved Operational
Performance. It’s Industry 4.0, ready for deployment!
Role overview
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) with a few services also written
in Java and Go and we use React Native on mobile.
We’re looking for someone who has always loved to be on the creative side of things and enjoys
creating user experiences that are inviting, intuitive and impactful. You must enjoy designing the
layouts of the product, the navigation and the complete look and feel of it.
A day in your role will involve any of the following (or a combination):
● Develop new user-facing features
● Build reusable UI components and libraries for future use (for web and mobile)
● Ensure the technical feasibility of UI/UX designs
● Optimize application frontend (web and mobile) for speed and scalability
● Ship out bug free code using TDD
● Work towards more stability & scalability of the frontend
● Understand the requirements and give adequate time estimates for the features
● Coordinate with QA for every feature 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
1. 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.
2. 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.
3. Our team has a wide range of experiences (Oilfield, Telecom, Psychology PhD, etc.) and
are excited to learn from you, too.
4. 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.
5. 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.
6. 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
1. We're small (35+ people in the company now), so if you like more established
companies, it's not (yet) the right time. You'll help build our company's culture.
2. Since we're an early stage startup, projects and priorities may shift.
3. Our customers love us, and there's a lot we can improve. It's a great place to be, but it
means there's some jank. (Nothing too scary! 😃)
4. We can't (yet) provide constant close mentorship for junior developers. As we grow, we'll
get a lot better at this.
5. 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.
About you
None of these are requirements, but do describe the kinds of people that we think would be
most effective at Syook right now.
1. Love thinking broadly about problems and thinking creatively about how to solve them
efficiently.
2. Happy to try things out to validate new features, and move on if they no longer solve a
problem.
3. Excited for a front-row seat into a fast growing, early stage company. Things will change
a lot!
4. Enjoy thinking through trade-offs, with both mindfulness of short-term needs and our
long-term direction.
5. 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.
6. You are driven and care about doing a good job and improving your craft.
7. You have a growth mindset, can keep up with the latest technology changes and trends
and suggest enhancements based on these
8. 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:
1. You are fluent working with client-side scripting and JavaScript frameworks, in particular
React and React Native along with state management libraries like Redux.
2. You are proficient in understanding of web markup, including HTML5, CSS3
3. You have knowledge of developing mobile apps
4. You can write non-trivial programs in Javascript
5. You can write clean, modular code in either Object-Oriented style or Functional style
6. You are comfortable with Test Driven Development
7. You are fluent in using the tools of the trade: Testing, Editors, Git, Command line, Slack
Apart from the above it would be a plus if you also have
● Knowledge of 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.
Joining our team
Interview process
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.
The conversation will also revolve around 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.
2. Technical challenge
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:
1. A live pair coding session where we'll work through some problems.
2. Working through similar problems independently as a take home challenge.
3. Presenting any previous work you've done (example: open source, side project, or even
another interview you did).
3. Technical Discussions
If you clear the technical challenge then we will have a few rounds of technical discussions
where we interact with you to understand in depth about your craft. These discussions will be
with one of the engineers at Syook whom you will end up working with and the final discussion
will be with our CTO (Aman Agarwal). We will try and see how you can augment our engineering
culture and we’ll discuss the bigger picture also. You will also get to understand what your role
is all about and how you can grow with us. Feel free to ask for feedback and any other questions
you may have about the company and we will be happy to share the same.
4. People & Culture fit round
If you reach this stage, it automatically means that we’re convinced of your technical skills.
However, that’s never enough for us. We want to ensure that you will feel comfortable working
with us and that we can give you an environment where you can be your productive best. We
will use this discussion to understand what you bring to the table apart from your technical
skills in terms of initiatives, personality, and a certain entrepreneurial mindset.
5. 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.