We’re Hiring

in Updates

HiringLogo2

We grow slowly and intentionally, so this doesn’t happen often, but we’re hiring.

Here at Mindsense, we’re looking for excited developers who love making things work well. If you’re passionate about creating rock-solid, life-changing applications, and you love Swift or Objective-C, get in touch.

Our HQ in Blacksburg, VA, complete with a foosball coffee table, desks with dry erase surfaces, and a coffee bar overlooking a little glimpse of our beautiful area in the Blue Ridge Mountains.

Why work at Mindsense? We’re an indie iOS & Mac app development studio, sustained only by selling our apps direct to customers, so we answer only to our customers and to ourselves. We use this flexibility to stay responsive to our customers and the market, regularly experimenting with our crazy ideas and futuristic visions.

What’s it like to work at Mindsense? To give you a peek into how we work as a team, we put together three posts: “How we handle time off“, “How we use Strengths“, and “How we implement Kanban & Scrum“.

Why work at a startup at all? Glad you asked, we wrote a whole blog post on that, “Top 5 Reasons to Work at a Young Company“. Why work in Blacksburg? We wrote a post on that too, “Top 5 Reasons to Work in Smart Valley“.

If you’re interested in joining our team, send us an email today.

 

How we use Strengths

in Other

DC0A50B7-87CC-4311-8E3D-9B8CDDE88257-photo 2

It is a unique challenge for a job candidate to speak openly and genuinely about what they’re good at. Sure, a resumé is a decent tool to share experiences and an interview is a great place to ask deeper questions, but it’s difficult to really get to the bottom of what actually motivates and drives people we’ve only just met. One of the first things we do when bringing someone new onto our team is we give them the StrengthsFinder 2.0 book, and ask them to take the online assessment. This isn’t a self-help personality quiz, it’s a resource put together after interviewing 1.7 million professionals from various fields and distilling everything they learned about how people can be the best they can be in within a team in both their personal and professional lives.

By focusing on our strengths, we make ourselves the best we can be. By partnering with people that have complementing strengths, we can, as a team, have all the bases covered by the right people. You’ve seen this a lot with software startups: the common setup requires 3 people: somebody with a knack for design, somebody for development, and somebody for creating a cash flow positive business. You wouldn’t have the guy whose strength is design try to do the financials when somebody else on the team has that strength. Plus, our strengths are intrinsically motivating. Simply because we are good at something, we’ll be even faster at it, because we enjoy it.

Strengths is also about personal growth. The writers argue that focusing on our weaknesses might allow us to take something that we’re only 10% good at to become 20% good at it, while focusing on our strengths can allow us to take something we’re 150% good at to become 300% good at it. I can certainly agree; we’ve seen this in practice. I’m not particularly good with coming up with creative, new algorithms to replace inefficient old ones, and if I spend a week trying to devise a better big data reconciliation algorithm, I might make it 5% more efficient, when a solution that would make it 200% more efficient has already been engineered by someone who has this strength. However, I have a knack for design, and if I spend a week practicing new design techniques and trying to expand my repertoire, I’ll end up with a number of cool new resources which are ready to be published and used.

With Strengths, we learn a good bit about ourselves, but we learn even more about each other. We know how to work with each other, how to communicate more effectively, etc. One of our early developers had high analytical, so we knew in order to get him on board with a decision, he would need to hear all of our reasons leading into that decision and how the circumstances led to that decision. With Josh, who is high achiever, I know that he needs a well-maintained task list. He enjoys seeing what work needs to be done and checking it off. I don’t have the need for to-do lists, but I know he will. I also know not to rid him of the joy of checking something off of our shared lists on our whiteboards — there’s a certain sense of accomplishment and satisfaction that comes with that for achievers.

To make sure we always tap and balance each of our strengths, and to make sure we get to know everyone else’s, we each have a plaque on our desk with our top strengths listed on them. We don’t think we’d be where we are to today, both personally and as a company, without this use of Strengths and, we could not imagine moving our company into its next phase of growth without a culture rooted in Strengths.

Sound interesting? Join our team! We currently have two open positions.

How we implement Kanban & Scrum

in Other

IMG_2625

Kanban

At Mindsense, we adhere to the Kanban process management and improvement method. We’ve found that managing knowledgework can be difficult without a specific method for visualizing our progress and improving our process. Kanban solves those issues.

With Kanban, we have a few major focus points:

  • The workflow of knowledge work is inherently invisible. Visualizing the flow of work and making it visible is core to understanding how work proceeds. Therefore, we visualize our progress with our in-office Kanban board.
  • There is value not in starting things, but in finishing them. Therefore, we limit the amount of work that can be ‘in progress’ at one time.
  • Our process is explicit. By explicitly documenting our process, we can adhere to it better, and modify it more objectively.
  • Monitor process. We collaboratively manage flow, monitor data points on our progress, determine process improvements, and implement them incrementally.

Kanban board — Our physical Kanban board is on the wall in our “War Room”. Each row on the board is a story, and team members move their tasks move through the columns as they make progress on them. There are limits on how many tasks can be in progress at once, to help us understand and use the value of seeing tasks all the way through to completion, instead of just starting a bunch of different things.

Retrospective — At the end of each week, we conduct a retrospective where we reflect on the past sprint and identify any improvements that could be made to our process for the next sprint.

 

Scrum

We use the agile method Scrum. As a result of our Kanban process improvement methodology, our application of Scrum has a few slight variations. We’ve found that we can remain lean and responsive to both the market and our customers by using Scrum. It forces us to have deliverables each week, to regularly make sure we’re working on the most important thing, to estimate task complexity more accurately, and to constantly improve our process.

With Scrum, we have a few major focus points:

  • There is value in how much we produce, not in how much we work. Therefore, each week team members identify what they will be responsible for completing during that sprint. They will demonstrate the final product at the end of the sprint, or they will need to elaborate on why they were unable to finish. In our experience, it’s also a more relaxing, flexible, and healthy working style.
  • Scheduled regular communication can help resolve issues more quickly, reduce the number of interruptions or meetings needed throughout the day, and keep team members responsbile for and aware of the tasks they need to have completed. Therefore, we hold daily standup meetings at 10:30. They don’t last longer than 10 minutes.
  • It is difficult to estimate how long a release might take. Therefore, we score each task on how complex it is, not on how much time we think it will take. Then, we track our velocity — the running average of how many complexity points we have completed per sprint. Using our velocity, we can see how much we should expect to be able to complete in future sprints.
  • As a young company, it is imperitive that we remain responsive to the market and to our customers. Therefore, we implement short, 7-day sprints that allow us to push deliverables and re-prioritize future tasks regularly.

Sprint planning meeting — At the end of the week, we hold a brief meeting to determine the most important things we need to do the next week. At the beginning of the week, we hold our sprint planning meeting to determine what will be done. During this meeting, we prioritize the backlog, and determine what can be feasibly shippable in the next sprint.

Daily Standup — Every day at 10:30 am, we hold a standup. These are held at our Kanban board. At a standup, each team member breifly answers the following questions:

  • What have you done since yesterday?
  • What do you plan to do today?
  • What impediments are in your way?

To maximize the value of our daily standups, team members don’t demo functionality until the sprint review if possible, and avoid discussing progress updates during the day until the next standup unless if immediate feedback or action is needed.

Sprint review — At the end of the week, we hold a sprint review where we review the completed work, the planned work that was not completed, and present demos of the completed work.

We’ve found this process to work really well at applying methodologies around many of our core values and understandings surrounding the work that we have. We’re constantly improving it, so this is really just a snapshot of where we’ve ended up today after two years of tweaking and iterating.

 

Sound interesting? Join our team! We currently have two open positions.

Top 5 reasons to work at a young company

in Other

Header2

We’re proud to be a small company, and we enjoy a lot of the benefits that come with it. Here are some of the top reasons to work at a small company or startup.

5: Ship code immediately

At a young company, you’ll start shipping code in the first two weeks of working. No 6 month rotational training program, no required probationary supervision period. Just the chance to apply your skills to real work, and, at Mindsense, the opportunity to produce something that improves the lives of over 50,000 people.

4: Have an impact on the team

At a larger company, you enter an environment that you wouldn’t be able to help improve until after a few years and a few promotions. At a small company, you don’t have to live with something you’ve identified as improvable; you can do something about it. For example, here at Mindsense, a member of our customer support team recently identified a number of ways we could improve our planning process to make it more customer-oriented. At a large company, it may have taken months for his ideas to reach the people that can make the change, and even then he may have been stonewalled. Instead, we started implementing his suggestions the very next week.

3: Explore more skills

When you’re hired for a job at a large company, you’re typically responsible for a very specific thing. You have one job, with one programming language, on one piece of functionality. At a young company, you get to spread out a bit. You can help out with the marketing, website, and design one day, and implement a more efficient array searching algorithm the next. You have the opportunity to apply all of your strengths, and inquire about exploring some of your newer interests.

2: Direct your own life

Getting started at a larger company loses its excitement usually around the time you’re told about the vacation policy, process for requesting time off, the number of days you’re allowed to become ill, and how to accrue more time off by sitting at your desk for a specific number of hours each day. Many smaller companies have been able to buck this trend of treating adults like children. At Mindsense, team members don’t have set hours, vacation or sick days, and we don’t accrue time off. Instead of focusing on red-taping team members to their desks, we focus on providing meaningful, motivating work, and a relaxing, fun place to work. (Read more about how we handle time off.)

1: Grow

Personal growth at a large company means working the office to find opportunities for promotions. Personal growth at a small company is directly tied to the growth of the company itself; and small companies like Mindsense offer the chance to multiply the value of your work to quickly grow the company, resulting in fast personal growth. That means that at a small company, personal growth means doing your work the best you can, and helping the company be better at what it does overall. That’s truly satisfying.

 

Want to work at a small company? Join our team! We currently have two open positions.

How we handle time off

in Work Smarter

245686_7173

In a year, you get 10 days off. You accrue more days at a specific hour to hour ratio, and they will roll over at 50% for a maxmimum of one year. You’re allowed to get sick 7 times in a year. Sick days do not roll over. Other than that, you have to be in the office 8 hours a day, starting at 9. Welcome to Kindergarten.

When we get to college, we are charged with the responsibility to direct our own lives. No one will be calling if you don’t go to class. If you’re ill one day, no one questions it; you just have to find out what the missed work was and get it done on time. No big deal, you’re adults now.

Then, you graduate, enter what they call “the real world” with “a real job” and you’re told exactly where to be and when. Exactly what days you will have off. How much you’re allowed to get sick. How the game of accruing time off works, the only thing more complex than accruing rollover minutes on your cell plan. This baffles me. That’s not the real world. You’ve graduated into a world where “adults” are treated like children, apparently expected to be less responsible than college students, exemplified by the red tape that adheres you to your desk.

At Mindsense, we believe that if people have exciting work that motivates them, and a relaxing and fun office to go to, then they will do what they need to do, without rules for when they must be present at their desks. We understand that some people are more productive in the morning, and some people are more productive later in the day. We’ve seen that when people are given a greater level of autonomy, their motivation increases, but also their work is no longer tied to counting hours at a desk to “earn” the time to spend with their families later, rather their work becomes more directly tied to the greater mission of the organization. We also place a lot of importance in making sure people have the freedom to be with their families when they can be.

Team members get 0 vacation days. 0 sick days. 0 holidays. You don’t accrue time off. Instead of focusing on when and how much someone is in the office, we focus on what needs to be done, and what is accomplished. At the beginning of the week, team members decide what they will get done, and at the end of the week, they share their finished products with the team. Team members can be in the office when they know they are most productive, and no one is counting their hours to make sure they’ve earned time off for their family vacation in the summer.

We feel this is how all working professionals should be treated. Unfortunately, it’s not the case in most organizations. But we hope we can help pave the way to empower professionals with freedom and autonomy, while taking care of our responsibilities of providing meaningful work that has a significant impact, and an exciting, relaxing, and fun place to come each day to work and collaborate.

 

Sound interesting? Join our team! We currently have two open positions.