As an engineer I meet one of these people with the the just-feed-me mindset once in a while (luckily not too often). They are never very good at their job, because they lack perhaps the single most important ability for an engineer, to research on their own. An example is when an engineer could find the API doc with a 5 min search but choose to bother their co-workers for it repeatedly. They will also often complain about the lack of documentation but when they actually do projects the documentation are not more accessible either.
I also find people with this mindset hard to coach, just because it's a very passive attitude, and simple words of advice couldn't do much to change the passivity.
There is always a limit to guidance or documentation. Code changes every day in any decent software project and docs become stale quickly. Even if the docs are there, it's always a good idea to take a look at the code, do some research on your own and see if you find any discrepancies.
I worked at a big tech for many years and my team never managed to get Scrum working properly. Every year my team commits a delivering certain product/features at a very specific date (some sort of launch event), so we have to know very early in the year what's all the work required and report periodically whether project is on track. The deadlines are also always on the tighter end. The flexibility of Scrum becomes an issue in that case, because not everyone can deliver the same tasks at the same speed and without careful planning you can easily miss important deadlines.
You cannot get management buy-in to Scrum or most agile processes unless they can accept the agile manifesto principles.
The whole idea that you can be agile while having delivery dates for things several months in advance is a nonsense. Agile is about doing what is important now, not doing what we thought was important a few months ago.
The best you could probably hope for is Kanban or the never-ending backlog but some people struggle when there is no finish line, just an endless sea of work!
>The whole idea that you can be agile while having delivery dates for things several months in advance is a nonsense
If Agile truly rejects even the possibility of an estimation (something I'm sure many proponents will disagree with), that would be a problem with Agile and not a problem with the idea of estimation. Companies will de facto pivot away to methods that will give an estimation, even if they're 'bad Agile' and even if software engineers are unhappy about it.
Because there are more useful things to optimize for than efficiency of software delivery or what software engineers like. People really need to know when the works on their street will be done, companies and countries need to plan ahead, and so on.
We just delivered a multi-year project under Scrum (edit: point of clarification, we did not have a due date). You still have a guiding vision and some idea of the major milestones you need to reach, you still define what the next set of milestones are. You will want several sprints worth of work lined up ready to be more concretely planned. You just do concrete planning for the next sprint or so and work to minimize disruption of that sprint. Learnings being incorporated and plans updated as needed. Work that will yield more understanding should be prioritized.
Not sure where the idea of "only look one sprint into the future thing" came from.
"The whole idea that you can be agile while having delivery dates for things several months in advance is a nonsense. Agile is about doing what is important now, not doing what we thought was important a few months ago."
I agree with you - i dont think its worth trying to set a date a year out in stone. but you have to do exactly what you say. keep the trajectory in your mind and update it with new information. and and some point turn down the rate of change so you can get some cook time.
maybe I reacted too strongly - but I've certainly been in shops where I try to talk about overall project arc and am firmly told to keep my gaze fixed at exactly two weeks.
If you have a set date and a set scope you can't be agile. Agile needs to be ale to radically change scope or even cancel projects outright. You can get lucky sometimes that a feature takes less or about the same time as you have and make things look agile.
The flexibility of scrum is being able to say what is done represents a working though not fully featured product. You can generally send red flags a lot faster in scrum, but you still need management that believes and understands those flags.
> If you have a set date and a set scope you can't be agile. Agile needs to be ale to radically change scope or even cancel projects outright.
The thing I think that fails to be recognized about Agile (though there is a lot adjacent to it, without outright calling it out, in the central documents) too often is that Agile has fundamental tension with the project-oriented, and even to a lesser extend product-orient d, mindset, and really calls for a mindset in which technology is an integral component of continuous end-to-end business process improvement. It can be adapted to product- or project-oriented environments, but only with compromise.
> The flexibility of scrum is being able to say what is done represents a working though not fully featured product.
The flexibility of Agile in general comes in rejecting products as a goal to themselves, and recognizing that technology is part of a broader system of delivering value and any improvement in value delivery is worthwhile according to the value delivered compared to the cost of delivering it.
You are right that it's just sales language, but people, tech folks in particular, don't have to like it and it's nothing wrong to voice their complaints. In fact it would be quite freshing today if some company start talking down to earth languages, like "hey we are giving you basically the same phone as last year with slightly better camera etc. It's useful though."
Fairphone did exactly this with the Fairphone 3+: they emphasised that they were just upgrading two components of the Fairphone 3 that had attracted criticism (the camera and speaker) and otherwise didn't want to change anything about their super-easy-to-repair phone with promises that replacement parts would be available for many years.
Fairphone's marketing is rather unusual in the marketplace in this respect.
It's interesting you mention that because I went to their website today and they are running a secret product campaign at the moment:
> The ...............* that can change a whole industry
> *Coming soon. Subscribe for updates and a chance to win big!
So it may be a laptop, a fairphone 4, a DIY geosync satellite. Or simply the old trick that tickles curiosity and get them subscribers to their newsletter. Not that unusual. And as a techie I say "fine, keep your secrets then" though.
> You are right that it's just sales language, but people, tech folks in particular, don't have to like it and it's nothing wrong to voice their complaints.
Except it gets old real fast. These comments read like "first".
No signal, all noise.
Same thing with the PHP, electron and Facebook topics for instance. First top comments have been saying the same thing for years.
Yeah, I don't think those statements would seen positive by the shareholders. I imagine shareholders would interpret them as lack of innovation and would probably trigger a sell on stocks.
yes, an underappreciated aspect, splashy advertising has mutliple audiences, not the least of which are (potential) shareholders. tim's (and many others') comp literally depends on it.
FB to me today is mostly a modern phonebook rather than real content platform.
TikTok's power lies in how much they encourage creators to develop new and fun contents. Every other social media I tried feels way too static and full of propaganda these days, built only for the famous and powerful. Instagram (not including reels) is nice but the picture format is restrictive and the interface feels less immersive. TikTok has a better interface imo since their videos occupy the entire screen.
I think the main challenge for TikTok would be to commercialize without degrading their content, but I doubt other companies could do it better at this point with the same medium. A TikTok challenger would probably need to have a substantial edge on technologies such as VR/AR to beat them.
I think the overall point of this article is that SE is a subject that is best learnt by doing, not that engineers do not need to work with end product in mind. So the title is slightly misleading.
I come from a JVM/Python background, so not familiar with JS ecosystem at all. How do people decide what to use when there are 5 most popular libraries/frameworks in each category. Not saying the diversity is a bad thing. Just wondering how people make these choices when starting a new project.
1) Surrounding ecosystem. This is one of the reason React is so popular. The community and ecosystem of React packages is extremely large.
2) Personal preference. There really isn't much difference between React/Vue/Angular in terms of getting the job done (Same with most good libraries), so either you pick a library because you need a very specific piece of functionality from it, or you pick it because you/your team/your org prefers it.
Most niches don’t have multiple popular contenders except for some core concerns. Most of the time you can default to the popular one if you don’t know how to evaluate it any further, but the README and API tend to make the decision trivial. The project with the best docs is an easy deal breaker as it’s a good signal that the engineers have put some hammock time into the project and they have attention to detail.
But also, just try multiple libraries out. Sometimes one library doesn’t even give you the results you want. I notice beginners in general are resistant to that and seem to think precious time is wasted if they don’t make the perfect decision upfront. I say spend an hour playing with various libs if you can’t decide otherwise.
If all else is equal, I opt for the smallest contender (in terms of minified size). I also check the dependency graph and nope out if it’s unreasonably large.
I also find people with this mindset hard to coach, just because it's a very passive attitude, and simple words of advice couldn't do much to change the passivity.
There is always a limit to guidance or documentation. Code changes every day in any decent software project and docs become stale quickly. Even if the docs are there, it's always a good idea to take a look at the code, do some research on your own and see if you find any discrepancies.