When I see offers in job portals and I see the requirements, I feel as if I don't know some important concepts which I should.

For instance, I see that companies demand TDD (Test Drive Development) and SCRUM or other agile methodologies, but in my current workplace is like "develop this software" and that's it.

There is almost no team working (just if we are in the same project, but we work in different areas (backend, frontend...)).

Because I haven't practised about these concepts, I feel a bit out of the market, I mean, although I have about 2 years of experience, if I apply for another company with my knowledge, I think that my possibilities would be few.

So, my question is: What should I do to "solve" my situation?

  • 1
    Sorry, I have just edited the question – LordWater Dec 10 '14 at 19:25
  • Remember that your education is your responsibility and not your employer's. Self-study what you want to learn in your free time. (If you can somehow mix it with your current job, that would be nice, but it's not always the case. – Areks Dec 10 '14 at 21:17
  • @arek. Could not disagree more. If the OP decides they're not being challenged enough by their work and quits that tends to affect the employer. I think self learning is a great idea, but without the right opportunities at work it's a great escape plan. – Nathan Cooper Dec 11 '14 at 1:49
  • Hey, I didn't say you have to stick to a job where you don't learn. I said that learning is your responsibility. And if you believe you should switch jobs to achieve that, by all means do it! Changing jobs is still within your responsibilities. – Areks Dec 11 '14 at 4:56
  • @Areks I think that the best way to learn something is to being in a job where they offer you the methodology which you need. I mean, if you are in a company where you don't learn almost any new concept, and there is other where you can learn many new concepts (using pratice I mean), then the difference between this 2 companies is significant. However, you have a point about that – LordWater Dec 11 '14 at 18:50

Unless you're going into a place that wants to make you responsible for implementing scrum, I don't think you need as much experience, but you should be willing to learn it enough to do some self-study. Knowing the fundamentals would go a lot way.

TDD is something you need to put into practice, but not necessarily on the job. You should definitely learn about unit testing. Consider studying this and implementing it in a side-project to show some aptitude and willingness.

Of course there are benefits to knowing and having experience with different things, but more firms should also consider someone not only with strong existing skills but capable of learning new things and open to using them. There are a lot of programmers who want nothing to to with Scrum or TDD and have plenty of experience with them - bad experience.

| improve this answer | |
  • Experience can be good or bad, depending on how well the tools fit the task and how well they were implemented. – keshlam Dec 10 '14 at 23:55
  • I get the impression that the OP doesn't use any process at all. As a bare minimum they should follow some process. I think that will get you in the door at most places that have a process, no matter what process that is. What they don't want is the cowboy coders who do things any old way, many of whom are reluctant to change to do things the company way. – Dunk Dec 11 '14 at 22:07
  • 1
    @Dunk - Agree that companies that follow a process want employees who have demonstrated they can follow a process, but I would also consider a candidate who is leaving their current company because of the lack of formal processes. – user8365 Dec 12 '14 at 20:09

You can do independent study on the concepts. You can try to apply them to your own work, or in a toy project for practice. After you know them well, and can demonstrate how they're helping you, you can try to evangelize them to your department and/or manager.

HOWEVER, please note that not all tools fit all jobs. Scrum doesn't handle customer support very well, for example.

| improve this answer | |
  • 1
    If scrum doesn't handle support, what software development methodology does? – user8365 Dec 10 '14 at 20:03
  • Waterfall? Heh-heh-heh-heh-heh-heh-heh-heh-heh. – Juha Untinen Dec 10 '14 at 20:35
  • @JeffO Kanban might be better suited. You cannot have a sprint planning meeting about a customer call that will happen two days in the future. SCRUM is not exactly good in this kind of reactive situations. – nvoigt Dec 10 '14 at 22:51
  • @nvoigt: Interesting; I'll have to look into that. We're part-scrum -- scrum on a departmental level, but we're still trying to get away from waterfall higher up. – keshlam Dec 10 '14 at 23:54

Not the answer you're looking for? Browse other questions tagged .