Michael SzymczakPursuing excellence in software development
My values
One of the most important things is to identify your values. Skills, accomplished project, knowledge etc. are the product of your values, time, effort and abilities. It is of paramount importance to work with people and companies that have compatible values. Mine are the following:
- Honesty
- Transparency
- Continuous Improvement
- Accountability
- Discipline
My technique
In order to create not only working, but also successful and high quality software, I found following techniques/practices/frameworks extremely useful:
- Agile methodologies - Kanban & Scrum
- Specification by Example w/ Behaviour Driven Development
- Test Driven Development
- Frequent code reviews
- Merciless Refactoring
- Continuous integration
- Pair Programming
Of course there are many more but these mentioned above are my favourite. I try to convince every developer I talk to or work with to give them a try.
Go back Portfolio
Products I designed, projects I participated in and lessons I have learned
Oxford English Online (2011-2013)
Product details
For | Oxford University Press |
Product | www.oxfordenglishonline.pl |
Additional info | Demo video (slightly outdated) |
Oxfordenglishonline was No. 1 English Language Teaching platform in Poland.
My roles and responsibilities
- Technical leader of the project
- Recruit developers and create Scrum team
- Communicate with the client (requirements gathering)
- Design the application architecture from scratch
- Coach the team throughout the project
I learned that:
- Technical excellence of your team and the process/framework you use are equally important
- Definition of Done and Definition of Ready bring transparency into the process
- You can't force the team to be self-organised
- Sometimes you have to let go. You can't do everything on your own (this was the hardest one)
WSiPnet (2011)
Product details
For | Wydawnictwa Szkolne i Pedagogiczne |
Product | wsipnet.pl |
Additional info | Demo video |
The best educational product of the year in 2012, according to MEN.
My roles and responsibilities
- Back-end developer
I learned that:
- You shouldn't write a line of production code unless fully understand the context
- Test harness is mandatory and legacy code is not an excuse
- If you want to improve something in the process, be the change you seek, team will follow if you are right
- Morning traffic congestion is a great opportunity to relax and read technical books :)
PMI Poland chapter CMS Integration (2011)
Product details
For | Project Management Institute, Poland chapter |
Product | pmi.org.pl |
My roles and responsibilities
- Centralize CMS for Poland chapter of PMI
- Migrate data from Poland subdivisions' into one
- Selected project management activities, like risk analysis etc.
I learned that:
- That risk management is an important part of the project - you feel like an oracle sometimes
- How does it feel to be the part of a project carried out for... Project Management Institute ;)
Pokeprojekt (student project at the University)
Product details
For | Students of Japanese philology from UAM, UJ, UW and WSJO |
Product | pokeprojekt.maikeru.pl |
Additional Info | Demo video 1 |
Probably the biggest Japanese-Polish online dictionary in the world.
Project description
It was a non-commercial project that was a part of my Master's Thesis. I tried to prove that if you have the right tool, you can create a community around such tool and change habits (like collaboration) of individuals. Despite of the unattractive user interface, no funds and despite the fact that the whole idea and responsibilities like development and community creation were entirely on my shoulders, I enjoyed the process so much, that together with the newly born community we've created something that became probably the biggest online Japanese-Polish dictionary in the world. I know today this application looks outdated (it is!) with probably some security holes and horrible UX, but it was developed more than 6 years ago and is not maintained any more. Nevertheless, the application has been already running without significant problems for over 2000 days! :)