Can't speak for how CCI is run, but that's how it is at most places with more than 10 people.
We go through these cycles where “I have no idea how they make money but they keep paying me” stops working. There’s only so long you can work for a company that doesn’t have a viable business strategy.
I don’t expect engineers to fix the business strategy, but I expect them to consider it when choosing to join a company or to stay.
For many companies, you cannot be qualified to make this determination.
Let's say I interview at a farming tech startup. They tell me that there are X million farms in america, and Y million have told them they want the crop software they're building. How do I make that determination of whether this is a viable business strategy? I'm not a farmer, I do not know enough farmers operating large farms to gather that data myself, I have to trust the company to represent this truthfully.
This even applies to things like CircleCI, where the product is something an engineer can understand well. I know what tools I as an individual developer use, but CircleCI is targeting enterprises, which I decidedly am not. I have no clue how some enterprise shop works. Again, I have to trust how the business present itself.
But yeah, for industries we don't understand... hope it's publicly listed and has some insightful annual reports is probably the only option.
It’s hard but useful. If you know this, you will be more successful whether you’re in engineering or sales or whatever.
I research every business and organization I do business with. It’s not perfect, but it’s part of my decision making process.
In CircleCI’s case, this would be me looking at the financials (hard because they are private), talking to some friends who use them, and, since I know some tech, trying the product.
It’s not wise to trust every business as every business has people thinking and saying they are great. It’s wise for an individual to assess these for themself. Companies success isn’t entirely random.
The research makes you more able to make an accurate decision. It helps improve your outcome.
I don’t think being qualified is important here. I think the important piece is to make a good decision to join a firm, or leave a firm.
There’s no perfect information, but every potential employee has the ability to improve their chances by researching important decisions like this.
I think a good litmus test is if I can’t answer “how do they make money” or “how will they make money” or “how do they create value,” then I don’t want to work for them.
1) Follow the money - where is it coming from ? why would it keep coming in, what is needed ? where does it go ?
2) Competitors - who are they and what are they doing.
For your hypothetical farming tech company, find out about other farm tech companies who have similar product/market segment and look at their offerings, valuations and revenue model. If one does not have this reference point and doesn't have the domain knowledge, then one should not consider said opportunity unless one wants to gamble.
A good engineer would be like: “f—k it, I fixed it.” And the priorities would then get shifted around it.
Identifying when this is the right time to act and fixing it often makes the engineer gain seniority.
(Yes, it only works when both business and tech are broken. If it’s just the tech broken, then engineer will probably get pipped for working on wrong thing)
Business and pricing model not so much unless the engineer is willing to add the Sales prefix to their engineer role ;)
But even the pricing model - measure and compare the costs, competitors, and value derived (ok, commodity now vs 5yrs ago) and work with people pitching prices.
That’s still designing, analyzing, measuring systems - prices instead of code - definition of engineering.
I think CircleCI has a niche in orgs that self-host code in e.g. phabricator or gerrit, and want a cadillac CI experience without building it themselves in jenkins or similar. I'd argue that niche is shrinking, and as a CCI employee or potential job-seeker I would wonder whether CircleCI is a good place to be because of that.
The Actions web UI is so bad it's almost a parody. Debugging stuff is harder than it needs to be. No good way to manually control builds. Possible but not very easy to run stuff locally. Very limited platform support (Linux Windows, and macOS, although other platforms are possible with VirtualBox hackery but it's SLOW and pretty unreliable).
It is enough to make a viable business when GitHub actions is right there? Who knows... But there are tons of reasons for external CI tools to exist, IMO.
We don't expect them to be driving novel, new features (unless they're technical in nature), but we do expect that they call out BS and make sure what they're working on is valuable to the business. Exception is platform teams who's "customer" is other developers.
not really. A circleci pm down a few threads mentions its not caused by any available numbers. Another observation is that currently even perfectly healthy, focused and money-making businesses with solid products (e.g. stripe) also do layoffs.
As for circle, it's ok. I switched our thing to it from internal Jenkins, it has its ups and downs, not the worst in my experience.
Not being able to find work for engineers is a failure of imagination - again a failure of management.