It’s tough to tell when exactly and why I decided to become a developer because it was long ago. I started learning programming in high school at the age of 15. I wrote my first basic program in Turbo Pascal at the computer science class. It took maybe two or three years until I started exploring how to build a website. The idea that you can put something online and people worldwide can see it seemed thrilling.Continue reading Why Did I Become a Developer?
React Native EU 2017 – my selective recap
I had an opportunity to attended React Native EU 2017 conference last month. This 2 days long event took place in my hometown Wrocław, Poland. It was a very interesting experience for me because I’m a frontend developer. I don’t have any working experience with React Native and the only mobile project I worked on was built using Apache Cordova. Anyway, I found many of the talks very attractive and I wanted to highlight some of them in this post.
Different types of software testing
Software testing helps protect code from incoming bugs and improves general quality of the functionalities exposed to the users. When you look at it from the developer’s standpoint the first thing that comes to mind is unit testing. However it turns out tests come in many flavors. I have already shared in the recap from Advanced TDD workshop with Uncle Bob what kinds of tests a professional team should use to ensure that the application remains intact. The following items create a hierarchy:
Recap: Advanced TDD workshop with Uncle Bob
Earlier this week I attended a three day Advanced TDD workshop delivered by Uncle Bob Martin. The course explained the principles and practices of Test-driven development as described in his book, Agile Software Development, Principles, Patterns, and Practices. It was an amazing experience, packed with great knowledge, so I couldn’t resist sharing my notes.
Uncle Bob (Robert C. Martin):
He has been a programmer since 1970. He is the Master Craftsman at 8th Light inc, an acclaimed speaker at conferences worldwide, and the author of many books including: The Clean Coder, Clean Code, Agile Software Development: Principles, Patterns, and Practices, and UML for Java Programmers.
– Skills Matter
Continue reading Recap: Advanced TDD workshop with Uncle Bob
Learning functional programming
Lately I wanted to explore more in-depth functional programming concepts. When I was looking for resources I found an interesting bundle (with 60% discount) from O’Reilly:
- Functional Thinking – book by Neal Ford
- Functional Thinking – video by Neal Ford
It turned out they are really nice because they present code examples from the different programming languages like: Java, Scala or Closure. That approach gives you a bigger picture how functional programming can be applied. I’d say that the book contains almost everything you can see in the related video. In addition, it’s more up to date and it contains a bit more details. On the other hand the video is much more interactive.
Programming interview glossary
This blog post explains most of the popular keywords I was asked about during interviews for the various software engineering roles. They are presented in an alphabetical order. Personally I find this glossary very useful when preparing for the upcoming interview.
Agile Software Development
In 2001 a group of industry experts created a statement of values called The Manifesto of the Agile Alliance:
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.