Direct current and metallic conduction Suppose we have a circuit with and EMF source and a resistor. We know that when electron moves from one terminal of a voltage source to another it encounters resistance, which is basically collisions with stationary positive ions. During the collisions some of the electric potential energy and kinetic energy that electron has is passed in form of kinetic energy to the atoms of the material of the conductor. That means they lose some of their own kinetic energy, i.e. they're being slowed down. It seems reasonable to think that the electric current (charge per unit time) is changing, as the electrons slow down due to the collisions. Why then we still get a constant current? What is the flaw in what I've described?

Electrons must accelerate and gain a bigger velocity in medium with lower resistance. It seems reasonable for me to think that electrons are moving faster where the resistance is lower and slower where it is higher. So if we have zones with different resistances, electrons will move with different speed and thus the current will vary. 
 A: You aret correct that the elctrons are slowing down but that is onlg part of the picture, what is happening is that after electrons gain a certain velocity they usually collide and lose it, then again they are accelerated by the electric field and the process again takes place. The forver chaning velocity of one electron when averaged for all electrons comes out to be constant and is known as drift velocity.and the current is directly proportional to this drift velocity. As a result even though a lot is happening to a particular electron not much is happening to thhe bulk of electrons and we get a constant current.
A: Just the big number of electron participating in the process. When you go from the microscopic consideration like you're discussing to the macroscopic property like current, you get a seemingly steady number by the wonders of what is called law of large numbers.
If you were able to measure perfectly and with very high precision, you would eventually see a random drift, which in the long run cancels itself out. You could check about brownian motion.
