cygned
We have another vacant position soon, I might try it.
We decided to screen applicants in an informal phone call and discuss salary options at the end, after they had a first impression of how we are as a firm.
I think you are arguing Scrum can lead to these situations - which you cover in your other thoughts. And I agree, I have seen that often, however, I’d still don’t say it’s inherent to Scrum itself.
> how SCRUM is not micromanagement when every day, a guy (which in my decade long experience has always been either a manager-role or someone wanting to be a manager) comes and gets the report on the tasks that you work to the granularity of one hour (sometimes even 30 minutes for properly crazy SCRUM masters) and intervenes afterwards if he considers it needed.
Yeah that’s awful micro management. I know it’s easy to dismiss that way, but what you are describing is not Scrum, that’s just saying Scrum and making people miserable.
In the end, I do not want to argue for Scrum as the solution for everything. It’s really hard to do it right. On one of the teams I am consulting right now, we went away from Scrum because it didn’t work - fascinatingly due to different reasons as you mention, different mindset in terms of what management does and how control is exercised.
That is not the way Scrum is meant to be implemented. The goal is to have a cross-functional, empowered team with the ability to make their own decision. The Product Owner - as part of that team - makes ultimate decisions as to what the product will be.
> It creates unnecessary hard social situations
Yes, social conflicts in team can be tough. Following the values of Scrum, respect and openness in particular, helps teams sort these things out. I know that in practice, it involves a lot of skill to guide a team through those phases.
> the components of motivations in pretty much any other fields are autonomy, mastery, accountability
You are absolutely right. If you read through the Scrum guide, you will find all those aspects in there. I think what you are describing, though, is how Scrum is "lived" in many organizations, which have difficulties empowering teams and provide the environment necessary to do Scrum.
In these situations, the answer is often that Scrum simply don't work, it's clashing with your culture and structure. Many teams opt to implement parts of Scrum - which is fine and might work exceptionally well, but it's not Scrum.
The main challenge I see people having is that Scrum was designed in a way that it screams in your face when you screw up and many organizations fight that instead of inspecting and adapting their way of working.
Charnas, D. https://www.workclean.com/
It allows the community to grow, learn and become more diverse.
On the other hand, I regularly read blog articles about complex topics from people that should rather not write about it. I know "senior software engineers" where I ask myself how they are capable of tying their shoes each morning. I see people get praised for achieving the bare minimum, like putting five pictures on LinkedIn about a topic they hardly understand at all.
1. It does not replace type checks at runtime (in integration layers)
2. Compilation and startup (in backend land) is slow
3. Some tooling seemingly caches (webpack? ts-node?), we regularly run into situations where rebuilding locally works but then building for prod fails with type errors
Basically for any planning. That's the only todo list that works for me.
Another advise I can give you: your health is more important than your job. Take the time you need every day.
We have code like (stupid example)
something.map( {a, b, ...rest} => ({ ...rest, ...a, ...[b, c, d]}))
I know what it does and how it works, but I argue that's hard to understand if you haven't written it and know the context.My Python experience is limited to only a handful of projects, but I looked into meta classes at the beginning of learning Python and that was some crazy stuff.
Now, I can go ahead and make the concrete implementation dependent on configuration, e.g. by providing multiple implementations annotating them with a condition that is evaluated using the application configuration. I can also switch to a factory method that creates and sets up the concrete implementation for the interface, I have not to change any place in the application that is using that piece, though.
The same should be possible in Go with reflect and an IoC container, but I am not sure if there's a solid implementation for that out there.
What do you find magical in terms of Python in particular?
Coming from JavaScript, TypeScript, Python and Go back to Java I can tell you that’s actually a good thing.
T-SQL is just so a weirdly ugly language and the feature set of SQL Server is super weird.
If we can, we go with Postgres or MySQL.
We are on JIRA now, and it’s … JIRA. We tried basically any other tool, including Excel (yes, that is somewhat possible).
My problem generally is that tools are slow, planning is cumbersome, visibility is limited and reporting for clients is often even more limited.
Heck, I’d even write my own tool if I knew it would help others, but I am concerned it’s too close to what we already have for anyone to actually migrate.
You could help me by sharing your thoughts!
I tried everything else, every tool, every technique - nothing works for me. I can’t even use JIRA at work, I put things in TeuxDeux or on a paper list, otherwise I will forget what I need to do.
I always wondered if other people had similar challenges. Maybe I am too simple for tech productivity tools.