Welcome to the elephant handbook. Our resumé, manifesto, vision and guide to life at Thinslices.
Humans by nature, engineers by choice.
This handbook covers some of the key elements of the Thinslices culture: what our vision and values are, how we're organised, how we work, and some of the principles we follow.
Humans by nature, engineers by choice
Every interaction starts with the person in front of you. We assume the best of intentions and set the tone for a constructive collaboration whether you’re an intern or a C-level manager.
At Thinslices we empower you to build your own experience, to give and receive feedback, and to make your own mark on the future of the company. Engineering is the tool we use to win together.
Motivation through autonomy
Teams have the power of choice in how projects are delivered, tasks are assigned, and new members are onboarded. Inside each team, trust is granted, not earned, because it’s the authentic way to create a real sense of collaboration.
The freedom you have to do your job is just as important as the freedom to speak up when something doesn’t feel right.
We bring together teams capable of building and delivering world-class technology products.
We take pride in our craft, and constantly upskill to add value for our customers. We don't settle for 'good enough', we strive for excellence. Our results speak for themselves, and we value humility over boasting.
Debate. Discuss. Engage.
We act according to the following values. This is how we treat each other, our clients and our partners.
Change is the only constant. Embrace it!
Every pain is an opportunity
Be part of the solution
+ Team players
Care for your teammate
Lend a hand
Sweep nothing under the rug
Empower by sharing information
Be receptive to feedback and new ideas
+ Engineering mindset
Find the root cause (ask the 5 whys)
Plan before you act
Solve like an engineer
Take commitment seriously
Go the extra mile
Great teams, great results.
We’ve developed the entire company around project teams who build and deliver world-class technology products to our clients. They are backed up by management and support teams.
Instead of organizing team members into departments, we create high-performance teams based on a unique combination of people attributes and the Agile mindset:
+ People Attributes
Love for tech
Resilience & grit
Adaptability & low resistance to change
Self-development & drive
+ Agile Mindset
Satisfy the customer's needs through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Work together daily throughout the project with business people.
Convey information to and within a development team through face-to-face conversation.
Promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Pay continuous attention to technical excellence and good design.
Reflect at regular intervals on how to become more effective, then tune and adjust behavior accordingly.
We don’t like things to be too formal. We are all one team and our success is dependent on collaboration.
Elephant life is good!
- Private medical insurance
- Learning events & certifications
- Bookster subscription (RO)
- Headspace subscription
- Company therapist
- Emergency days (unlimited)
- Financial bonuses
- Extra vacation days
We hold regular events and gatherings that are elephant-driven, so they're not mandatory or awkward. We have a weekly book club, social coffee meetups, courses and workshops - as well as the annual teambuilding and Christmas party.
Software Professional Manifesto.
The Thinslices Software Developer understands and adheres to this manifesto. They are T-Shaped Software Developers, Responsible Engineers, Software Craftsmen.
+ Know what you are building
You should understand your client, their needs, their environment and always try to give them the best solution that you can think of.
+ Don’t be a code monkey!
Don’t deliver bad products. Under no circumstances will we ship something that doesn’t work. No schedule will make us do this, no yelling manager will make us do this. If it is crap we will not ship it!
+ Write clean and maintainable code
When you write code you should take into consideration possible scenarios that will change requirements of the product. These changes shouldn’t end up into a rewrite or impossible estimations. You must not give horrible estimates and you must not let the system reach a point where redesign is a must!
+ Don’t be afraid to tackle any challenge
When you see something in the code that is wrong, clean it instantly without fear, without hesitation. You should clean and refactor the code with fearlessness and competence!
+ Quality should be your goal
You should go home every night and look in the mirror and say: “Man, I did an awesome job today!”. You should always know that you did the best job that you could do!
+ Give honest estimates
The most honest estimate is I don’t know. You should find out what you don’t know and provide the range of the estimation. People rely on your estimates!
+ Learn to say “No”
You were hired because you think before taking action. You are the ones who know and the only ones who have the knowledge to say No. When you say Yes you make a promise and you will do whatever it takes to deliver on it. The worst is to say “I will try”!
Feedback is a gift.
Feedback has nothing to do with hierarchy. Anyone can and should give feedback to anyone. Feedback is not judgment, nor is it an absolute truth.
Feedback is someone that cares enough to tell you what they think about a situation you were in, in the hope that you’ll find the information useful. They may not have all the facts and they may not have interpreted some things accurately. That’s fine, they’re not saying you suck, they’re just calling it as they see it, from their point of view. It’s always better for you to know what they think, rather than to not know.
Thank the colleague who gave you feedback and remember to return the favour when you can. The best feedback is short, given on the spot and specific.
Praise in public, criticise in private.
Improve and innovate.
Learning is a big concept and it means different things to different people. We all have our learning styles, preferences and routines.
One of the best ways to learn is on the job. Along with our clients, we value skills above roles. Skills that create value are the basis for performance, career development and salaries in Thinslices.
Each role has a list of skills that create value. But the list isn't static just as the market isn't static. Skills that created value 5 years ago have evolved, some have even disappeared or have been replaced by new ones. Here are some skills we currently look at:
+ Soft skills
Estimate work items
Break work items into sub-tasks
Deal with uncertainty and get shit done
Understand and communicate requirements
Act, Speak and Think as a Professional
Software Developer as described in Clean Coder
+ Software engineering skills
Unit testing and TDD
Implement well known software design patterns
Apply clean code principles as described in Clean Code (there is no other version of clean code, so read the book)
+ Web Services skills
Design and implement RESTful APIs for web services
Design and implement GraphQL APIs for web services
+ AWS skills
Define and deploy monitoring, metrics, and logging systems on AWS
Implement systems that are highly available, scalable, and self-healing on the AWS platform
Identify key features of AWS services and use the AWS service APIs, AWS CLI, and SDKs to write applications
Develop, deploy, and debug cloud-based services using AWS and writing code for serverless applications using CDK
Identify which AWS services meet a given technical requirement and define technical requirements for an AWS-based application
+ React & Web Apps skills
Document React UI components using Storybook
Write tests for React UI components and pages
Design and implement React UI components and layouts
Design and implement Web SPAs with React
+ React Native & Mobile Apps skills
Interact with and use native APIs
Write tests for mobile UI components and pages
Troubleshoot and debug compilation and build issues
Design and implement Mobile applications using React-Native
Design and implement Mobile (Android, iOS) UI components and layouts using React-Native
Think like a business.
We believe in giving people autonomy - and not just to tick a box. All our teams have autonomy on how they deliver a project, assign tasks, and onboard new team members.
Regardless of the team or project you're on, as an elephant, you're responsible for your experience. That means contributing with ideas, taking ownership of tasks, making decisions on matters you're accountable for, reaching out to other colleagues who can help you deliver your objectives. So no excuses. We're all here to learn, grow, deliver quality, and create value.
We're a team. We look out for each other, and we all contribute to making Thinslices an amazing company to work with.