Feb, 2015

The Story of this Blog

Today I want to share the story why I actually started this blog. I often wanted to start blogging and share my experience and knowledge. But every time I started, I wrote two or three posts and then I stopped, because I have no time, found no topics, just want to relax after a hard day at work, and other flimsy excuses…

Expressing Knowledge

In the last months, I realize, that it is kind of hard for me to express my knowledge. For me it seems that if I go to technical interviews for new customers and projects, everybody thinks “Oh yes, she’s a good junior developer. We can work with that.”. Excuse me, did you say junior? I have about ten years experience as a Java developer. I know a lot of things, I made a lot of experiences, I just can’t remember all the technical terms. Even in topics I really care about I need to relearn every now and than what the details are. Of course I know the SOLID principles! – But could you please explain the Liskov Substitution Principle? – Well, … √§hm …, of course I know that, but … I’m out. – What do you say about “methods using references to a base class must be able to use objects of a derived classes without knowing it”? – Yes that’s obvious, isn’t it? Ah yes, that’s the LSP…

And algorithms? I studied business informatics, so I think I have a gap here. To close it (and knowing I’m not that good in remembering all the sorting algorithms from my studies), I took an algorithm course last year. Great! So what is the fastest sorting algorithm? – Depends on the input. – Right, and what if I have a random unsorted list? – Damn, which was the good one… Mergesort? Quicksort? … Damn.

That sounds terrible I know. What has she done all the years? She can’t be a really good programmer! But I am! Believe me, I learn so much new stuff, I read books, blogs, experiment with programming languages, architectures and tools, I visit conferences, and so on. But I can’t remember the technical terms and all the details.

The Plan

And here’s my plan: Persist my knowledge and learning how to express it by writing blog posts. And if someone ever think I’m not a skilled and experienced programmer, because I messed up the interview, I’ll just give him the link to the blog.

Creating a blog

Great idea, but I already know how that ends. I’ll write a few post and after that I’ll losing interest.. But than I stumbled upon simpleprogrammer.com and found John Sonmez email course about blogging. So I decided to give it a try and at least I have a great domain and a huge backlog.

Now I try to work on my consistency. We’ll see if this works for me. But this time I am confident! And within the next project they will see me as an experienced developer within the interview and not only after we worked together in a team.

Hello World! My journey to mastery!

Allow me to introduce myself: My name is Nina Hartmann and I’m a Java developer since 2005. In my early years as a developer I wanted to write beautiful code. In this time I wasn’t quite sure what that means exactly. It should be clear, easy to understand and clearly arranged. I often thought about using a related topic for my diploma thesis but I had no idea what to write about. Far later I read about Uncle Bobs Clean Code and Software Craftsmanship and I liked the idea immediately.

Next steps?

Over the years I read more and more, regarding Software Craftsmanship, apprenticeship, etc., googled people propagating Software Craftsmanship and started to improve myself. I learned a lot. Some things are now everyday techniques and knowledge, some things are (unfortunately) already forgotten, some things I relearned several times, some things I still mix up and of course there is so much information out there I haven’t even found!

Since I started my studies, I coded in my spare time. I try to learn different programming languages, solve programming exercises and experiment with architecture styles.

And why this blog?

To persist my knowledge and to share it with you I start to write about it. My blog posts will cover topics how I make my work flow more efficient, patterns, practices and principles to make my code and the architecture cleaner and I’ll document how I try to improve myself and how I try to make the topic more visible in my team, project and/or company.

So – if you like – join and/or follow me on my personal journey to mastery.

Please feel free to contact me via Twitter or Google+.