I'm constantly bombarded with "quick" questions from coworkers about how some part of my code works (or more often why it doesn't). After several such interruptions it's harder and harder to even try to focus, maybe some kind of neurosis, fear of being interrupted once you are again in flow?
I set up a daily "meeting" at 1pm after lunch to batch all those questions together.
People tend to have similar questions, and other team members have answers I don't, so having everyone in a room together is handy
Code you write is code everyone will now have to maintain forever, so naively, you want to solve problems with as little code as possible, and maximize the value being generated by your codebase. So you should be spending your time on... properly validating the business value of your projects, properly designing what a system should look like on paper, properly considering use cases and edge cases, finding what code…
> Code you write is code everyone will now have to maintain forever False. You may throw code away. Also, did you visit the link?
You can't easily throw away code that somebody else depends on.
If you put something useful up, you're stuck with it for a long time, and getting rid of it is another time investment
I write better non-trivial code when I get up and get away from the screen for a while. Go do something else to get my mind off it. Even sleep on it. Then the insights creep in. Hammering away at a hard problem usually makes a big mess. Sometimes three quarters of my time is spent understanding the requirements, negotiating the solution, researching, talking through the design.
> Hammering away at a hard problem usually makes a big mess How can this be? Did you never learn how to use source control? Coding is the best way to explore the solution space, doesn't mean you use whatever you write right now.
For me, coding is a great way to explore the solution space when you're down to the last few details. Because coding is implementing a concrete solution, exploration in code tends to only cover a very small subset of the real solution space. On the other hand, if I take a few steps back and look at the problem from a wider angle, I can often find a solution that is both better for everyone and easier to implement.
Some recent reasons: 1. I am stuck in a meeting 2. Everyone is arguing about requirements in Slack and I am waiting for that to sort itself out. 3. I am coding, just a Reddit script instead of my work. 4. A fellow developer friend is also not coding and wanted to chat. 5. My Surface blue screened. 6. I have to write a pull request 7. The API I am working with is down 8. With work from home, my thoughts drift to nappi…
2.5 the requirements fifmg sort themselves out over slack/meetings, so now I'm writing a doc to close them out.
In a theoretically optimal world, all engineers would have immediate and omniscient knowledge of all dependent teams, and stakeholders interests. They would also have immediate knowledge of all system complexities and have no operational burden or customer's that they need to help. Of course in this optimal world engineers would always have instant access to all knowledge of their toolchain and not need to perform re…
Haha, if there were no problems to solve, you wouldn't need to spend time solving problems:P
This theoretical world would need code monkeys and not engineers
I'm not coding because there are more important things to be done. For example: - I have to groom tasks and interfaces across team boundaries. - I have to review others code. - I have to help someone with their problem so they can proceed and deliver. - I have to onboard. - I have to make sure processes are working well. - I have to make sure the team works well. - and so on and on... Some programmers are much more v…
so, does doing these make you a good manager? interesting.
Understanding that these are valuable engineering tasks makes you a good manager. Doing them makes you a good engineer
The last time I was paid to be a developer by a company, the most prominent reasons I was not writing code were: 1. I am in the 5th meeting to discuss the details of a 10-page document about a feature that would take 100LOC to write if we weren't using Spring. 2. I am waiting for a dependency manager that is incapable of resuming downloads to download my dependencies from the private repository of dependencies which…
> it is my responsibility to ensure that the alerting is actually working > delegating tasks is some fake thing to make others feel good Somebody has to ultimately be responsible though right? If you're a team lead, isn't it still your responsibility to make sure the work your team has done is actually working before you tell your manager that it is?
- Burned out - Depressed - Anxious - Covid-induced (likely) brain fog (maybe the depression/anxiety also is from presumably having covid back in April) - Can't find a freelance client - Broke - Want a passion project - Want to be part of a co-op not a cog in a machine - Want to be on a team again - Can't pick a side project to work on for some cashflow - Too busy promoting my gofundme to pay rent - Want to be a game…
Start by getting off of HN and Reddit. Turn off non-local news.
Turn off local news too. It's been taken over by other interests
Working on a project that is being wound down due to lack of sales but the remaining tasks are asinine compliance requirements imposed by the new parent company - we have been acquired recently - that are "non-negotiable" even when the project is going to be sunset soon. Management also is dragging its feet in finding a new project for me. Motivation to play along is low. Working from home as single is doing its own…
I know this isn't an advice thread but 1) milk it while you're still collecting salary and 2) make sure your LinkedIn profile is fleshed out and your resume is clean and up to date 3) hit up your former coworkers to ask how their new job is...maybe let it slip you're looking to move Good luck!