DEV Community

loading...
Jan Wedel profile picture

Jan Wedel

Senior Software Developer + Group Lead + Father + Musician + Loves Technology

Education

M.Sc Electrical Engineering

Work

Senior Software Developer at Bosch Connected Industry

Last 250 comments

Bringing Pattern Matching to TypeScript 🎨 Introducing TS-Pattern v3.0

Very impressive work! After I once used pattern matching in E...

Analyzing Angular bundle with Source Map Explorer

I already did 1, this was a clean fresh build. 2 I will try. ...

Analyzing Angular bundle with Source Map Explorer

Hey Salim, thanks for your article. We are just trying to red...

What's the longest you've ever spent debugging a single bug?

For me, it was months. I actually wrote about it: ...

TDD success/horror stories? #discuss 🙀

Good question. This project was almost 10 years ago, I have t...

TDD success/horror stories? #discuss 🙀

When I started doing TDD, I wrote a quite complex backend ser...

Let Them Write Tests: Writing Your First Cypress Test

Especially for beginners (in using Cypress) I strongly recomm...

Top 21 Spring Boot Interview Questions

I also use a couple of those questions regularly. But do actu...

Boilerplate - the Angular vs React difference

We don’t usually do any DOM testing at all but use fast unit ...

How it Feels to be a DEV Father

Ahh, Ok, that’s generally also true for my job. It just sound...

How it Feels to be a DEV Father

I remember when I left, they had almost finished that tower w...

How it Feels to be a DEV Father

Interesting! What kind of job is that?

How it Feels to be a DEV Father

Interesting! Another thing we have in common, I was living an...

How it Feels to be a DEV Father

3 hours a day? Wow! I just moved to reduce my commute from 1,...

Head start with Testing in Angular with Jasmine

We’ve had a lot of issues with Karma and Protractor in a very...

Unit Testing in Angular - To TestBed or NOT to TestBed

We are also on that same path. We were used to writing tests ...

YYYY vs yyyy - The day the Java Date Formatter hurt my brain

Parsing dates with patterns is like parsing emails or HTML. U...

Learn Javascript through a Game

Great game you did there and nice post! Snake was the big thi...

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

This is an interesting experiment you did there and yes it sh...

Metaclasses in Python

It goes even further. A long time ago, I wrote a Python inte...

Are you a "confident" developer?

I am confident when my tests are green.

10 Questions I'm Asking All Companies Before Scheduling Any Interviews

That’s absolutely right. I’m not sure if you are sending them...

Software Made Simple

I think the short section about simple code cannot be stresse...

A Gentle Introduction to Test-Driven Development: Creating an Object Validator

Always good to see someone spread some TDD love ❤️ I was ju...

Tips for Programming with a low end PC.

At home, I still have a 2012 MacBook Pro upgraded to 4GB RAM ...

8 SCSS Best Practices to Keep in Mind

Great hints, thanks for that! One general note regarding 7.:...

When are you happiest as a coder?

Doing TDD up to the point where the last line of implementati...

It's my birthday!

Congratulations! 🎊🎉 Building something on your own with no ...

When things are back to normal, will you be working from home or in an office?

I have mixed feelings. I enjoy not having to commute and I l...

Music or No music while coding?

I only listen to music (without lyrics, Jazz mostly) when the...

TDD in Angular - Dependency Injection and Mocking

Looking forward to that!

TDD in Angular - Dependency Injection and Mocking

When you say backend, do you mean your services or your actu...

TDD in Angular - Dependency Injection and Mocking

I mean things like: mapping a backend model (which is retur...

TDD in Angular - Dependency Injection and Mocking

Yeah, mostly yes. But you’d still have mappings from backend ...

TDD in Angular - Dependency Injection and Mocking

I am struggling with TDD in Angular ever since I have started...

Senior front end dev here, ask me anything!

Hmm, maybe I should give VSCode a try... :) I'm using Intel...

Senior front end dev here, ask me anything!

Thanks for your reply. I was not so much talking about code...

Senior front end dev here, ask me anything!

As a backend Java developer that is also doing frontend, I am...

Why Code Reviews Shouldn't Exist

Exactly what I thought! We only do reviews when we don’t hav...

What is Deno? Will it replace Node.js?

Great post, as Java backend dev that also does frontend too, ...

One thing led to another and I built my own static site generator today

Can you explain what you mean by “partial”. I mean, I see the...

Containerize A Spring Boot App with Docker

And yes, all dependencies will be inside the one app.jar. Thi...

Containerize A Spring Boot App with Docker

They copy the built spring boot executable jar file from the ...

Type-Safe Error Handling In TypeScript

Yes, that's nice. There are a couple of functional languages ...

⭐️🎀 JavaScript Visualized: Promises & Async/Await

Thanks, those are awesome visualizations and explanations! I ...

Are you coding more in your spare time due to COVID—19?

Seems to be that a lot of people here don’t have kids. I'...

Mech Keebs 101 - Customising a keyboard

I was thinking about buying one and closed the web page aft...

Remote Mob Programming

Yes, it definitely is :) I’ve listened to a talk by your c...

Nevertheless, Nadya Coded 2020

Thanks for sharing your story! Nobody should feel bad to ...

What is a unit test

I’ve worked in such scenarios like customer projects and th...

What is a unit test

Great to hear pushing testing which unfortunately gets less...

10 Skills Java Programmer can Learn to Accelerate their Career

In other words, "1 million of lemmings can't be wrong". ...

10 Skills Java Programmer can Learn to Accelerate their Career

From my experience, building business applications in vertx...

10 Skills Java Programmer can Learn to Accelerate their Career

So first: Everyone should be happy with whatever feels right....

Why You Should Do Coding Dojos

Great to hear that! Feel free to ask me if you need any hel...

Questions to Ask Your Engineering Team

Great questions! I would also ask: How and What do you t...

Top 10 Most Popular Programming languages and their Creators

Thanks for this collection. It would have been great to lea...

🎉5 Dev skills that will boost your salary in 2020

I was thinking a bit, if „new emerging technology“ equals „...

Java is Dead - Long Live Java

Yeah, sometimes I also get frustrated about IntelliJ but th...

Java is Dead - Long Live Java

Sounds like a good plan to me 😊👍

Java is Dead - Long Live Java

Did you use Ultimate or community version? The latter certa...

Java is Dead - Long Live Java

Ok, that sounds pretty bad. Usually, the best idea is to ke...

Java is Dead - Long Live Java

Great summary 👍

Java is Dead - Long Live Java

How can I join? 💰💰💰

Java is Dead - Long Live Java

Yeah, maybe that’s a nice way to sneak in new language to j...

Java is Dead - Long Live Java

As I said, it's actually not a problem that other languages a...

Java is Dead - Long Live Java

Very well put!

Java is Dead - Long Live Java

Wow, I can sense a lot of frustration from your comment. I ...

Java is Dead - Long Live Java

Record types are basically syntactic suger. If you want to ...

Java is Dead - Long Live Java

First, there are couple of talks on YouTube if you want to ...

Java is Dead - Long Live Java

I was just assuming that... As mentioned in one comment abo...

Java is Dead - Long Live Java

I've worked with a couple of IDEs so far, Visual Studio (ve...

Java is Dead - Long Live Java

Yes, coroutines are a way to implement synchronous looking ...

Java is Dead - Long Live Java

Thank you, looking forward to your article.

Java is Dead - Long Live Java

Funny thing is, I forgot to mention that I’m doing Typescri...

Java is Dead - Long Live Java

Thanks for this comment, that was exactly my point.

Enterprise Software Development

Hi, and thanks for writing that. Could you explain what the...

Using the new Azure SDK for Java to upload images asynchronously, using Spring Reactor

In my opinion, this is best suited in a microservice archi...

Making 'The Matrix' Effect in Javascript

Nice work. I don’t recall the exact matrix effects, but I t...

Confirmation Bias: How your brain wants to wreck your code

We don’t have QA testers and I don’t think this is really n...

Is it possible to get relevant industry experience on your own (not through working at a company)?

I have been thinking about this a bit and there are a lot o...

Is it possible to get relevant industry experience on your own (not through working at a company)?

Nice comment, there are a lot of great advices in there!

Should interviewees be allowed to search for answers?

I never do coding challenges in interviews, so no need to l...

How many programming language years old are you?

I am Basic years old.

Unhealthy Code: Primitive Overuse

There are a couple of good examples here! One thing that I ...

Reactive Programming is not a Trend: Why the Time to Adopt is Now

Reactive programming is a more efficient way to code and h...

How to write a Frontend Web Developer Resume?

Although you specifically asked for a resume, in Germany a ...

10 simple Linux tips which save 50% of my time in the command line

Hi, and thanks for the article! I love those shell short cu...

A use case for TypeScript Generics

You can see it in the dom, that all form values are strings...

A use case for TypeScript Generics

In my case, it was an input element that was bound to the c...

A use case for TypeScript Generics

Great write up, thanks! I’m recently doing more and more ty...

Tips For Validating HTML Form Inputs

I think the type field is very important to allow the brows...

5 Powerful Programming Languages to Stretch Your Brain

When I read the title, I immediately thought „Erlang“ and „...

Why developers are SO sh*t at estimating!

Maybe you have to work on your communication, too. If it’s ...

Things You May Not Know About Freelance Web Development Pricing

Thanks for your article! This is really important especial...

Why developers are SO sh*t at estimating!

It’s important, that when you need to fix estimates in a te...

The Big O Notation - An Introduction

Yes, I think the key point is that after some good or bad e...

The Big O Notation - An Introduction

Thanks for this article, those are good and easy examples! ...

Should we form a labor union?

In Germany, we call it “social market economy”, so it doesn...

What’s the best JavaScript framework?

How do you know?

What are your computer’s specs? Which specs are particularly important to you?

Mid 2009 MacBook Pro, replaced HDD by 256GB SSD and 32GB RA...

I am lucky, you are not.

This is important. It can even be expanded to another impor...

Kubernetes for everyone ☸️💡🎉

Hmm, I'm working with Docker and compose for a year or two ...

Angular Architecture Patterns and Best Practices (that help to scale)

We were just discussion how to properly design and cut a la...

Angular Architecture Patterns and Best Practices (that help to scale)

I was thinking the same... would be great to see a working ex...

Boost your Productiveness with RegEx (a little)

Haha, I‘m glad my article could help! 😊

Boost your Productiveness with RegEx (a little)

It depends on the circumstances and requirements but I’d st...

Boost your Productiveness with RegEx (a little)

Glad it helps. There are certainly more things to explore a...

Boost your Productiveness with RegEx (a little)

Thanks 🙏 Since I would not consider myself as an expert, I...

Boost your Productiveness with RegEx (a little)

Thanks, I will have a look! Looks like you’ve started a mar...

Boost your Productiveness with RegEx (a little)

BTW, I just added a disclaimer, just in case what I wrote h...

Boost your Productiveness with RegEx (a little)

Thanks for your advise. I absolutely share your views, so I...

The Fear of Effectiveness

Yes, maybe. But it’s never a good advice to make decisions ...

The Fear of Effectiveness

Yes, absolutely. This is probably the same behavior when pe...

The only way to improve your CSS game👩🏾‍🎨

I would really like to know why it’s so hard for developers...

It’s Okay to Test Private Methods

Hmm, why not refactor the class then? If it’s untested lega...

It’s Okay to Test Private Methods

Some good arguments have already been made here: TDD your c...

How to understand Angular using the Documentation

The Angular tutorials are pretty good from a content perspe...

If you are front-end dev - how do you keep yourself concentrated on grooming when BE guys discuss their technical details?

In our situation it’s pretty much the same, we have Angular...

If you are front-end dev - how do you keep yourself concentrated on grooming when BE guys discuss their technical details?

We decided to go Full-Stack. Backend Devs learned Frontend ...

Functional JavaScript - Functors, Monads, and Promises

Great examples! The funny thing is, everything I read somet...

Tell me a bug story

I’ve already posted my debugging some time. It about how we...

dev.to Proofreading Community

Hmm, this is up to the author, isn’t it? I mean, anyone cou...

A Step-by-Step Guide to Hosting Inclusive Developer Meetups or Events In Your Office

I would have a look the color inverse mode aka pseudo dark ...

A Step-by-Step Guide to Hosting Inclusive Developer Meetups or Events In Your Office

Yes, I guess it’s one of those things where at first you th...

A Step-by-Step Guide to Hosting Inclusive Developer Meetups or Events In Your Office

Yep, certainly, there could be a list of some emojis that n...

A Step-by-Step Guide to Hosting Inclusive Developer Meetups or Events In Your Office

Wow, thank you for this VERY detailed and great post. There...

A Step-by-Step Guide to Hosting Inclusive Developer Meetups or Events In Your Office

✔️Looks bad on dev.to dark theme 😉

RFC: JSONx Framework

Thank for your elaborate answer! You’re right, OpenAPI is ...

RFC: JSONx Framework

Hi, first, thanks for your post. It looks like a lot of wor...

Type-Safe Error Handling In TypeScript

Actually you can do something similar: blog.logrocket.com/...

Type-Safe Error Handling In TypeScript

Would be great if typescript allows pattern matching, then yo...

Create A Dark/Light Mode Switch with CSS Variables

Great post. I would love to add a Dark theme to my website,...

10 Essential Testing Frameworks & Libraries for Java Programmers

Definitely Mockito. If you need to use PowerMock you’re pro...

10 Essential Testing Frameworks & Libraries for Java Programmers

Hey, no, Hamcrest is a Matcher Library, AssertJ is an asse...

10 Essential Testing Frameworks & Libraries for Java Programmers

Hi, good list of useful tools. One thing you seem to have m...

How I made a web scraper because LinkedIn

You seem to have accidentally enabled your Caps lock...

Data Type Conversions in Java

Yeah, I know but there is no single formatter that supports...

Data Type Conversions in Java

Oh, and to be clear, I’m not talking about efficiency. I’m ...

Data Type Conversions in Java

I also agree with you, but since ISO time stamps are so com...

Data Type Conversions in Java

Hi, thanks for the article. One important addition to your ...

Supervisor Intensity, what is it?

Thanks for the example. I remember sometimes the port is oc...

Supervisor Intensity, what is it?

Thanks for the article! So how did you eventually configure...

Stop using so many divs! An intro to semantic HTML

Great article! Will replace all divs in my personal blog by...

GIVEN my article WHEN a reader reads it THEN the reader writes better tests

I like the idea of given/when/then but I don’t like to use ...

Kotlin: Removing POJO Boilerplate

Although I like Kotlin because of great features like Corou...

Quarkus: Introduction of New Method for Quickly Launching Java applications on Container

Did you plan to add any information here? 😊 I was also abo...

What’s an unpopular software opinion you have?

Thanks! I would say: Good points. So it’s more about the ...

Stop Doing Coding Tutorials

I don’t know, I’ve never had any problems with tutorials. Usu...

What’s an unpopular software opinion you have?

I’ve used a couple of those languages as well and it is obv...

What’s an unpopular software opinion you have?

After working with docker and compose in several projects, ...

What’s an unpopular software opinion you have?

It’s definitely sexy, especially with a dark theme. 😎

What’s an unpopular software opinion you have?

For everything that goes beyond one code base, I’m in. DRY ...

What’s an unpopular software opinion you have?

Have you tried any others? 😎 No, seriously, I’d like to kn...

What’s an unpopular software opinion you have?

I often recognized that Juniors “just” lack of confidence, ...

What’s an unpopular software opinion you have?

😱...🤗

What’s an unpopular software opinion you have?

Generally, it would be good to explain your statement a bit...

What’s an unpopular software opinion you have?

...if you have a proper IDE.

Dark (lang) - removing accidental complexity of programming

This definitely sounds interesting. However, I think they h...

Enterprise Software Development

Hi, we use Sonatype iQServer (formerly CLM Server). And ye...

Do You Remember Your First Coding Experience?

I think we actually won 5 Deutsche Mark once back then... I ...

Do You Remember Your First Coding Experience?

I was about 11 years old when I got an old computer with a gr...

Vert.x Kotlin Coroutines

Sure, here it is: return.co.de/blog/articles/vertx-b... Th...

Vert.x Kotlin Coroutines

Amongst other issues, callbacks were the main reason not to...

The book every programmer should read

There’s surely a lot to learn, but juniors are actually abl...

The book every programmer should read

Hmm, interesting. Actually it’s among my personal top 3 of ...

Using Python Functions As Classes

Oh no, I only wrote an interpreter that executed precompile...

Using Python Functions As Classes

I‘ve written a Python interpreter in Java once where I lear...

Get Started With TypeScript in 2019

Hi, great summary! Thanks for writing, I will keep it in my...

Is 2019 the year of TypeScript?

TypeScript is the one reason that made me start writing Fro...

The Rise of Microsoft Visual Studio Code

That is very interesting. During my career, i saw a lot of ...

Interview with Ben Ilegbodu: Three Things That Compose Seniority

Leadership is definitely one of the most important things i...

Java Data Structures

Thanks for the interesting article. Usually, I tend to use ...

Enterprise Software Development

Thanks for the clarification!

Enterprise Software Development

Actually we’re a small part of a huge company. Our business...

Enterprise Software Development

This depends on the product, service and BE/FE. Our team al...

Enterprise Software Development

Thanks for the insights. We actually don’t have anyone dedica...

Enterprise Software Development

Could you go into more detail about how you automate the crea...

20 Tricky ES6 Interview Questions to Revamp Your JavaScript Skills

Great post! I personally don’t care that much about interv...

When programming on a laptop: Mouse or Trackpad?

I use the keyboard for almost every shortcut that I can rem...

Implementing Impersonation

This article emphasizes one important concept: Security by ...

Things Nobody Told Me About Being a Software Engineer

That’s why you should Write a failing test Make the test g...

Stop trying to be so DRY, instead Write Everything Twice (WET)

I agree, naming is hard. But it’s usually worth it. In my t...

Stop trying to be so DRY, instead Write Everything Twice (WET)

I think you forgot to mention important point when it comes t...

Skills That Everyone Thinks Web Developers Have

I guess that actually applies to a lot of professions. Befo...

Dev.to Review #10: Top 7 Of The Week, Discussed

Great! I heard a couple of podcasters use Zoom devices whic...

Dev.to Review #10: Top 7 Of The Week, Discussed

Just listened to it on my Podcatcher, Great way to learn ab...

Show off your stickers!

❤️Berlin

Dev.to Review #8: Top 7 Of The Week, Discussed

Great news! Sure I will!

Let's make SpringBoot app start faster

Nice comparison. Would be great to undestand what those flags...

Dev.to Review #8: Top 7 Of The Week, Discussed

Well said! 👍 And kudos to the idea for the pocdast. I alway...

Dev.to Review #8: Top 7 Of The Week, Discussed

Thanks for having my post discussed in your podcast! It’s a...

Changelog: Post Analytics Available for All

Great! Awesome feature. 🦄🦄🦄

The Three Stages of a Developer

Yeah, but I would not write something three times in parall...

The Three Stages of a Developer

That’s an unexpected but most welcome compliment to a nerd ...

The Three Stages of a Developer

And to make it absolutely clear: Code duplication in one Co...

The Three Stages of a Developer

Yes. I also know experiences developers that occasionally w...

The Three Stages of a Developer

I think every phase has its value. So enjoy it! My first ph...

5 Factors for Effective Teams

It’s actually from the research results so I didn’t double ...

5 Factors for Effective Teams

The thing is: I have the feeling that the wrong people tend...

The Three Stages of a Developer

Thanks Ben, indeed a great talk! Fun fact: Chad now works ...

The Three Stages of a Developer

You made some very good points here that first underline th...

The Three Stages of a Developer

Well put! Do you think that when you have experienced it on...

The Three Stages of a Developer

After "making own framework", most probably "framework" com...

The Three Stages of a Developer

Thanks for the feedback! Yes, I read about it some time ago...

How to create simple rest apis with springboot

BTW, Lombok is also available at start.spring.io ! Just typ...

Modern Java Development is Fast

Just saw the broken formatting starting at the Lombok secti...

How to create simple rest apis with springboot

Always good to see some Java love around here 😊 Two recomm...

What was your TDD aha moment?

Same here. Was implementing an embedded client of a client/se...

What tools do you use for writing?

I love Sublime Tex, so I use it :) Together with markdown p...

Why I love Java

Fun fact: Java is not a pure object oriented language. int,...

Java is too old, What should you learn in 2018?

Although I find fanboy teenage view a bit harsh to say, I ha...

Do you copy and paste code from Stack Overflow?

Huh, ich just read the license: BY -> Attribution requir...

Do you copy and paste code from Stack Overflow?

Wow, I actually searched the page once for license informat...

Do you copy and paste code from Stack Overflow?

No I use the concepts. And actually, if you do so, you vio...

My solution is the best!

First, there are always trade offs for every set of two giv...

How to organize your git branches

We’ve also used both for a team of 6 and Feature branches o...

New Web Framework?

A spring boot app with 1000s of beans and component scannin...

Everything That's Not Tested Will Break

Hi! That might be your reason but it’s definitely not all ...

39 No Frills Keyboard Shortcuts every Developer Should Know About

I love shortcuts! I have one or two for you: [WIN] + [SHIF...

Go 2 Draft: Error Handling

Thanks for your elaborate reply. Maybe I shouldn’t do this...

Go 2 Draft: Error Handling

Although I’m not a go developer I love to check out new lan...

How I learned to love unit testing

Great article about the journey to embrace testing. I’m als...

The Magical Password

Yes. I usually try to follow my own advice. But in this cas...

The Magical Password

Thanks! I’m glad you liked it! 😊

My Favorite Command-Line Shortcuts

That's pretty awesome. I didn't even know that there is eve...

When is your code 'good enough'?

I develop test-driven. That means, the simplest code that m...

My Favorite Command-Line Shortcuts

I love keyboard shortcuts so thanks for sharing! And you’re...

Pros/Cons of transitioning from SDE to SDM of your own team

I had a similar experience by getting asked to manage the t...

dev.to is now open source

Great move! Open source for a great and open community :) ...

Exercise: Making a Simple Regex Engine

<3 for using Erlang. Although it may look strange people...

Why You Should Start Using JUnit 5

Ha! That's a very good question that I just recently asked ...

Why You Should Start Using JUnit 5

I don't know.

Why You Should Start Using JUnit 5

Yep, you are right. I was looking at this from a spring-b...

Why You Should Start Using JUnit 5

Honestly, I don't really understand your point. Sure, func...

Why You Should Start Using JUnit 5

First, it's not necessary but your IDE will probably warn y...

What are the dos and dont of building a startup as a developer?

Some lessons I’ve learned from a start-up I worked at which...

Why Your Technical Blogs Belong On Dev.to

This truly an amazing place for developers. I still have my...

Why I love hiring Junior engineers

That is absolutely true. Just one thing: Make sure to have th...

Why doesn't my code work?

There are some useful tips in there, but the most important...

Importance of diagrams

Not very often. We use use for some very important things l...

Does your team write code tests for front-end code?

Absolutely yes. With typescript and angular, it’s pretty ea...

Don't Drink Too Much Reactive Cool Aid

The cost of thread is hugely eggxagerated. I admit, I di...

Don't Drink Too Much Reactive Cool Aid

Yup, I'm not a "JavaScript for anything" fan  😇 We're using ...

Don't Drink Too Much Reactive Cool Aid

True :) trying to erase that from my brain whenever I can 😜

Don't Drink Too Much Reactive Cool Aid

Getting loads of sensor data is definitively a good fit for...

Don't Drink Too Much Reactive Cool Aid

When you’re working with requests and responses, reactive c...

Don't Drink Too Much Reactive Cool Aid

Jup. That’s why I explicitly mentioned backend programming....

loading...