I hereby claim:
- I am yegor256 on github.
- I am yegor256 (https://keybase.io/yegor256) on keybase.
- I have a public key ASDIUlRwZERl47w7DgZXmyiI5INXc0pQyfYDd3aFsLWupAo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
final Agent agent = new Agent.Iterative( | |
new Array<Agent>( | |
new Understands( | |
this.github, | |
new QnSince( | |
49092213, | |
new QnReferredTo( | |
this.github.users().self().login(), | |
new QnParametrized( | |
new Question.FirstOf( |
/** | |
* Please review the class below and suggest improvements. How would | |
* you refactor this class if it would be in a real-life project? | |
* There are many problems here, both high-level design mistakes, | |
* and low-level implementation bugs. We're interested to see high-level | |
* problems first, since they are most critical. The more mistakes | |
* you can spot, the better programmer you are. | |
*/ | |
/** |
These are typical interview questions I ask most of job candidates. The most complex questions are on the top. They are more relevant to architects and designers, while questions at the bottom of the list should be addressed to programmers.
Architecture:
These research questions are suggested to students of the Pain-of-OOP course:
Q1: In C++ objects are data structures with virtual tables, allocated either on the stack, statically, or on the heap. It would be interesting to find out how most other object-oriented programming languages maintain objects. Do they also represent them as data structures with virtual tables, or perhaps as something else? It would be interesting to analyze not only popular languages but also academic experimental ones, like Self. In the research, it would be interesting to compare different implementations and identify their pros and cons. Maybe we can also do some benchmarking to support our conclusions.
Q2: In object-oriented programming, many design patterns are recommended for use. It’s commonly believed that if programmers adhere to these patterns in their code, the code quality will improve due to clearer design. We hypothesize that most design patterns emphasize the encapsula
The following research questions are for the OSBP course students:
Q1: Is there a correlation between open source experience of a programmer and the quality of code they write? In order to answer this question we analyzed the amount of followers in 100K Github profiles and the quality of 10M pull requests made by these people. The quality of a pull request is a composite metric that we introduced, which includes time, comments, corrections, complexity, and other factors.
Q2: It is recommended to start every message in a Github conversation (issue or pull request) with a nickname of the person that is supposed to answer it. However, not everybody does this. We assume that message that start with nicknames receive responses sooner than messages without such a prefix. In order to confirm or disconfirm this theory, we analyzed 10M messages in 1000 Github repositories.
Q3: Sometimes, in order to prove some technical point in a Github discussion (issue or pull requ
These research questions are suggested to students of the PMBA course:
Q1: One of the methods to increase the quality of a software product is by reporting bugs found in it, so that the team can fix them. However, we believe that most software professionals consider bug reporting as a quality-decreasing activity. We conducted a survey, asking 100+ people about their perception of bug reporting, and analyzed the results. Published.
Q2: In proper project management, every person assigned to a task feels 100% responsible for its completion. This means that if the task fails, it is solely his/her fault. However, this is not what happens with most software developers. We conducted a survey, asking 100+ programmers about their attitude towards responsibility, and then analyzed the results. Published.
Q3: It’s a generally accepted truth that money doesn't motivate software professionals. Instead, other fac
Use the following LaTeX template, if a conference asks you to use the IEEEtran
document class (create your orcid here):
\documentclass[conference]{IEEEtran}
\usepackage[backend=bibtex,style=numeric,natbib=true]{biblatex}
\usepackage{href-ul}
\usepackage{orcidlink}
\addbibresource{main.bib}
\begin{document}
\title{Beautiful Research Paper}