dev.to() Recommendation

I just want to drop this link here. dev.to() is my latest favourite website about software development. It’s kind of a blogging site like Medium, but it’s also used for discussions, sharing ideas, etc. Since some weeks I’m reading the articles and following the related twitter account @ThePracticalDev regularly. I really like the side and the mood of the community. The articles are widespread in topic and depth. There are some small, easy reads and also some more in-depth analysis and discussions. If you haven’t heard about it yet, I highly recommend taking a look at dev.to. It is also a very good source for software development related podcasts, if you’re looking for some new casts to subscribe.

Software Architecture Exam Summary

The SWA exam is done. Here are the topics and tasks of the exam:

  1. Textual specification is given. Class diagram and sequence diagram for a specific process have to be created. Design decision needed to be described shortly.
  2. Component and package diagram have to be created. And the interface between two components had to be written basically in pseudo code.
  3. Multiple tasks regarding ‘What is SOA and how does it work?’.
  4. Multiple questions about Object Orientation basics, like ‘What is a Aggregation?’, ‘What is a Composition?’, etc. and ‘Which UML diagram is best for a given scenario?’.
  5. Multiple questions about Software Architecture.

It was a good mix of practical and theoretical questions. However, I had to write a lot and now my right hand hurts. 🙂 I’m happy that I had to write only one exam today.

One Day to go for the Software Architecture Exam

There is only one day left to learn for the Software Architecture exam. At the moment I’m mostly fine with the topics. Part of the exam will be UML diagrams, especially class diagrams, component diagrams, state machines, etc. Then there might be also some questions about Object Orientation in general.

The second part is mostly architecture related. There are two topics that worry me. At first there are multiple layer concepts, for example the 4+1 architectural view model by Kruchten, the four architectural views by G. Starke, TOGAF, RM-ODP, etc. I can’t get these things in my head. They are also very similar to each other, which makes it harder to memorize each view model.
The second hard thing is the architecture description language called Z and Object-Z. This is an ADL like UML, but without graphical elements. Instead it uses predicate logic and textual description to describe the rules and functions. I’m mainly used to graphical UML diagrams, so this predicate logic stuff is a whole new world for me.

The last topics are related to Domain Driven Design and Cloud Computing, but these things are not that deeply described and therefore they should not be that hard to learn for the exam. Overall I hope that the exam will be more practical in terms of application and not so much theory related.

You Need a Budget – Yes, you do!

Photo by Vitaly / unsplash.com
With this slogan start hundreds of podcast episodes and Whiteboard Wednesday videos of YNAB. Todays blog post is absolutely unrelated to IT or security or my study. However, it is a very important topic for me and I would like to share some thoughts about it. This blog post is all about personal finances and money. If you are not interested in this topic, you could actually stop reading. On the other hand, I will write about my personal experiences and this could be of interest for some of you, especially if you think you’re bad with money.

Infrequent Expenses

Some years ago I lived like what is often called “paycheck to paycheck”. Of course I tried to manage my income and expenses and it worked quite well. I’ve been always able to pay my bills when they are due and I could effort the little things you buy when you are going shopping. However, in life every day is different. One day your car breaks down, the other day an infrequent expense that you had already forgotten comes due, like the annual car tax. What happens now? You grab as much money as needed and put it towards the bill. If you are lucky, you have enough money left and just pay the bill. You can also cut your expenses down for a short period of time and use the money leftover. In the worst case, you are going into debt to cover the spending. If it’s just one unexpected payment, this procedure might work for you.

As said before, every day is different and you cannot foresee the future. If life hits you hard, everything comes on one day. Your car breaks down, some insurance wants a quarterly or annual fee, you job sends you on an expensive business trip, … and maybe you cannot manage this situation that easy as before.

But how can you solve this issue and prepare better for the future?
For me, the answer is budgeting!

I need a Budget!

Some years ago, I found a little piece of software called YNAB. You Need A Budget. – Yes, I do! And oh my god, I really did! Before I go on I want to make clear that YNAB is a commercial software. I have no business with the company and I don’t get any money or discount for writing about it. It is just the software and the process that changed my way of thinking about money, income and expenses. In fact you could actually use pen and paper or a spreadsheet. The software is just a nice way to keep track of your account balances, expenses, payments, etc. and it gives you some comfort features like setting goals, reporting, etc.

The Method: Budget to Zero

How does it work?
There are four simple rules to follow, and this is independent from the software.

Rule 1: Give every dollar a job!
This is basically what’s often called budget to zero. You take all your available money and put it into different categories. Categories are things you need money for, e.g. groceries, insurance, fuel, rent, medicine, etc. You think about, how much money you will need, and assign that amount to the categories And, as the name says, you are doing this until there is zero money left.

Rule 2: Embrace your true expenses!
Here we are again. The car tax is due, 100 or 200 bucks. You maybe thought it will take some more months, but today the amount is withdrawn from your account. How to handle this better? These expenses are often regular in some way. They are not spontaneous. If I have to pay my annual car tax today, I know that I have to pay it again in 12 months. The solution is to plan ahead, divide the amount by 12 and budget 1/12 of it every month. This leads to a situation where the money is available when the bills are due.

Rule 3: Roll with the punches!
Assigning money is a guessing game. And you will fail, sometimes hard. However, that is no problem. It is not about perfection. It is all about control and awareness. The second rule just means that you reassign money if it is necessary.

Rule 4: Age your money!
That is kind of an abstract rule. It actually means that you should spend less than you earn. By doing this you will -at least slowly- grow your pile of money. If you think about the money in your bank account like grain in a silo, you can understand that the oldest money is at the bottom and new money is put on top of it. While spending, you will always spend the oldest money first, and that it how the age of money is calculated. In other words: You are building a buffer, for emergencies, or a special event, etc.

Conclusion

Why do I write about all this? Because I think it is important! No one teaches you such things. Maybe your parents, but they are not teaching this kind of knowledge in school. I wish that someone had shown me the method and the software earlier. As I wrote before, you don’t need a specific software. I use YNAB, but there are other Budget-to-zero software products out there. Some for free, some require a license, but you can also use a simple spreadsheet to track everything.

I can say that this approach has improved my handling of money massively. I feel much more safe and confident with my finances and it helps me to plan ahead. Often people say, budgeting is a way to say always ‘No’. From my point of view it is the opposite. My budget helps me to say ‘Yes’ and it helps me to prioritize my financial and life goals.

If you are interested to read more about the method and the software as well, I can recommend the YNAB page. There is also a podcast by YNAB and a youtube channel.

And now it’s your turn! Do you budget? Do you use YNAB or any other software? Do you have any questions regarding budgeting?

Master – State of Play

The last post was about making plans. It was a failure.

I’ve not planned much. Actually I wanted to do two exams in March and I wanted to complete two term papers. The term papers are still on my to do list. I am registered for only one exam. At the beginning of March I will write the exam for Software Architecture. All other exams will have to wait for the next exam date in June.

In the meantime I try to speed up and finish the term paper for Architecture and Software Concepts. It is not really complicated or difficult, but due to changed process at the WBH, it is more work and more complex than before. Task one of three is nearly done and I want to finish this as soon as possible. There is a deadline for this on 8th of April and I definitely want to complete this earlier!

And there is a second assignment that I need to complete until 24th of May.
So, a lot to do … as always …

Making Plans for the First Months in 2017

It’s the first working day in 2017 and I’m on vacation just for today. For my study I will create a small plan this evening. There are some exams waiting for me in March and I have to write at least two term papers until April and May. The last weeks have been more silent and I haven’t done much for my study. Thanks to my day off today and a bank holiday in Bavaria coming up on Friday I have only three days of work this week. Maybe this helps me push my activities a little bit.

Classroom Seminar in Project Management and Scientific Work

Yesterday, I’ve been in Pfungstadt/Darmstadt for a classroom seminar in project management and scientific work. The seminar is a mandatory day of the three-days introductory course at the WBH. The lecturer was Mr. Dipl.-Päd. Bernd-Uwe Kiefer. The seminar started with a small round of introductions. Then, we talked for one hour about project management in a classical and modern/agile approach, projects itself, the project order, and so on.

After that, he switched the topic to scientific work. The students got divided in three groups. The objective of each group was to create a presentation of 30 minutes about scientific work. At first we needed to clarify the topics that we want to present, after 30 minutes every group discussed with the lecturer their approach.

Then we had five hours to prepare the presentation. In my group it worked very well and we managed to finish the presentation around one hour earlier. After all groups completed their presentation, we had to present it in front of the class. The most interesting part is that all three presentations have been completely different. Of course, the most topics are repeated multiple times, but I liked to see the different approaches. After each presentation, the lecturer provided a small feedback for the group and he discussed with the whole class some aspects of scientific work that have been mentioned in the presentation.

Actually, I thought that I don’t need this seminar. However, it was a nice day and I think I have learned a little bit more about the scientific work at the WBH. To finish this module I will have to write a term paper about communication in projects with 15 pages by using scientific writing. Hopefully I will finish the term paper in the next weeks so I can focus on the other modules like software architecture.