DEV Community

loading...
scottshipp profile picture

scottshipp

I am a Lead Software Engineer who believes that building the right thing is as important as building the thing right. Come to scottshipp.com to learn more!

Education

Master of Software Engineering

Work

Lead Software Engineer at OpenMarket

All 111 comments

Container orchestration tools explained

Fellow Java dev here. I don't see the comparison. Tomcat did ...

Goodbye Master, Hello...What?

Three trunks . . . It's a hydra! :D

Goodbye Master, Hello...What?

It has to be trunk! If you use the term 'branches' and 'worki...

Windows and Linux: A Sane Discussion

I think Microsoft have made a sincere and meaty effort to sup...

Containerize A Spring Boot App with Docker

After you build, look in the target/ folder, you will see a j...

Weird Programming Stuff

One of my favorites is that this Java code prints "Hello Worl...

The process of the technical interview - A perspective from CTO's, VP's and Directors of Engineering

Another reason was the time saving that comes with the tak...

Is TypeScript Really... A Language??

I think the real question to ask is if the benefits of Type...

Dude, I'm slagging your code. Not you.

My favorite perspective on code reviews is Philip Hauer's C...

What is stopping you from joining a union?

I would join a union

404 status code! Really?

IMO 404 all the way 100% o long as we're talking about REST. ...

Don't use non-test constants in unit tests

Sounds like a great pragmatic approach!

Don't use non-test constants in unit tests

Yes agree with this. Constants that are part of the API lik...

You should write a comment on every line of code

I understand the desire to propose a dogmatic and extreme p...

Java Maps Cheat Sheet

You're very welcome!

How to Approach any Coding Interview Without Panicking

This is one of the best problem-solving approach walkthroug...

Conway's Law and Cross-Functional Teams

Conway’s Law simply describes the natural gravity of softw...

Social Lifespan of Posts

I'd be in favor of bumping within constraints like you ment...

Tech's short-sighted perspective fails to recognize impending doom

Wow! What a perfect quote!

On the Occasional Misdiagnosis of "Not Invented Here Syndrome"

Joel Spolsky famously wrote a "Defense of Not-Invented-Here S...

What is the difference between a Library vs A Framework?

If the maintainers call it a library, it's a library. If t...

What do you really want from your employer?

Money. Low pressure/low stress work culture. Other excellen...

Five programming tricks I learned from writers

Now that's awesome! Thanks for the tip!

How to remove condescending language from documentation

This is a great initiative and I'm so glad that our industr...

How to remove condescending language from documentation

Being respectful of differing viewpoints and experiences is o...

What essential software do you install on a new computer?

A terminal tool An IDE that speaks Java, Markdown, HTML, CSS...

What's up with the pronouns?

If you want to learn more about pronoun selection/identificat...

"Best Practices" is a hollow phrase

I think that's a dangerous stance. It's fair to ask why a s...

Avoid getters and setters whenever possible

It just sounds like you have your own brand of C# purism. I...

What's your take on the Hiring Process in the Tech Industry?

This seems like a great approach. Especially like the idea ...

Java Developers, What's in Your Toolkit?

Java, Kotlin, Spring Boot, Maven, Jackson, Jersey, Apache C...

It's nice to be nice! - Code Reviews

Ah the classic one word code review comment: Nope. Fix. W...

When Will I Suffer Career Crisis as a Software Engineer?

Great article! I definitely understand the fear of obsolesc...

What is your debugging approach?

Someone shared the six stages of debugging with me long ago...

How to stop naming Java classes with the "Manager" suffix

A couple of possible options to consider for utils, helpers...

Why you should keep a Code Journal | Code Journaling pt 1 of 4

Super great post with actionable advice!

How to stop naming Java classes with the "Manager" suffix

AbstractSingletonProxyFactoryBean!!

How often do you clean your screen/keyboard?

Whenever they are dirty. I have a brush for my keyboard and...

How do you take breaks throughout the day?

I should take more breaks than I do. I like to take walking...

The Arrogance of Building A Perfect Product

Another perspective comes from interaction designer Alan Co...

Is English a necessary skill for a developer? Why or why not?

Language keywords are in English so I would say yes. For ex...

If you were tasked to conduct a security audit on a server/database-backed web app, where would you start?

The first thing to check is if they’re using the default ad...

Show your Laptop🔥

I think its so common now nobody thinks its unprofessional.

Show your Laptop🔥

My experience with redbubble is that the stickers came a li...

The Interview Study Guide For Software Engineers

I think we really need to face a reckoning in our profession....

Should I share my current salary with recruiters?

I’m in total agreement that you should never share your curre...

Should I share my current salary with recruiters?

I am not aware of any law prohibiting recruiters from askin...

War of the Git Flows

This also sounds like what we do at my company

War of the Git Flows

I don't think I'm following: "the differences are miniscule...

I've worked at fast-growing startups and Silicon Valley tech companies for the past seven years. AMA.

I mean, to be quite fair, there's a lot of people who have ...

What common programming concept has the wrong name?

Dependency Injection. Simply because people have widely di...

Star Wars or Star Trek

Star Trek for me. Star Wars is great for the adventure but ...

What Happened When I Learned Java and Python at the Same Time

The Java tutorials are pretty good for learning Java, actuall...

Will Java be as widely used in five years?

Very interesting interviews because you can see the impress...

Why test POJOs?

Never say never 🙂

What 10x engineer means?

10x engineer idea was based on bad science. It was purely s...

What habit do many senior engineers have that juniors should try to avoid adopting?

Juniors should avoid adopting the gatekeeping behavior a lo...

What programming best practice do you disagree with?

Things that are common that I disagree with: "public" as ...

Why test POJOs?

If I read you correctly, your logic is that since you know ...

Why test POJOs?

It's more that people commonly misuse the term POJO so that...

What's the last piece of software that you paid money for?

LucidChart! I love it!

Extremes (in) Programming

I totally agree that certainty is an antipattern in our cra...

Advice for Developers in the Early Stage of their Career

10 years for me, or 8 depending on if you count my early st...

Who's looking for open source contributors? (Jan 14th edition)

I could use some contributions to Mill, a library for makin...

Learning to think like a programmer.

I wholeheartedly agree and recommend this book. Also check ...

I am a mediocre developer

Excellent post, in the spirit of Albert Einstein's quote: "A ...

"Learn at least one new language every year" is bad advice

That's so true! If your application runs in a Linux environ...

Investor due-diligence

Warning: this is going to sound very opinionated and I'll a...

If you could go back 10 years, what would you say to yourself?

I would tell myself, surprise, you actually have the most d...

"Learn at least one new language every year" is bad advice

Yes yes yes one thousand times! Thanks Blaine! It's about t...

Do we care more about what we've done or how we did it?

Your Sistine Chapel comparison is great, I might have to st...

Putt's Law and how to power your org from the ground up

I only have anecdotal experience to go on, rather than hard...

Are you a member of a professional organization related to computing or software development? Why or why not?

I let my IEEE membership lapse. Not sure what I got out of ...

Why I chose the Firebase ecosystem

I had a great experience building my first mobile app atop ...

Avoid getters and setters whenever possible

It's great isn't it? That's the "Material Theme UI" plugin....

Avoid getters and setters whenever possible

What do you have in mind exactly? Getters and setters can v...

Do I Want To Work In This Company, or What Questions To Ask On An Interview

My experience has been that when you ask people on an inter...

Do I Want To Work In This Company, or What Questions To Ask On An Interview

Often! I actually got this question out of an article in so...

Do I Want To Work In This Company, or What Questions To Ask On An Interview

One of my favorites is, "What gets rewarded here?" I have l...

You are mocking it wrong.

I usually find a fundamental misunderstanding of mocking. Use...

Why do some developers listen to music while they code?

I'm convinced programming is the reason I got into weird su...

Why do some developers listen to music while they code?

Ulrich Schnauss is great!

Static classes are evil

Static methods can also be difficult to test, if they make ...

Avoid getters and setters whenever possible

You're concerned about code duplication and that's a good c...

Avoid getters and setters whenever possible

Hi Dobromir! I mentioned the case of validation in a setter...

Should a Junior Developer start with a remote job?

Hi! I worked remote when I was a junior developer. I think th...

Avoid getters and setters whenever possible

Hi Pilipenko, my goal with this article was to show bad des...

Avoid getters and setters whenever possible

Thanks for the thoughtful questions Daniel! In both cases, ...

Avoid getters and setters whenever possible

Sorry if it wasn't clear. First, I would recommend not maki...

Avoid getters and setters whenever possible

Thanks for this paper Jason! It is great!

Avoid getters and setters whenever possible

I didn't understand your option 1, but I would definitely n...

Avoid getters and setters whenever possible

I think I should have tackled this in the article. You are ...

Avoid getters and setters whenever possible

I love it!

Programmers that can't type shall be shunned and treated with disdain.

I think I fall in this camp too. Instead of sitting down an...

What is a Tech Lead?

A person being asked to carry more responsibility but witho...

Encapsulate state and expose behavior when writing object-oriented code

Hi Benn, that's the comment from the Microsoft documentatio...

Encapsulate state and expose behavior when writing object-oriented code

Help us understand the motivation for a private setter. Why...

$DREAM_JOB

The advice to try to move your current job toward your drea...

I'm Scott Hanselman, ask me anything!

Hi Scott, there's a lot of criticism of Computer Science in...

Clicking a Facebook link logs me into another person's account

Seems like you'd want to report this to facebook.

Looking for resources for a teenager to teach how to start programming

I always thought Mark Myers' A Smarter Way to Learn is a re...

All The Cool Kids Are Doing It

Great thoughts! It's almost as if you have to think about t...

Do developers still need UML?

Many people use (or at least read) UML but don't know it. For...

What would you like your first programming language to be (or have been)?

I've been considering whether BASH or JavaScript should be th...

With great power comes great responsibility

Great post and I agree big time! Like you referenced near the...

Why I did my master's in software engineering instead of computer science

Hi Nonso, sorry for the delay in replying. You would have t...

References and sources for modern software project management?

In my opinion there are no books from the past seven years ...

Welcome Thread - v1

Hi everyone, my name is Scott Shipp and I am a professional...

loading...