Even after 1y+ here, I continue to struggle with adapting to this environment and making myself valuable to the team/company beyond merely completing my assigned tickets. I think I am reasonably competent at the craft of building software (writing tests and documentation, identifying code smells and antipatterns, applying design patterns and particular software programming styles where appropriate); I'm even pretty good at the bureaucratic work of filing tickets, maintaining the wiki, and writing self- and peer-evals through performance review season. But I have difficulty with being a proactive member within it: in other words, having a voice, leading initiatives, or feeling qualified to make meaningful decisions (technical or otherwise).
If pressed, I could describe my team's OKRs and how my tickets move the needle on them. I could not describe what my teammates are working on, much less what adjacent teams are working on. There are a lot of design docs, architecture docs, and planning docs; I have a deluge of these tabs open, and I have a vague sense that it would be good to grok them, but when I take the time to read through them, I feel very little confidence that I understand well enough to put that knowledge to use. The only meetings I've ever scheduled were to ask for help getting unblocked on a ticket. I tend to drift off in meetings because people are almost always discussing things I have no context on and am not party to.
Can anyone recommend books that will help me engage better with the business that I work for, or get meaningful things done within it? I am not necessarily aiming for a management position, but would like to actively leverage the fact that I work in an organization: to create my own opportunities to work with people other than my manager and mentor, and in the process, to get things done for the business that is greater than the sum of us working separately.
Is there a tool or service for making this easy? So far, I've found fpm[1]. I haven't dug into it enough to know whether it's the solution I'm looking for, but I also wanted to solicit the community for alternatives in case I'm missing something even better.
The dependencies are minimal (just Ruby stdlib). Here are options I've considered and opted against:
• rubygems: I'm not a huge fan of using a language's package manager for end-user software. What happens when the system upgrades its version of Ruby? Does the user have a ruby version manager like rvm or rbenv installed? and so on.
• docker: a couple weeks back, an article entitled "Run More Stuff in Docker" was trending here[2]. I like the idea, but the approach is a minor hobby unto itself and way too burdensome to ask of general-audience, potentially not-very-technical end-users.
My program is simple enough that I hope it could be used as an introduction to CLI concepts/UNIX/shell pipes for the uninitiated; someone should not have to be a developer to use it or understand how it works. Assuming a very limited familiarity with the command line, I want to offer install instructions that make no assumptions about the user's system and should always just work; e.g., `brew install cram` / `sudo dpkg -i cram.deb` / etc.
[0]: https://github.com/rlue/cram
[1]: https://github.com/jordansissel/fpm
[2]: https://jonathan.bergknoff.com/journal/run-more-stuff-in-docker/