The framework rat race...

Last Update: 26.06.2018. By Jens in Developers Life | Learning | Newsletter

one of the favorite pet peeves of us developers. Learning is fun, so learning new frameworks is fun too. Or subjectively mandatory for getting a new job or better projects. Moving from one framework to another makes you feel better. You learn, you improve and eventually, you get a higher paycheck or a better rate if you freelance. It always seems that people using framework X or language Y get better paid.


Do as toddlers do and ask...

Last Update: 25.06.2018. By Jens in Developers Life | Learning | Newsletter

Kids already sue the most powerful question in the world pretty early on.


And a readers question about how to talk about business outcomes in enterprises

Last Update: 22.06.2018. By Jens in Developers Life | Learning | Newsletter

Reader Paul chimed in on yesterdays email and was wondering how one can talk business oriented in an enterprise environment. That’s a good question and a tough one.
If you work with smaller clients, the chance is higher that your work directly with the business owner or at least with someone involved in the business. Someone who cares. It is a totally different game in larger corporations. There is no single business owner anymore. There are multiple and their goals often do not align. And that goes along down the line to your dev position.


Back on track with the shop

Last Update: 21.06.2018. By Jens in Developers Life | Learning | Newsletter

So, after getting derailed a bit by my recent observation, we get back on track with building the spreadsheet shop. In the meantime, you guys did send in a couple of good questions. Great, keep coming!


An observation

Last Update: 19.06.2018. By Jens in Developers Life | Learning | Newsletter

This morning I was in a meeting of the project from stone age to talk about the proof of concept app we did. 6 people, including me, with a total of 4 different companies (or self-employed). And at least 4 different pairs of glasses on. That’s a hell of a lot of opinions and intentions. And blind spots.


How to build a shop

Last Update: 18.06.2018. By Jens in Developers Life | Learning | Newsletter

a shop. Not one of those biggies with Magento, Shopify or whatever is in today. No, we build one using spreadsheets, of course. You guys wanted to build more tutorial apps and have some spreadsheet fun. So, here we go.


Using Zapier for notification...

Last Update: 15.06.2018. By Jens in Developers Life | Learning | Newsletter

So, today we are going to use Zapier for sending the email notification. To follow along, you obviously need a Zapier account. The free is enough.


Sending email with Spring Boot

Last Update: 14.06.2018. By Jens in Developers Life | Learning | Newsletter

So, let’s start with sending emails first. As with most things in Spring Boot, it is straightforward. The central class in Spring for sending emails is the JavaMailSender. It provides an interface simplifying the whole mail creation process, especially with mime types.


How to notify a human...

Last Update: 13.06.2018. By Jens in Developers Life | Learning | Newsletter

Sometimes we need to trigger a human to continue a task; manual reviews, todos or whatever. In my particular case, an action in the system should trigger a human to review an entry and manually approve it. For that, we got multiple options and I thought I include you in the reasoning process.


How to structure packages?

Last Update: 08.06.2018. By Jens in Developers Life | Learning | Newsletter

  I was recently chatting with a reader and the topic of how to structure packages came up.

Basically, the traditional way is to structure by layer and each layer got its own subpackage. For the imaginary Evil Corp with their project doom it would look like: * com.evil.doom.model * com.evil.doom.service * com.evil.doom.controller * com.evil.doom.dao Perfectly reasonable. But it has some drawbacks. It encourages spaghetti code. Sooner or later your code will be entangled like hell inside each subpackage. It is not clear, where the boundaries of functionality is.