pwmarcz's comments

pwmarcz | 10 years ago | on: Ask HN: How do you review code?

It works well. I think with the original pull-request process we basically had a mental block that only one person is allowed to write the code, and the reviewer can only comment. This can be frustrating especially if you know exactly what needs to be fixed. If you just go ahead and make the change, you save both people's time.

I guess one place where it fails is that it's not very educational. If you're tutoring a less experienced programmer, you don't want to fix the mess after them, you want to teach them how to doing without you the next time around. In that case, I either leave the fix to the author, or fix the issue as they watch.

pwmarcz | 10 years ago | on: Ask HN: How do you review code?

We had a similar problem - a lot of pull requests being stuck in a back-and-forth remarks and fixes. The "social" solution was to increase the amount of communication in the team: instead of everyone having their own tasks and working in a silo, we made multiple people (ideally, the whole team) responsible for a task, splitting work as we go. The technical solution was to use pair programming instead, at least for some changes. Both worked really well.

Pair programming achieves a similar result to code reviews (another person knows the code very well, and is able to criticize it and improve on the design). It also does it much better because the review is done as the change is being made, and not after the fact, which improves the understanding of the reviewer and allows them to give immediate feedback.

The old code review process still works as a fallback, and is especially good for small but tricky changes: I need to do something novel, it's not a big change but there are a lot of ways to do it, can you comment on my approach.

One other thing that we also ended up doing is "ping-pong pull requests": if you give me a pull request, I don't just criticize it leaving the issues for you to fix, I fix them and leave that for you to review. Then you can do the same, etc. As a result, both people get better acquainted with the code, instead of just one of them being the "owner" of a change.

pwmarcz | 10 years ago | on: Ask HN: Who is hiring? (September 2015)

Codility (https://codility.com/) | Warsaw, Poland | ONSITE | FULLTIME

We provide an online coding test engine for recruitment screening. Think programming contests/olympiads but much easier (or FizzBuzz but slightly harder). Some of our programming problems are also freely available for training (see https://codility.com/programmers).

We're a small company (about 10 programmers and 30 employees in total) with many ideas how to expand our product. For me, the most interesting part is that at our scale, any contribution you make is very visible, and that there are plenty of opportunities to try out something new. I have been working with Codility for 2.5 years now and it has been real fun to see the team grow, improve our skills and learn new things.

As for the technical details: we are built around Python, Django and Postgres (along with some low-level C, as well as Ruby in the infrastructure code). We practice code reviews, pair programming and continuous delivery.

We are currently looking for full-stack software engineers; as well as people with strong frontend experience. For details, see https://codility.com/jobs/, or just e-mail me at [email protected].

pwmarcz | 11 years ago | on: Ask HN: Who is hiring? (March 2015)

Codility (https://codility.com/about/), Warsaw, Poland

We're currently looking for experienced software engineers for a full-time position in Warsaw.

Our product is a coding test engine. We're helping companies recruit by providing simple, impartial assessment of programming skills at an initial stage of the process. Currently this means basic algorithmics (e.g. "write a function that does this and this, and figure out how to do it in linear time"), but we're also experimenting with other types of programming tasks.

We're still a small company (less than 30 people) with lots of ideas on what to build next. I've been here for two years now as a programmer, and I really enjoyed seeing how far we have come and how much we have been able to learn.

Our development team has seven software engineers and two sysadmins. We have a continuous integration cycle, code reviews and some pair programming. The technology stack includes Python, Django, Postgres, Celery and Chef.

See the full job ad for more details: https://codility.com/jobs/?gh_jid=32596#job. You can also contact me by e-mail ([email protected]).

pwmarcz | 11 years ago | on: Ask HN: Who is hiring? (February 2015)

Codility (https://codility.com/about/), Warsaw, Poland

We're currently looking for experienced software engineers for a full-time position in Warsaw.

Our product is a coding test engine. We're helping companies recruit by providing simple, impartial assessment of programming skills at an initial stage of the process. Currently this means basic algorithmics (e.g. "write a function that does this and this, and figure out how to do it in linear time"), but we're also experimenting with other types of programming tasks.

We're still a small company (less than 30 people) with lots of ideas on what to build next. I've been here for two years now as a programmer, and I really enjoyed seeing how far we have come and how much we have been able to learn.

Our development team has seven software engineers and two sysadmins. We have a continuous integration cycle, code reviews and some pair programming. The technology stack includes Python, Django, Postgres, Celery and Chef.

See the full job ad for more details: https://codility.com/jobs/?gh_jid=32596#job. You can also contact me by e-mail ([email protected]).

page 1