Good morning
Hi everyone! ☕
Very happy with google nest wifi. It just works and requires no fiddling
Morning!
Is there a way to share/bulk export personal 4clojure solutions from the web-page?
👋
Morning!
måning!
morning
hola
Morning!
Morning!
morning
Good morning!
How do you tolerate w/code or not well implemented features by junior devs that management want to take it into production without a proper code review?
difficult one.... sometimes shipping it and fixing it later might be the right thing to do... but most of the time it isn't. I guess the best advice that I can give you is that management can at least make informed decision. So let them know.
Is it “technical debt” bad, or “won’t work properly” bad?
“Not sure if it works properly” bad 😆
Yup, informed the management and merged/deployed.
Thanks for pointers!
"Testing in production"
Yup))
We do that all the time
Our test environment is our production environment
Simply due to the relentless push to deliver
@chokheli is this software running in a nuclear plant? And... where is it located? 😁
Now your Avatar makes sense. 😜
I've had that for years and years 🙂
We have a relentless push to deliver, combined with a very slow release/QA process
Worst of both world?
It's a perfect example of manic
I sometimes wonder if we as DEVs are too quick to judge sometimes. My current project is going on for 2,5 years now, and the mood in the DEV team is bad. Pressure is quite high, we deliver all the features, but not “properly”, there could be more tests, could be more docs, more quality overall. But … the users love the software, we are in time and budget, can react to quick changes… What exactly is so bad? Sure, I’m fixing performance bugs now for 4 weeks, but the software is usable and running
Indeed. The presure is coming from externals - the C-levels, the project managers, not from internal pressure.
It's the relentless drive to deliver new things, new features, new new new new - when all the customer wants is just working software.
However, gotta justify those business lunches somehow!
@ramart not yet, most likely soon it’ll be deployed into broadcasting company in the US soil :D
Something that I recall from years ago, which I'm sure most people here can relate to, is that we didn't get into programming to increase the bottom line.
We got into programming because we love doing it.
"Featuritis"
> "term used to describe https://en.wikipedia.org/wiki/software which over-emphasizes new features to the detriment of other design goals, such as simplicity, compactness, stability, or https://en.wikipedia.org/wiki/software_bug reduction."
that sums it up quite well
I guess that's where having skilled managers/higher ups matters
speaking as someone trapped on both sides, it depends a bit on what is stopping sales from happening
true
I think devs can also help suggesting alternatives to "more features" like offering "decomplected" features instead, which do not always require you to build more
the problem with building a product is that your knowledge is always partial, so making decisions is difficult
I often find however that very often programmers know the business much much better than the customers (internally/externally) because we write the software that makes the business work!
brb
I read this the other day <https://www.bbc.co.uk/news/business-56130187>
about a boss who has no HR or IT departments (he runs a uk start-up for energy).
I was very doubtful that there is no IT department - it may be outsourced for sure, but I'm very doubtful that a company in a regulated industry, has no IT support.
That’s why many companies were successful with moving the developer teams closer to the customers
Personally I don’t love PR reviews. To me it’s just a symptom of lack of quality gates and/or enough communication when the feature was build. But that is my opinionated 2 cents 🙂 (saying this as someone who use PR reviews because of the same reasons…)
I also don’t like PR Reviews, I also advocate for trunk-based development and against feature branches in all smaller teams
I like developing on master/main* (pick your perference). Branches, unless carefully curated, have a strong tendancy to be long lived.
Had many discussions about this. If they get stuck, I hit them over the head with Martin Fowler 😄 https://martinfowler.com/articles/branching-patterns.html
Once had a three day consulting-gig to create a new branching strategy for a shop switching from “Code on Network Drive” to Git. They were bummed when the strategy was “You are only 5 people, push to main” (of course, for releasing etc. there was a lot more defined, it was not only that)
I love pr reviews!
so many things learned/shared during these, it's crazy valuable imho
Unforutnately, at our place, we have a tendancy to bikeshed
People often loose sight of the goal and too often focus on the minutiae
some stuff can be ignored, personally i just prefix useless stuff with nit: ...
some people can value these tips, some don't
it's all good
not blocking in any case
Dropping PR Reviews does not necessarily mean dropping code reviews altogether!
It often becomes personal too
Perhaps there's merit in a totally ML approach?
dispassionate
perhaps we need a ML version of clj-kondo 🙂
Just make one microservice per person, solution to everything
ML as in machine learning?
or the language
I think he means machine learning.
some stuff gets quite complicated, I wouldn't trust today ml with that, especially some obscure domain rules
(at least today)
it's moving the problem to the specification part, which has to be good anyway, but by nature never is 100% complete
things tend to change over time heh
CodeScene is doing interesting work around some of these problems, but I don't think they're into automating code reviews
At work we do PRs if the dev in question feels like they want a PR review. Else it's just commit to the dev branch
Or for new people, maybe in the first few weeks, we do PRs to get them started
we are relatively strict here: 2 approvals and approvers also have some ownership on the code reviewed. But there are exceptions (bump deps & trivial stuff)
Machine Learning
@mpenet yeah, it depends, you are working on critical infra probably
at Nubank we ask for at least 1 approval, no matter the project/dev
Maybe when we have bigger teams we'll have to start doing this
Does anybody do pair programming? Might be an alternative to code reviews
@borkdude kinda, I mean you can wreak havoc if you are careless, it's true for any directly client facing/used service, especially when money/owned resources/privacy is involved
yes, even so someone not from the pair needs to review the code
bbl - lunchipoos
@ericdallo Wow, that’s strict
We have good QA before everything is deployed to prod, it has at least several people looking at it (from a user standpoint)
pair programming - nice in theory, terrible in practice.
IMO it works very well here, the reviews are very good
I can expound later - but right now, the offspring is demanding to be fed
depends with who, I am not a fan but it can work if there's some synergy with the other set of hands/brain
Talked to a guy doing mob programming, “Pass the keyboard” on with 4-5 devs. Every commit (after test suites) at their project goes directly to Prod. Super uneasy feeling at first, but they say that their quality actually improved
we do something else, it's strictly something I personally do with another dev at work, we basically stay on the same meet all day and share issues/problems when they arise and sometime brainstorm on solutions on the spot, but no pairing involved.
not policy or anything, I just like to have a non-rubbery rubber-duck
and same for him I guess
@mpenet Does this mean you have something like Zoom open all day?
meet
is this something like Zoom?
we just recycle our daily meet for that
google meet
I don't know what this is, so just say yes or no ;)
the zoom equivalent from google
So you're on a video call all day long? Gosh that would seem tiring to me
so yeah the same
nan, just audio, we kill video
still
it's muted most of the time but we do use it quite a bit during the day
if you're working on the same part of the code that's maybe a nice idea
makes you have an office feeling without the bad parts imho. again it's something quite personal to like or not I think
yes quite often it's the case
We have done pair programming at times this and I think that is why I don’t enjoy PR reviews. To me, doing pair programming puts the second pair of eyes in the moment were the most important decisions are made. Thinks like architecture etc. Things that is often too late to point out when work is done and packaged in a PR review and small bike shead items are changes when value could already have been in front of users. But I think there is no fixed solution. All depends on context or the situation 🤷
I like PRs b/c it means @mpenet reviews my code
Are you working at the same company?
nope, it is one of the joys of producing open source 🙂
🎉
I've had really good mob programming experiences. Mixed pair programming experiences (some amazing, some awful, some meh)
mobbing/pairing is very tiring. I'd never do it for more than 4hrs in a day
I like branches as I commit and push my WIP to github as I go and then do an interactive rebase and force push before asking for a review. It isn't down to a single commit, but preferrably one that tells a good story of what I was trying to do
London Clojure Dojos (inspired by London Python Dojos) were either one big or multiple small mobs
with a demo at the end
I often do work on my own tho
re: bad temper in code reviews or pairing - that is really an independent thing that should probably be tackled
same w/bikeshedding. Just get right at what is going on there and see what the issue is
I enjoyed pair programming but couldn’t make it work in async context. I’m trying to take the best from that though - I encourage everyone to do small commits and PRs, and ask for feedback early and often. Again, the async context means that perhaps you won’t get feedback when you want it but much better than waiting for a PR
If I need pair programming, I just use partition
.
https://borkdude.github.io/re-find.web/?args=%5B1%202%203%204%5D%202&ret=%5B%5B1%202%5D%20%5B3%204%5D%5D&more=true
async and pairing don't really work
so my favourite BI tool (chartio) just got acquired and is shuttering... have any of y'all had good experiences with any others ? we use it for redshift queries serving embedded dashboards for lots of end-users
ouch
metabase? not used it tho
I've recently used metabase with postgres and it has worked quite well. Never used redshift but according to the metabase docs it is supported: https://www.metabase.com/docs/latest/faq/setup/which-databases-does-metabase-support.html
we used metabase as well. works really well
nice - will metabase do multi-database queries - e.g. join a redshift table to a google-sheets table ? not a dealbreaker, but chartio's ability to do this is really convenient