My situation is: I work with software development in Brazil. I failed to keep up with the technology and stagnated. Now I'm in a dead-end job in a horrible company, hating every minute there. The pay is low and I lose nearly 11 hours between work and commute time. On paper, I have a long time as a programmer but since I didn't keep up with the tech I'm having difficulty finding jobs, becoming locked in bad companies.

At the moment I'm trying to study android development but it will be a long time before I'm a master of it and, because I'm working in bad, low-paying jobs, I fear I will never be able to reach the well-paying jobs even if I master android because I will have nothing to show my mastery. I'm not working with android at the moment.

How do I break this stagnation cycle?

  • 1
    Have you tried applying to junior Android Developer jobs? What has been the outcome? (or you haven't applied because of fear and doubt?)
    – DarkCygnus
    Apr 8, 2019 at 22:12
  • 1
    I have not. I'm still trying java and c++ jobs (the two techs i have more experience). I'm trying to finish an app and publish atm
    – user102507
    Apr 9, 2019 at 0:32
  • 3
    @Geronimo If you have experience in Java and C++, you won't have any problems changing jobs, maybe it's just that you are not in the right part of the world, but I think you can even try remotely
    – David
    Apr 9, 2019 at 8:24

4 Answers 4


How do I break this stagnation cycle?

By thinking positively, and recognizing that change will not happen quickly. Change will take work. You will need to get back up to speed with technology, and you'll need to develop a plan to do that. Identify the technologies, concepts, and skills you'll need to move to the next level, and some concrete, specific ways to learn and apply them.

It's hard to execute on a learning plan, however, when you're spending 11 hours a day either getting to, or being at, your job. You could try to find a job closer to where you live, move closer to where your job is, or try to find remote work. Then you'll have more time before/after work to gain new skills.

Another way to execute your learning plan is by finding ways at your current job to apply new skills and learning. Instead of doing things the "same old way," see how you can implement new technologies or practices in the work you're doing now. That way you get to learn and build, gaining experience in exactly what you need.

If you can't reduce your commute or use new skills in your current work, you'll have to prioritize learning during the time you have available. Unfortunately the only thing that will allow you to acquire new skills is time. You may need to give up some things temporarily to provide yourself with opportunities to learn and create new things.

Build some side projects, and create a GitHub (or equivalent) account where you can store and show off the work you've done. It may seem daunting at first, but it took a while to fall behind in your technical skills, so it may take a little while to get them back. Don't be discouraged, and follow through on your plan.

  • I'm afraid that moving closer to the job is impossible due to the peculiarities of my ciy (Rio). The residential areas in downtown, where the jobs are, are either too expensive or slums. About using the current job, I find difficult to use it as a stepping stone to learn these skills, due to problems in the workplace.
    – user102507
    Apr 9, 2019 at 0:38
  • @Geronimo that's understandable -- I just wanted to include as possible options. I have added another paragraph that will hopefully provide more help.
    – mcknz
    Apr 9, 2019 at 13:47

mcknz has a good answer, I am only adding my personal experience.

It won't be easy and perhaps it may be quicker focusing on the skills you already have and extending them, rather than learn from scratch another one, unless you are targeting a specific opportunity.

I lived a similar situation such as yours, having 15 years of experience but having difficulty finding good jobs in my city. Although the city was very big, with thousands of companies, the maturity of the IT field was low and most jobs were not that good. I was changing companies every year and finding the same issues around: low paying, lack of professional management, long hours in office, lack of testing, rushing task over task without care for quality, huge amount of bugs and rework, etc.

And every time I tried to introduce changes to increase quality, they were not welcomed, since the companies believed they know what they were doing and Agile methodology, automated testing and continuous integration and delivery were just fancy things.

My solution was to study more about some topics related to my career (microservices, continuous integration, for example), then apply to jobs both in my city and outside it.

So, echoing mcknz and expanding:

  • start experimenting with technologies inside your current job
  • try to get advantage of the commute time to read
  • although is hard to do this, try to get one hour every day to practice - it seems little, but over time it will represent a good amount of learning
  • use your lunch time to learn
  • search for others in your situation and try to study together (or at least share experiences)
  • expand your network, try to find people with the same interests as you, because they may have opportunities in their companies
  • try to study after hours in your current work, if it is easier than doing that at home (also may save time, since you will miss some of the rush hour)
  • consider taking online courses
  • try to get involved in some open source project that uses the technologies you are studying

Establish a plan for yourself and try to follow it every day, even if only for 5 minutes - it is very important to not give up.

wish you all the best, amigo


As a professional in a highly skills-driven technical field like software development, it's very easy to (perhaps unconsciously) focus your entire career path, and any job searching you do, on learning "the newest" tech or skill. When you can't get a desirable job, or you feel stagnant, it's easy to assume your career is stunted simply because you haven't learned the latest language or hot trend.

However, a very important lesson to learn is, good programmers aren't good because of the languages or skills they know. They're good because of their thought process, their communication skills, and their ability to understand functional problems and how to write practical code that actually solves them.

Simply put, good programmers know how to:

  • solve problems efficiently
  • write code that is sustainable and can be maintained in the future
  • work with a team that may be comprised of people with different backgrounds and skill levels
  • take direction from management and focus on the right problems

For every one good programmer I interview, I may also interview 10 "experts" that did keep up on the latest tech and learn the latest language, yet they can't really practically apply their skills and/or they're so focused on tech that they have no bandwidth to actually understand the problems we're trying to solve.

My point in writing this answer is to make a slight frame-challenge to your question. Specifically, you asked,

How do I break this stagnation cycle?

But you also wrote a lot about how you've been unable to keep up on the latest tech, and you feel like you can't get jobs because the languages you know are outdated. My response is, while it can be useful to learn new tech and new languages, you cannot make that the sole focus in your professional growth, and in fact you may not even want to make it the number one focus.

Regardless of the programming language you're writing in, you can spend time focusing on and developing the skills I've mentioned above. And, when you do apply to jobs and interview, you can make sure you're emphasizing these skills, versus just focusing on showing off the latest language you've learned. You may not be in a position to go after Android development jobs right now, but given that you know java and C++, you should be able to make plenty of progress in terms of "career growth" by ensuring that you are focusing on these softer skills - both in terms of areas for personal development and growth, and in terms of things you should be showing off when you write a resume or do an interview for a new position.


I'm in almost the same situation. I've decided to retrain myself in technology that matters. I'd like to keep my job until I find a new one, but I've realized that I simply won't be able to study enough to find a new position in a reasonable amount of time if I do that. I can actually feel my work ethic getting worse working with my current employer to.

I plan to quite my job at a certain point, with or without another one lined up. If I do have another job lined up, great. If I don't, I just found 8 to 10 hours of study time. I'm going to put this on my cv and resume too so employers know I don't have any gaps, and I don't **** around.

I've also had people suggest that I just study during work hours. I think this is also a viable strategy, though I'm too worried about getting fired to use it.

Another really solid idea is to figure out a better way to deal with stress and sleep so you can reach the point where you can learn again more quickly after work. If you can do that, then you would have more time to study. That should let you keep your job and study till you get a new one.

It's important to be realistic with your retraining. If you know you won't learn relevant technologies while employed then you have to weigh the value of knowing how to use technologies that matter against the value of being an employed job seeker.

  • It is said that employers look down on workers with employment gaps and also on unemployed workers. I don't how how much employment gaps and being unemployed affect the chances to be considered for hiring processes and the chances of actually being hired, though.
    – user102507
    Apr 9, 2019 at 19:44
  • @Geronimo I think knowing relevant technologies from having studied vigorously, and being able to show that you learned them quickly outweighs being employed while using a virtually useless tech stack. Who would you hire? Someone who knew Vue, or someone who knew Cobol?
    – user53651
    Apr 9, 2019 at 19:47

You must log in to answer this question.