Book report: Pragmatic Programmer by David Thomas and Andrew Hunt

Hello again! 

As a third blog post for course of ECIP, Reading and Oral Skills Spring 2020 it was assigned that we should write a little book report about book we have read. I chose book Pragmatic Programmer by David Thomas and Andrew Hunt. 

Instead of reading, I started to listen this book as an audiobook through Amazon Audible. This book was one of the many options were suggested in the course instructions. I ended up picking this one because it looked like something that is going to offer some fundamentals needed to be understood if one is seeking for career of programmer. I expected to find some basic philosophies behind working with code, instead of deep technical details. I found both of them. 

Book has been so far interesting and it’s full of helpful content for it-student. I think it’s good to read or listen this kind of books as early as possible, because later new routines and habits might be more difficult to implement for one’s programming workflow.  

First chapter I read was about pragmatic philosophy and second one was about basic tools. First chapter named “Pragmatic philosophy” was about seeing a bigger picture behind of programming work. Pragmatic perspective includes at least these perspectives: practical attitude, decision making, style and philosophy for work, skill to make compromises, taking responsibility of one’s work, lifelong learning and communication. 

Second chapter I read is about tools for programming work. Name of that chapter is “The basic tools”. In this chapter authors are suggesting some basics tools for programming and how trying new ones can improve you as a programmer. Also use of paper and pen were encouraged.  

I found that book was full of good material to use and learn. I understood that some parts of book will be more relevant later when my practical knowledge about software project grows. Most beneficial part of the book gave me understanding and motivation learning to write code in new environments and to try new programming languages to became better in solving problems with any programming language.  

I can recommend this book everyone who is on their path of software engineering. I believe it will be helpful for most of it-crowd, even people with more experience.  

Thank you for reading! 

Best regards, Iikka Järvenpää 

Agile testing in the process of
developing Marketplace Police –app

Hello again!  

It’s time to write my second post related to our English ECIP –course. I’m really happy about positive and good comments I got from previous post and I hope I can keep this more technical post also enough interesting and engaging for you.  

This week’s assignment was about writing technical post for computer science students and technology enthusiasts. 

Earlier assigned responsibilities in our team

As a background story, couple of weeks ago we formed little project teams in our study group to building mobile apps for outdoor activities in Oulu. After a little bit planning, we decided to start developing gamified sightseeing app for Oulu. Our team consist of the following specialists behind the nicknames: Jyr1, Tuukk4, 11kk4, J0n1, 54mp0.  

Our idea is very simple: App will offer locations where user can go, and once user reaches that location, app will reveal a story and facts about the sight located in there. By going and finding places user will get points and that will encourage user to do more and more sightseeing.  

App must be of course tested once we’ll have even a first functional version of that. Because we are using Agile methods in our group, testing will be very integral part of our development process. 

In Agile process, development and testing can’t be separated. Only by testing maturity of the project can be measured. In this way we can make sure that development of the app will go right direction from very beginning and it will success to pass tests based on the user stories which have been written in very beginning of the project to the backlog journal. 

Since we are still in quite beginning of the project, some details are not decided yet. With testing, I personally feel attracted to rely on more specific Agile testing method: TDD (test-driven development). In TDD tests are written even before any code has written. In our case we can use our user stories and make them more technically detailed to make sure testing will be enough comprehensive.  

Our user stories

First test will be based on the highest prioritized user-story, which in our case will be following:  

“As a tourist, I want to explore Oulu, so I will have interesting holiday.” 

When this functionality will work, we’ve reached our first cycle of testing and developing, and we can go to the next one. In this way, testing and developing becomes an iterative loop which will finish when app can pass the lowest priority user story. 

If this would be a commercial product it would be good to take people from outside of our team to the testing team. Also, we could test product in the markets during the process too, by distributing very early versions as a minimum viable products to take feedback, find bugs and fix them in our next iteration… 

One very important point to make about testing is following: It is better that people who are writing code for the app don’t make or even write the tests, at least alone. If this happens, it can end up creating a blind loop where it seems like everything is good, all functionalities are working but, in the end, product won’t be ready for the end users even it passes all the tests.  

So, time will tell, which (Agile) approach for testing our team will pick. Feel free to drop a comment and ask later how things are progressing with our team. Thanks for reading this text and I hope I hear about you in the comment box of this post! 

Assignment 1

This blog text is made as an assignment for English course I’m attending at the moment: ECIP, Reading and Oral Skills Spring 2020. Thanks for reading! I hope you will enjoy. 

Assignment goes like this: 

For this week’s assignmentyour main task is to begin your blog by writing an introduction to yourself and your blogThe post should include a description of your best projectthe project of which you are most proudWhat did you doWho did you work withWhat was challengingWhat made the project worthwhileWhat impact did it have on other peopleWhat did you learnWhy are you proud of the projectPlease also discuss one goal you have related to your English learning 

Hello! 

My name is Iikka Järvenpää. I’m 28 years old guy living in Oulu, North Ostrobothnia, Finland.  Now I’m working at Siikalatva’s municipality as a project manager. I also study in Oulu University, a subject called information processing science, which is like a computer science but more focused on software and user-computer interaction. Officially I’m also self-employed through my company Digikiihdyttämö, but I haven’t had time too much for that recently. 

 
As a hobby I like to listen audiobooks, walk around nice parks and forests, good parties and of course good food. 
 
As I mentioned in the beginning of this post, this post is an assignment from our English course I’m attending to. Part of this assignment is to share here about best project I have done so far, something I’m proud of… But no project has been “the best project”, but I’ll tell you about one good one related loosely to this website…. 

 
This website is first website I have ever made. I made it already in 2017. In that time, I was studying in a vocational college and the first purpose for this website was to be my personal photography portfolio. You can still find some traces of that by checking my Instagram feed from the section “Flow”. 

As amazing as it feels, very soon after I had created this simple website where you are reading this text right now, I got first inquiry about if I can make websites for one small business… That was something I had been looking forward to, because after years of working in other peoples’ companies I had dream to be self-employed or even small business manager. Still, that surprised me, but I could have not said no, to that inquiry. I also made an offer to make some photography, which was way stronger skill for me than building websites, for that business, as a part of the deal. I ended up closing that deal with two websites for this restaurant mini chain. I still don’t know where I got all that self-confidence to take care of that, but I putted together all my skills and efforts and I finally succeed to build those websites. 

The journey was really challenging, I had to really learn so many things. I believed I could use just ready solutions available all around the internet, but that was not enough. My client expected some customization and I had to take a deep dip to html, CSS and even to php. 

I used hours and hours to solve all the problems and finish all the customizations my client asked me to do. I can tell you, in the beginning the negotiated price of this work sounded quite good, but in the end, I knew my hourly salary became quite low in this project, but if I count in all those things I learned during the process, my salary became enormous! 

So, in the end my client got functional websites and photos, I got so much new experience and skill + money and so much self-confidence. Everyone was happy with the website. My business Digikiihdyttämö got started. After that I found other clients, who I offered audiovisual solutions for money. Sometimes websites, sometimes social media marketing, sometimes photography and later videos too. I got experience as an entrepreneur and that helped me to land really nice job in municipality of Siikalatva. Things can go unexpected ways and that’s actually just cool thing about the life in my opinion… 

Teaching of that story is this: If you want to progress fast, throw yourself into “deep end of the pool” and swim back to home from there. Put yourself into problem you are quite sure you can solve even you don’t know yet exactly how. You will most likely to find out how, be brave! Of course, this doesn’t apply for situation that could put other people into danger, use your common sense…! 

And last but not least thing assignment tells me to do, is to discuss about one goal I have related to my English learning: 

  • I think I want to write better in English. Learn to make (about) correct sentences and use right prepositions before nouns. I would be so happy if someone speaks and reads English natively could enjoy my writing. That would be already exceeding even my biggest wishes. 

Thank you for reading this!