My first blog. Why I think it's a good idea!
I’ve been thinking for a while about whether I should try writing a blog. I’ve never been much of a writer, but I’ve always admired people that just write about their thoughts on something, whether it’s Software Development, Travelling, Photography, etc. In this blog post, I’ll try explaining a bit why I think writing a blog being a software developer is important and how I think it will help my career.
How I try to keep learning about Software development
I think that for Software developers it’s very important to find ways to learn new stuff quickly, since it’s a field that evolves very quickly. Having some kind of plan on how to keep learning in the field is important, because there is so much information around that without a plan, it might become a bit chaotic. I approach my skills development by doing mainly the following things.
For a few years now, I’ve been an insatiable reader. I read all kinds of Software Development books whether they are about code quality, Agile, automated testing or pretty much anything related to Software. I try to read a little bit of these books every day and I try to mix them up a little bit so my knowledge is spread among different concepts. For example I’m reading now Agile Testing: A Practical Guide for Testers and Agile Teams but the next book I want to read is RESTful Java with JAX-RS 2.0. These books don’t have much to do with one another as one is quite technical, the other is more about good practices, but mixing them is a good way to make sure you develop yourself from both points of view. Otherwise you can for example end up being a technical guru that can only work alone because you have no knowledge about how to work in a team.
If you are interested in finding out about the books I recommend reading, take a look a the bottom of the post.
Most of these books are about things I use in my every day job. They complement the work I do and help me do it better. However, I also think it’s important to learn about things you don’t use every day. That’s why I also try taking some certification exams every 8-12 months.
These certification exams are related to the work I do every day somehow, but not directly. For example, I develop REST services mainly with with Spring, however you don’t need to know a lot about Servlet Technology in order to use Spring, so taking a certification is not fully necessary, but it certainly helps.
Same thing applies for EJBs and JPA. I had never used them before, but taking an exam in order to have the certification helps me understand some related technologies to the ones I use every day, and see different points of view on how to approach a common challenge.
I don’t think of these exams as ways of becoming an expert on something, but as a good way to force yourself into learning something new. I usually purchase the exam first, and then start studying, to make sure I have to actually force myself to study or I’d lose the money.
Talks and conferences
Going to conferences, talks, Meetups, etc. is a good way to learn from other people’s experiences.
If I can’t actually go to a developer’s talk, at least I try watching the vide afterwards. Here in London, there is a great source for these talks/videos through SkillsMatter. There are lots of very interesting talks, one of my favourites being this one about Hexagonal Architecture.
Hopefully one day I’ll be in a position where I can be the one talking about something interesting and sharing it with other developers.
Writing a blog
I’ve always heard that a good way of learning something is to try explaining it to someone else. That’s exactly what I’m going to try doing with this blog. I’ll try sharing my knowledge of anything I think can be useful to software developers.
Nowadays I’m mainly a Java developer, but I’ll try to write about anything that I consider useful for developers, from automated testing to productivity tips.
Having to write about these things pushes me to think about how to make it interesting. If I want people to read what I write I need to provide interesting topics and of course interesting examples, which will push me to learn as much as possible about something before writing about it, in case someone comes asking me and I don’t know the answer…that would be a bit embarrassing.
If you have any more ideas about how to stay relevant and you have some other ways of learning new stuff, please feel free to comment!