When I started to work as a freshly graduated computer scientist in the mid-nineties I was immediately assigned to a project programming C++. I certainly did my best to implement the functionality with the best quality I could manage to produce, but when thinking back to it, it is no surprise that the result was not very good, the code was actually quite bad. This was pre-XP and Agile time; pair-programming was not widely used and in the first couple of projects we didn’t even code review our code before delivery. Luckily I read a lot of books and articles and studied code examples written by gurus in the field, and after a while I got a good feeling of how to organize and designing the code in order to make it maintainable. What I really would have liked to have during this time was guidance from an experienced programmer helping me to improve my coding skills.
I’m a big fan of the software craftsmanship movement; software development is a craft and you need to practice continuously in order to deliver quality software and customer value. I see myself as a journeyman who steadily is gaining new knowledge and experience in how to implement software. I read a lot to get new input and I practice my coding skills as much as possible beside my ordinary programming assignments. So in the spirit of craftsmanship I would like to give an apprentice, someone new in the profession, some guidance that I myself would have loved getting during my first year as a software developer.
I would preferable have someone in Stockholm since it is easier to coach face to face, but that is not a requirement. I have sixteen years of experience in the field using C++ and Java. I have deep knowledge in object orientation as well as using TDD and BDD to design maintainable code. There are many different ways this coaching could be organized, but I think it is best to start as simple as possible and focus on the code to look for small things that will improve the quality.
- You are coding Java.
- You are quite fresh in the profession and have a desire to develop you coding and design skills in order to produce high quality code.
- You send my code once a month for me to look through and I spend a few hours each month reviewing your code. We then either meet face-to-face or I send you my feedback and suggestions back to you.
- We do not have any obligations to each other. Any of us may end the coaching assignment at any time.
- We enter this with the understanding that I will give you feedback and suggestions of how I think the code and design could be improved. It is then your decision to use my feedback as you like.
If you are interested, please mail me at anders.laestadius at crisp.se and describe your background and we will start from there and see how it develops. I will do this for free under the conditions listed above.