Many tools I try to use are just useless, random crash with nothing in it's log...
I know some of this can be blamed on managers/bosses in general. Learned early on (was even warned right away by a colleague) to never demo a piece of software partially working to the bosses. Soon as they see a portion of it working, they'll order you to SHIP IT NOW.
Managers/bosses should have ZERO say in matters relating to the actual code. We're working on a bluetooth thing right now, some other new guy wrote some "bluetooth classic" code and showed it to the boss. We need bluetooth LE to work, not classic. Of course, the phone app that talks to our device got rejected from app stores, because bluetooth classic don't fly these days.
Would be made so much easier to update the libraries of the current platform we're working on to make this possible, but no. Boss saw "classic" working, and that means we can't update anything, and will not budge on this.
Other guy couldn't make LE work by copy-pasting example.c into his project, so they gave the job to me. First suggestion I gave is we need to update to the latest distro. Immediately shot down, because boss saw "classic" working and can't accept the fact that the distro we're running won't support modern bluetooth.
Tried to explain the difference between classic and LE, boss just doesn't/won't understand what the problem is. Boss doesn't want to spend the time/effort in upgrading/testing device with new distro. But still he wants the damn instrument to be bluetooth capable and a phone app to go with it. Probably is blaming me for milking this.
LE is a hell of a lot more sophisticated than classic. I had classic running in 2 days. Took me a month to wrap my head around LE and interacting with the protocol stack via dbus (virtually no documentation on the stack, other than very brief description of the API). I did manage to shoehorn in the needed libs and dependencies and get shit to build on the old distro. Every new function I write though, my butthole clenches when building, expecting yet another out-of-date dependency problem and more hours wasted shoehorning in another lib. This project has been made so much more difficult than it needs to be, because "boss saw it working already, so... what's the problem? You?"
Yeah, so... this project comes with a mile-long environment set-up procedure... Edit this, edit that, sudo apt-get install this, sudo apt-get install that, make a dozen edits to the BT protocol stack build config and re-build it, symbolic link this to that... it gets real stupid real fast. All this because new guy showed the boss a portion of the software (not really) working.
I will not be showing my progress thus far to anyone, ever!
(post is archived)