DEV Community

Dave profile picture

Dave

A developer/architect with a foot in the operations team, and an elbow in PMO. A dad/step-dad of an unnerving number of dependents.

Location UK Joined Joined on  twitter website

Education

Some...

Work

Core Architect & Lead Dev at ....

Last 250 comments

Let’s Develop an E-Commerce Application from Scratch Using Java and Spring

Thanks, but I am a Software Architect & Lead - I spend no...

Let’s Develop an E-Commerce Application from Scratch Using Java and Spring

I won't lie, I came to the post because I'm experienced enoug...

Let’s Develop an E-Commerce Application from Scratch Using Java and Spring

And that's a perfectly valid approach - I have worked with Le...

Let’s Develop an E-Commerce Application from Scratch Using Java and Spring

Thanks, though I asked for your thoughts on it, not someone e...

Let’s Develop an E-Commerce Application from Scratch Using Java and Spring

We actively use Lombok, across ~50 projects that are all in ...

Let’s Develop an E-Commerce Application from Scratch Using Java and Spring

Excellent article, with good diagrams. A question though: Wh...

How to make a good `git commit`

Isn't that the edge case that gave rise to the ability to edi...

How to make a good `git commit`

If a new ticket system comes in, a new feature branch (from t...

How to make a good `git commit`

If you're working for a company (and therefore a repository s...

Why every developer should be using TDD

Did I say "TDD is only for juniors" ? Nope... didn't think so...

Why every developer should be using TDD

Strawman detected! "'writing tests after the fact' is not TD...

Why every developer should be using TDD

My problem here, is that you're talking in absolutes. "If yo...

Why every developer should be using TDD

When TDD impact business timelines, it most definitely should...

The Developer Feedback You Are Actually Getting is Survivorship Bias

This is a large part of why I frequently hold calls with stak...

10 reasons to switch from Java to Kotlin right now!

The "Kotlin cost" - from my perspective, is that I already pa...

How To Use DORA Engineering Metrics To Improve Your Dev Team

The opposite problem also applies, DORA takes no account of h...

10 reasons to switch from Java to Kotlin right now!

@jmfayard you upgrade the virtual machine and hope for the ...

10 reasons to switch from Java to Kotlin right now!

Who told you that people are wary of updating Java? I mean, ...

10 reasons to switch from Java to Kotlin right now!

This interests me for a number of reasons (that I can happily...

The Story About a Smart Boss

The boss doesn't sound all that smart here....

Why did my Java Web App stop working with MySQL!?!

Was this incident recent? The JDK ticket you reference was cl...

7 ways to improve developer productivity without getting drained

Before I get into this, I'm a development manager. I also sti...

7 uncomfortable truths about being a developer.

I agree with you. I've known people that have expressed simi...

7 uncomfortable truths about being a developer.

I think your comment sums up what I wanted to say in reaction...

Stop pressuring people into programming

Those that are influencing you, to always be learning new thi...

Microsoft Java got released

# Push it, push it real good # - Salt N Pepa (Please.)

Git: Are you an over-committer? Squash those commits!

This depends heavily on working practices for the rest of the...

Microsoft Java got released

I assume you mean the OpenJDK11/17 issue, because I don't see...

Microsoft Java got released

This was my concern, too. If, and it's a big if, they push Gr...

If you weren't a dev, you'd be a...

As a kid, I wanted to be a pilot. Very nearly signed up to th...

If Your Tech Interview is Three Tech Interviews in a Trench Coat and I Do Five is It Additive or Exponential

Thanks for a good read. It seemed like everyone was being n...

How to escape NullPointerExceptions in Java using Optional

At best, I feel this is a bad example of Optional. Your code...

Responsibilities of a Senior Dev

Do you not find that the daily updates and processes for ever...

Responsibilities of a Senior Dev

Some of what you list is probably better done by whoever wear...

Stop using virtualenv, pyenv, nvm, goenv and Use Docker images

Nothing in our workflow requires docker for dev, but it is ha...

Stop using virtualenv, pyenv, nvm, goenv and Use Docker images

Our entire development environment runs in Docker. To address...

Stop using virtualenv, pyenv, nvm, goenv and Use Docker images

You're indeed correct. Sincerely, Another Ubuntu Docker user

The Unbearable Whiteness of Coding

Lots of people will tell you that though, but if you look at ...

The Unbearable Whiteness of Coding

I can't speak for everyone, but dev & design rarely creat...

We should be teaching our kids how to code. Or should we?

Problem solving, and critical thinking, can be taught without...

We should be teaching our kids how to code. Or should we?

At the end of the day, coding is only useful if you're going ...

Lie - To Advance Your Career

I was in this boat, so I changed the system*. Now, I persona...

Lie - To Advance Your Career

No dev shop in their right mind will take a degree-holding i...

Why I don't use Stack Overflow

In response to this article, I logged into SO to check my acc...

When NodeJs is not a good choice for your Project.

While this is a hotly debated topic (and I've been in more th...

Dev Is Not Construction. It's Medicine.

The obvious caveat here, is anyone reading this that writes s...

Dev Is Not Construction. It's Medicine.

I have to admit... nail hit on the head. A previous manager ...

What 2,100+ hours of coding in the army taught me?

It sounds to me like your countries military is very switched...

Lessons learned from changing jobs in a difficult time

Thanks for the great article (and very well timed, for me). ...

Self-taught devs: what's keeping you from landing your first job?

Strictly personally... I think a portfolio would help, but is...

Self-taught devs: what's keeping you from landing your first job?

Tell me more... I note on your profile here you're an "Aspiri...

Self-taught devs: what's keeping you from landing your first job?

Re #2, that's exactly why I hired someone. I wanted to be the...

Code Smell 01 - Anemic Models

I'm clearly confused... which object should we talk to, to ob...

Code Smell 01 - Anemic Models

Your examples seem to imply that a window must not have a hei...

How to deal with an argumentative code review?

@z00md , firstly, thank you for a thoughtful response, and ap...

Senior software developer. What next?

Some of the books on my Kindle (I won't link to them, as I wo...

Senior software developer. What next?

Unfortunately, not really. I think it basically comes down t...

Senior software developer. What next?

For a while, I could only see myself going from Senior Develo...

Ways to Use Up Your Professional Development Budget

I'm disappointed that learning how to prioritize the safety ...

Docker Compose: The Perfect Development Environment

Not going to lie, we use docker-compose for the very reasons ...

Ways to Use Up Your Professional Development Budget

I'm sorry, but there's two references to racism (antiracist a...

The Perils of Remote Work

I suppose, in a way, we were "forced" - and yes, there have c...

The Perils of Remote Work

Great article, though I disagree (based purely on anecdotal e...

What's the difference between including `new type[]` and not including it?

The difference is simply that in one form, you have less typi...

Rant: big failing software projects are a failure of leadership, not software developers

Not quite what I meant but yes. In my current situation, I w...

Rant: big failing software projects are a failure of leadership, not software developers

Interesting. I did type out a whole host of reasons and my lo...

Improving the way DEV elevates the good stuff

Isn't the idea of "trusted users", as stated in this post, th...

I feel like the quality of posts in Dev is deteriorating

Firstly, noting your job, thanks for taking the time to activ...

The Unbearable Whiteness of Coding

In such a situation, I would probably suspect a bug in the pr...

I feel like the quality of posts in Dev is deteriorating

This is just my musings on the topic, and I'm not employed by...

Gittin' efficient with Git Push

Great article, and while reading through I was thinking "mayb...

Does the `var` keyword affect performance in Java?

The var keyword is interpreted at compile time, as a result, ...

⏰ How to nail time estimations

So, like other commenters have told you - you're very fortuna...

⏰ How to nail time estimations

I said "How long is a piece of string" at least 5 times today...

⏰ How to nail time estimations

Why the hell can I only click "love" once on your posts? You ...

⏰ How to nail time estimations

So what do you do in the real world, when PMO and stakeholder...

A Checklist Manifesto: The Importance of Merge Request Templates

This isn't a new concept, so I'm sure it's been written abou...

A Checklist Manifesto: The Importance of Merge Request Templates

Wasn't this posted a while ago? I saw it back then and tweake...

Remote work: here to stay?

A little background first... Thanks to a few different thing...

I'm Slow And That's Okay

Thanks for the reply. That sounds a lot like Imposter Syndr...

I'm Slow And That's Okay

Genuine question, I'm hoping you can help me with something. ...

“What is your current salary?” is a red flag that you don’t want to work here

It's funny, I've always hated negotiating my own salary and d...

“What is your current salary?” is a red flag that you don’t want to work here

I think you miss the point. Our job advert, for each level (...

“What is your current salary?” is a red flag that you don’t want to work here

I have to say, as an employer, you don't even get an intervie...

A list of assignments I was given when interviewing for companies.

Thanks for the reply, taking your points in order: You're n...

A list of assignments I was given when interviewing for companies.

That'd be why I didn't report it as abuse.

A list of assignments I was given when interviewing for companies.

Lets keep this both civil, and to the point shall we. All ap...

Why I don't like story-point-driven estimates

Or as I like to repeat to our Project Management Office - est...

Why I don't like story-point-driven estimates

It seems to me that your issue isn't story points themselves,...

Love Them or Hate Them, Coding Exercises Are an Essential Part of Software Engineering Interviews

I too use whiteboards - though in my case it's a "draw me a s...

What are our responsibilities as software developers beyond writing code? 🌎💻

1) I didn't take it personally. 2a) Again, nothing that I, o...

What are our responsibilities as software developers beyond writing code? 🌎💻

Perhaps you need to re-read the article I responded to, and m...

What are our responsibilities as software developers beyond writing code? 🌎💻

Oh my, a topic so close to my heart. I work in the Gambling ...

How Imposter Syndrome Limits Your Potential

I think you've nailed it now - transparency is the key. If y...

Spam on dev.to?

The logic is of course, up to the platform maintainers to det...

Spam on dev.to?

Also seeing the spam, though assuming your feed looks the sam...

Top Interview Soft skills Questions and Answers

Honestly, most of these are simply badly worded questions fro...

LinkedIn: Is it useful for DEVs in 2020?

I find that there's good & bad to it. The bad, is mostly...

.gitignore mistake that everyone makes

There's nothing wrong with mistakes (such as committing the w...

How do you ensure your Team's code is consistent?

I'd suggest there that the team leadership (Lead/Architect/Ma...

.gitignore mistake that everyone makes

If you want to treat it as a whitelist - which in my view you...

Good developer – Bad developer

Great article - though in my opinion, what you describe is mu...

How do you ensure your Team's code is consistent?

How do you ensure that the code will be kept consistent for ...

How to Estimate Your Work Like You Know What You’re Doing

As a wise man once said to me: Think of a number - nope, no...

.gitignore mistake that everyone makes

Colour me confused, but isn't the clue in the title? The file...

Full-Stack Developer Vs Software Engineer

Slightly tenuous links made here. I have in the past, been t...

How to write a clean code.

It should probably be noted that the majority of this article...

I hope you fail.🙏🏽❤️

Great article! I was once in a planning meeting, where a Jun...

Docker Hub : Millions of images will be removed. Open Source teams to mostly hit.

Most businesses that pull images from Docker Hub do so on the...

Docker Hub : Millions of images will be removed. Open Source teams to mostly hit.

This is mostly a non-issue, and anyone that relied on Docker ...

How long did you have to wait?

I submit that an AK would be better than an AR, and the trigg...

How long did you have to wait?

The one thing to remember about the IT world (and it probably...

How 4 lines of Java code end up in 518772 lines in production.

I'm honestly going off Spring, and have been for the last few...

How long did you have to wait?

Let me flip the script here a little - I'm a hiring manager (...

How 4 lines of Java code end up in 518772 lines in production.

So, your analysis tells you the contents of the fat jar... it...

Linux - I am Love with Terminal

Isn't that what good permissions, not running as root by defa...

Linux - I am Love with Terminal

rm doesn't let you delete root anymore. They fixed that, che...

Linux VS Windows 10 - An Honest Comparison

Nailed it - I have a Windows 10 laptop. It's sole use is Chro...

How to Become a Developer without a Degree or Boot Camp - is it Possible?

To answer the initial premise here, in much less words than t...

where would you live if you could be remote full-time?

I already enjoy much of the "work anywhere" experience. Place...

Let's face it, we have a broken technical interview process in our industry

On that subject, we'll agree to disagree. Two of my children...

Let's face it, we have a broken technical interview process in our industry

Asking questions have nothing to do with live coding or whit...

Let's face it, we have a broken technical interview process in our industry

Oh don't get me wrong, we have lots of room for improvement -...

Let's face it, we have a broken technical interview process in our industry

I'm a hiring manager. Yes, I need to know candidates skills ...

Let's face it, we have a broken technical interview process in our industry

You suggested I read the other posts, so I am doing. A fair...

Let's face it, we have a broken technical interview process in our industry

You know, I'm stealing some of your approach - I actually did...

Let's face it, we have a broken technical interview process in our industry

Based on my "personality test" - you sound like someone I'd h...

Let's face it, we have a broken technical interview process in our industry

I'm not confusing the terms at all. I'm trying to find a way ...

What was your win this week?

My win, was that 9 days after hiring 2 juniors they (despite ...

The myth of "never going back to fix it later"

On a similar vein, I've set a new rule for tech debt: When ...

Let's face it, we have a broken technical interview process in our industry

If they are afraid of being wrong, to the point that they can...

Let's face it, we have a broken technical interview process in our industry

For the seniors, the whole point of the test is to talk it th...

Let's face it, we have a broken technical interview process in our industry

I'm interested in this too. I'm in a "position of power" - o...

if experience < 1: job = False

On the subject of qualifications, I think they're a rather po...

Is agile a scam?

Agile is when the developers take tasks that was usually ass...

Let's talk about STREAMS !!

I would say that Streams offers no more clarity of code than ...

Let's talk about STREAMS !!

I'd argue most of the "benefits of FP" listed here apply to n...

What IDE / Code editors have you used?

This depends on what I'm writing. Java or SQL: Intellij Ulti...

How I optimised my online presence to get opportunities

On a slightly related note, I was querying what universities ...

How I optimised my online presence to get opportunities

When you don't swear, even in a joke, you sound so much frie...

Why are Apple computers considered "high quality", when their hardware has so many flaws (by design)?

I've never really cared for the feel aspect of it, but functi...

A rant about discussion culture on the internet

See, I managed to dispute the base premise, you hold a (sligh...

A rant about discussion culture on the internet

I think, that overall, conversations on Dev aren't the echo c...

Why SREs Should be Responsible for Development Environments

DevOps as a separate team is the problem here, not the manage...

Why are Apple computers considered "high quality", when their hardware has so many flaws (by design)?

I use Gesture, in Ubuntu. Required some libtools-* to be inst...

Why are Apple computers considered "high quality", when their hardware has so many flaws (by design)?

Modern Linux has come a long way. Yes I still had hardware i...

Why are Apple computers considered "high quality", when their hardware has so many flaws (by design)?

I strongly suggest you check out Linux. Fully customisable g...

Git 2.28 brings default branch option

I'm with you. Our default branch is "development" and becaus...

A list of assignments I was given when interviewing for companies.

Thanks. I changed it because I also hate those online IDEs. ...

How do you keep notes?

For me, it depends on what the note is relating to. Most thi...

A list of assignments I was given when interviewing for companies.

Now, see, you have me interested... your profile says you're ...

Explain API gateway to me like I’m five

We have similar in the UK, especially thanks to Covid restric...

Explain API gateway to me like I’m five

Quite possibly the best definition I've heard/read. Maybe ad...

A list of assignments I was given when interviewing for companies.

I'm currently hiring for a team (not front end). Why do you ...

What were your knowledge gaps when you started your career?

No worries - if it's helpful for you or anyone else reading t...

What were your knowledge gaps when you started your career?

When I started, there was more gap than substance. Now, I fin...

Is linux good enough for everyday programming?

Ubuntu user here, with an MX3 sitting next to my laptop after...

Is linux good enough for everyday programming?

I use Linux as my daily driver, both at work and at home. So ...

Coding Tests Eliminate Some of the Best Candidates

Oh man, great article! All the tests have their place, if do...

Onion Architecture 🧅

I'm curious - why are you not testing User Interface? To me,...

The benefits of being a boring developer

I think you &amp; I have a different opinion of what a 'rocks...

Unit Testing is Overrated

I do feel like it is our responsibility as software engineer...

Unit Testing is Overrated

We are just discussing how we are creating software. It's no...

Unit Testing is Overrated

Splitting what from how is absolutely essential when you wan...

Unit Testing is Overrated

How do you both trust and verify? I saw your location &amp...

Unit Testing is Overrated

To add to the thread here - I think I'm somewhere between the...

I have never followed Scrum, and I don't think that's bad

Every single company I've ever worked at, has done this: I ...

When to leave a job?

This is the age old interview question... "Where do you see y...

How do you "wind down" the work week effectively?

Thursday is just a regular day. Friday is the widely acknowl...

The Power of Not Knowing

All just part &amp; parcel of being a Senior - in my view.

The Power of Not Knowing

You'd probably be surprised about the number of times co-work...

Springboot vs NodeJS with Kafka

Java - out of the box, is horrendous on resources. Spring Boo...

Do I need to code in my free time to be a good developer?

@seanmay (I couldn't reply directly to you due to threading ...

Do I need to code in my free time to be a good developer?

I'm a Senior Developer, my partner is a High School Teacher. ...

Java vs Go: Impressive solutions for invented problems

Re-inventing the wheel is not a good thing. There's options t...

Java vs Go: Impressive solutions for invented problems

Spring Security I'm yet to find a valid reason to include ...

Java vs Go: Impressive solutions for invented problems

The choice to use annotations, at any level, isn't mandated b...

Java vs Go: Impressive solutions for invented problems

There is of course no reason why it has to be like this, Jav...

Java vs Go: Impressive solutions for invented problems

I presume that the basis for your debate is this: we shoul...

Do I need to code in my free time to be a good developer?

I'm with you, and every other reply so far. Nope, it is not ...

8 Things that might be destroying your CV

My last interview: Interviewer: So why are you applying to w...

7 Vital AWS Concepts easily explained

As I'm predominantly a back end developer, with a life-long e...

Remote dev checklist

I think every "Office Joe" should change their name, to Joe. ...

Remote dev checklist

Love the hammock idea, need to get one as well! If you're ...

Remote dev checklist

I agree with most of this, and indeed, working from home solv...

The Shell Introduction I Wish I Had

Vim is, at its core, a text-editor. It's built into the Shel...

Is Telegram the Best in Class for Privacy? (TL;DR: Nope)

Grandma doesn't need security to share recipes. Her problem i...

Is Telegram the Best in Class for Privacy? (TL;DR: Nope)

perhaps I should make it less implicit that what I consider ...

Is Telegram the Best in Class for Privacy? (TL;DR: Nope)

I read the article, then sat here shaking my head at the link...

Are You a Mediocre Developer? ME TOO

You clearly didn't read the whole post that you quoted. It co...

I'm Javascript. And I'm done taking your shit.

I'm aware of how to use JavaScript, and do so more times than...

I'm Javascript. And I'm done taking your shit.

Nor did I say it was a fair comparison, nor did I even really...

I'm Javascript. And I'm done taking your shit.

Again, note the capitalisation. Consider the following JS: ...

How do you explain what software development is to friends and family?

My dad is ex-military (with a background in electronics), spe...

How To Convince A Developer To Join Your Startup

I'm in UK, so currently BST (aka GMT+1)

How To Convince A Developer To Join Your Startup

I've just followed you back to enable the chat feature on her...

How do you explain what software development is to friends and family?

I learnt a long time ago, that if someone isn't technological...

Top Mistakes That Developers Make

No tests, no release. That's what CI/CD is for. :)

How To Convince A Developer To Join Your Startup

Most Senior's that I talk to, and are in my age bracket (mid-...

I Am Privileged

I grew up well below the poverty line, and through a combinat...

Top Mistakes That Developers Make

Not so sure I agree with your comments on documentation. Sure...

How To Convince A Developer To Join Your Startup

I like your comments on company culture &amp; remote work, bu...

I'm Javascript. And I'm done taking your shit.

My only complaint with JS, isn't even to do with JS. As I or...

I'm Javascript. And I'm done taking your shit.

I tend to hate the people that hate what they don't understan...

I'm Javascript. And I'm done taking your shit.

You get that the OP posted with humour, and as numerous other...

Productivity 101: Git Aliases for Lazy Developers

Without wishing to prescribe a working method, I/we do things...

I'm Javascript. And I'm done taking your shit.

I write Java (mostly) for corporate code... in a previous job...

I'm Javascript. And I'm done taking your shit.

Resisting the urge to poke a little fun, notice the capitalis...

I'm Javascript. And I'm done taking your shit.

Seriously now... can you please come to work with us? Why do...

Productivity 101: Git Aliases for Lazy Developers

Of course, but I wouldn't put things like this into .bash_pro...

I'm Javascript. And I'm done taking your shit.

Many other languages have mostly the same capability, and, in...

Productivity 101: Git Aliases for Lazy Developers

In my corporate life, we have chef that pushes user config ar...

What's the state of the software job market?

A lot will depend on geography for this. I can't comment on t...

Productivity 101: Git Aliases for Lazy Developers

It's the OO dev in me - Single Responsibility Principle. ;)

Productivity 101: Git Aliases for Lazy Developers

Obviously don't add it if you don't understand it (never trus...

I'm Javascript. And I'm done taking your shit.

Oh how I wish I could get you sat around the table with someo...

Productivity 101: Git Aliases for Lazy Developers

Since sharing is caring, I also have the branch (and some ide...

What note taking apps do you use?

I use a markdown editor (Typora) when at the laptop, otherwis...

I'm Javascript. And I'm done taking your shit.

This! (sorry, couldn't resist). Seriously though, as an OO d...

Productivity 101: Git Aliases for Lazy Developers

My full .gitconfig (sanitised), if you're interested. Steal/b...

Productivity 101: Git Aliases for Lazy Developers

Why put git aliases in the .bashrc file? This implies a speci...

To Code, or Not to Code on Vacation: That is My Question

During a family trip overseas a few years back, I didn't co...

4 reasons I fell in love with Test Driven Development.

Re the general productivity of the TDD advocate on my team ...

4 reasons I fell in love with Test Driven Development.

Don't worry, and please, don't delete anything on my accoun...

4 reasons I fell in love with Test Driven Development.

PMO doesn't decide anything (our PMs can barely decide what...

4 reasons I fell in love with Test Driven Development.

No argument about TDD for bug fixes - you get clear, unchan...

4 reasons I fell in love with Test Driven Development.

I'm talking from real world experience... so I don't think ...

4 reasons I fell in love with Test Driven Development.

Nowhere in my post did I say that products ship untested. ...

4 reasons I fell in love with Test Driven Development.

All lovely sentiments. I wish I lived on the same planet. ...

4 reasons I fell in love with Test Driven Development.

My issue with TDD is the time component, and PMO always hav...

One Too Many Monitors

Linux user here, and while at home I just use the laptop &a...

Don't let your job title stop you

I go the opposite way, and prefer not to think in terms of ...

Good Programmer vs Average Programmer - and, Why Asking questions and Paying attention to Details matters.

I'm sorry, but "don't commit time" sounds like bad advice. ...

Good Programmer vs Average Programmer - and, Why Asking questions and Paying attention to Details matters.

Most of my life is spent answering other people's questions...

Would you want an "imposter" on your team?

Per your definitions, an "imposter" that's willing to try t...

What is your debugging approach?

Tell the PM to discuss with QA, because Dev have no access...

Real developers don't ask for help

Thanks for the reply. I try every trick I can think of, bu...

What's your job title? What do you do?

My job title is "software developer" if you ask HR. I writ...

Real developers don't ask for help

My problem is those on my team that refuse to ask for help....

How to deal with an argumentative code review?

Thanks for the reply, Tom. While technically she doesn't r...

Imposter Syndrome, Anxiety && Me

I would LOVE to have someone with your attitude to work/produ...

loading...