last day (21 days later) » 

3:50 PM
42
Q: Fired for third time - what to do?

JohannesbergToday I was fired from a software company.. for the 3rd time in 1.5 years. Needless to say I feel like I reached bottom and it's impossible to get out without changing career. Should I change a career? Is it even possible to find a job now? Case 1: Fired from a fintech company on the 2nd month f...

 
You'll have a hard time finding a company that values spending a large amount of time refactoring code (or even writing extensive tests, for that matter). But even at such companies the primary focus is getting stuff done. As explained in the linked post, you need understand that this is "wrong", grow from the experience and avoid similar "mistakes" in the future.
 
Have you had jobs before these three? If so, what is different about these versus prior jobs?
 
@JoeStrazzere they were internships and then temporary jobs for fixed periods. They were bigger companies and I got good references from them.
 
@Johannesberg - assuming your performance wasn't poor in those jobs - why not? What is different now? As I wrote in my Answer, maybe temp jobs are just your "thing"?
 
3:50 PM
@JoeStrazzere I think one of the reasons was that in those jobs I generally had to build things from scratch so didn't have to deal with technical debt - and thus refactoring and cleanup (on my own code) was always fast and unnoticeable to management.
 
@Johannesberg - if that's a big factor, you should seriously consider it in your search for you next job.
 
My hearty sympathies are with you. I have a family but still feel like an orphan.
 
Consider contracting. The barrier of entry is lower, meaning that there will be fewer awkward question. No one will ask for references, so you might imply that you quit, rather than were fired, because you are still trying to find the right niche, so a series of contracts might help you find it.
 
...also you might be able to stick to contracts where you're writing greenfield code.
 
Were you explicitly asked to refactor the code?
 
3:50 PM
What country are you in?
 
You say you work in a software company? Can you code? Asking because many people really can not code barely at all. Sorry to be blunt, but if implementing fizzbuzz takes more than (say) 10 mins, you should change field.
 
@TeroLahtinen yes, I'm actually above average in terms of coding. The problem seems to be that I have a tendency to refactor and cleanup code while working and not communicating this. I tried to stop this but was too late..
@SteveSmith no. I tried to solve related technical debt while working on a piece of code that I was assigned to. I also tried to add tooling to the testsuite to test better the thing I was working on. So all this took much more time than the estimation in the ticket.
 
@Johannesberg I can get obsessive with code quality. The thing is, refactoring is a business decision. The time you put in is an investment. That has to pay back in the future somehow. It has to at least have a good chance of being worthwhile (change multiplied by time saved or something). Often, at least basic refactoring of horrible code is worth it. But don't go overboard. A lesson I'm still working on :)
 
There is a market for cleanup and refactoring work. I used to write and automate tests, create/review quality guidelines and analyze/update legacy code for various clients, usually in 3-6 month projects. Judging by your comments, I suspect that sort of work might be right up your alley, and it would be easy to sell it as "I really care about code quality, so I want so make this my professional focus." Be warned, though, that you'd most likely have to work on some really messy specimens.
 
VOTED TO REOPEN - this is not a duplicate of the linked question
 
3:50 PM
You do refactoring without explicit instruction if you are good and fast enough to do the task at hand and refactoring in the time alloted. And then you make sure you don't get carried away.
 
Roy
Many programmers fail to realise that, beyond a reasonable level of quality, companies are far more interested in having code delivered on time in a usable state than code that is well written, well tested etc. The best programmers from a business perspective are those who know how to balance best practices with delivering timely results. If you can't do the latter very well, consider freelancing or something where you have control over the deadline and can choose clients who rather well-written code than less well-written code delivered in a timely manner (though I doubt many exist).
 

  last day (21 days later) »