Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What to do about dogma in a company culture?
15 points by jamesku on July 29, 2018 | hide | past | favorite | 27 comments
The million dollar question. This is no doubt a problem that almost every developer has, that they've somewhat come to accept as normal. I'm just curious to see if anybody has any answers.

For example, the company I'm employed at now is all over React Native as being the savior of everything. While I think that it's a good platform, I'm also cautious of investing all of our energy into it, instead of diversifying, and ignoring advances made in platforms more conducive to AR, ML, and WebAssembly.

I know that favoring CRUD apps over missing the boat in AR, ML, and WebAssembly, is in the company's best interest. But it's neither going to be in mine or the company's best interest if we invest all of our energy into 1 platform and 2 years from now have an "oh crap" moment where we realize we're too far behind. Dogma is extremely dangerous for this reason. What is the most diplomatic yet assertive way to combat it?

It's tough. I experienced that at a previous job, at a consulting firm, which prized Excel expertise over everything else (eg over data science skills with Python).

I just left, as I knew there was no easy way to argue.

I think you're in a tough spot. Unless you're very senior, and have buy-in from all the higher-ups, it's going to be almost impossible to change the course of the company. Unless you have a specific reason to stay, I'd move on. It'll be a huge battle that you're most likely going to lose, and even if you win, you'll be blamed for all the downsides of the solution you propose. That was my experience.

This has been my experience too, unfortunately, and I'd like to try something different to leaving. I work with amazing people, very smart, and very approachable. I'm questioning whether I should leave whenever I'm in this situation or if there's a more tactical approach I could take to guide them into a more diverse & adoptive mindset.

I agree, it sucks. I definitely would rather have worked with the rest of the team rather than leave as the core idea behind the company was pretty awesome.

Are you in this position currently? Are you trying anything different?

So this is one of the hardest lessons for engineers to learn. Being right doesn't actually count for very much in the end.

My company is investing heavily in ML capabilities despite having no strategy whatsoever on what to do with it.

The fundamental problem is a lack of customer focus. Technologists get so far up their own butts that they think technology choices are more important than solving customer problems.

This is the correct answer. Whenever someone argues for a certain technology (e.g. for rewriting in a different language or framework), ask for the benefit to the customer.

I absolutely agree. What is a tactful way to convince others of that benefit?

It's not an argument per se, it's a value system. A rewrite may be warranted if it allows you to deliver more features and improvements to customers afterwards. It's not warranted if it means you'll just stop delivering features and improvements for a year without accelerating the rate of improvements after the rewrite.

You haven’t articulated why those other technology categories are important to your company’s technical strategy outside of “don’t wanna miss the boat” (which in itself is rather dogmatic). Start there.

Indeed. What does the company do? It's entirely possible they don't need to be on any hype train.

Is it dogma if it is correct?

You didn't really say why your company shouldn't go all in on React Native. Maybe they're small and they would benefit from being focused on React Native for now?

I'm kinda confused on why ML and AR need to be focused on instead of or along with React Native.... kinda different things and not mutually exclusive. There's certainly some dogma out there about jumping into a laundry list of hot topics too, even when they don't fit.

It's not about ML, AR, or react native, these are just examples you're getting distracted by. There are a ton of other examples anyone could give, but it's a distraction to focus on a specific example when the premise is ignored.

I'll be honest: Based on the way you snipe at the replier for _your_ lack of clarity and the tone of your original post you might be in that category of engineers who think they're some kind of super genius but are actually just assholes.

But you choose those, and the decision to focus on something certainly involves what else you might choose....

If you're at a startup (guessing so since it's HN) it's almost always better to commit hard to one approach, have that fail, and just pivot to something else. In any case, you'll be competing with teams who have chosen to commit hard to one thing, so diversifying is likely to win only if there are true synergies in doing these other things.

Dogma is it's own thing, and it's easy to spot because the argument in support of a dogmatic position will stop far short of making the point in terms of net revenue (future and present) or proxies like development latency. That's bad, but putting all your eggs in one basket isn't dogma necessarily. Diversification needs justification.

You bring up some good points.

It depends on your company but for most companies investing in the latest platform is not useful. The danger of "missing the boat" is often less than chasing the latest tech while not providing customer value.

If you want to expand the company's tech portfolio you should look at where there is a gap right now. Provide examples how ML or whatever could provide more value to the customer than there is right now.

Why do you care if “your” company is behind in two years? Unless you have equity in the company, you have no interests in the long term viability of the company more than doing the best work you can while you are there.

As long as you are using marketable technologies (and you are), if that company folds tomorrow, you go out and get another job - more than likely making more money - and call it a day.

It depends on the size of the organization. Most places will have the bulk of people working on a solid safe solution/product that gets tweeks and improvements. The cash cow. As well as this they will usually have a few skunkworks/blue sky people exploring new ideas.

It's all about risk. Keep the money coming in only until one of the research efforts proves it's case or the risk/reward allows more funding.

If you want to do something usual then get into one of the research efforts or do the hard yards (probably in your own time) and actually make a business case for some other tech.

I think there are many problems with this question:

- Building an application that features Augmented reality on React Native is possible. What prevents you from adding AR to react native application? Project requirements, not technology.

- Machine learning is subset of computer science. What exactly in React native prevents you from applying machine learning concepts? Project requirements, not technology.

- WebAssembly interoperates with JavaScript. I don't see the problem here.

Collect data, make it available. If data contradicts dogma then there is awareness.

On futureproofing emphasize X year plans with same stack will use X years old methodology product; and will not integrate business value until placed into production. Product launches should have conservative ballance of feature set and time to market.

The reason why work weeks are capped at 40 hours is so you have some time left over for yourself to explore other technologies.

However, if you can’t get the team lead’s or the CTO’s ear, quit.

I don't think that's the reason :)

Start a project in your free time inside your office hours to show them they are wrong.

Is it right to invest so much time and energy in a company that isn't even yours?

I can't see the point of doing work demos dressed as pet projects unless you have a performance bonus or significant equity at stake.

Even then following blindly their "dogma" will make you look better, at least in the short and medium term.

Besides, they may even sue you for IP violation if you use any of their data/code/business rules for your datasets/program.



I haven't read well the "inside" bit in inside your office hours in parent's post so my first point is moot and scarface74's remarks are on point. Sorry for the misunderstanding.

Is it right to invest so much time and energy in a company that isn't even yours? I can't see the point of doing work demos dressed as pet projects unless you have a performance bonus or significant equity at stake.

Yes it is right. A few different things will happen.

- They will see the error of thier ways, change direction, invest in your side project and give you a nice little raise/promotion/bonus for it (not likely)

- They will see the value of your idea, use it in thier business and give you a nice little pat on the head. You can use that on your resume and get another job making more money.

- They will not like your idea, but you still learned a lot and you can still leverage that to make more money somewhere else based on what you have learned.

Unless I have some great way of monetizing a side project (which I never do), I’d much rather do a side project for my employer. I get to see it out in the wild, I have a defined goal based on a real world use case, and it keeps me more disciplined from taking shortcuts because I know it will be reviewed by others and I can get thier opinions - even my managers.

Most likely they aren't wrong though.

Applications are open for YC Winter 2022

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact