Software engineering can be an absolutely thankless job. Oh sure, it has its perks. You get to be creative and solve problems, and there is a beauty and elegance in well written code sometimes that can be hard to describe to those that don’t speak the language. Where we were once portrayed almost universally as pocket-protector-wearing, tape-on-the-glasses nerds, Hollywood now depicts us as elite hackers that can sit down at a never-before-seen terminal and instantly predict the passwords to any government agency in the world, and find a way to copy and then delete their entire database onto a USB drive in under 60 seconds. I wish. I don’t think I could hack my own laptop let alone anyone else’s, and some days it can take me more than a minute just to copy some Word documents to my USB drive.
In my mind, declaring that an unfamiliar task will yield low-hanging fruit is almost always an admission that you have little insight about what you’re setting out to do. And any estimate of how much work it’ll take to do something you’ve never tried before is likely to be off by degrees of magnitude.
On entry points: A common first step when considering a new feature is to dive straight into mocks that show how this feature will work. That’s like designing what the layout and configuration of how what your outdoor space will look like instead of first figuring out how people will get there. Start first with “How will people discover this feature?” Nailing the entry point tends to be harder and more important for the success for what you’re building than debating the finer points of how that feature will work when you manage to get people to find it.