6

I am in a bad place with my current job and I am struggling to find a solution. I ostensibly have one year experience with software development at a reputable company, but that belies the truth, which is that my experience is almost worthless. Although my job title is software developer, in reality, I have mostly been assigned support activities for the better part of a year. Instead of building my skills, they largely have been atrophying for some time. I have been gaining other skills, but they do not seem relevant for the software development interview process.

I have spoken to my manager and my manager's manager repeatedly about my concerns, and I was totally blown off. Essentially, my duties will not change, and if they do, it would likely take a year or two to reorganize teams; but as I said, my skills are getting worse, not better. Furthermore, I find the work deeply unfulfilling, as well as not particularly useful for my career goals.

To remedy my lack of skills, I have been doing practice interview problems on my own time, and I intend to increase my own practice and ensure I consistently do it for 1-2 hours a day.

However, I have been doing quite poorly on technical interviews because I have very little solid professional experience (despite my resume suggesting I should have some very good experience). For example, I may get asked a question about a particular aspect of a programming language, but as I have not been using any of them very much, I am often forgetful of the details. I also do not really have the experience to answer the more in depth questions thrown my way.

It also strikes me that working through interview questions alone may not be enough, as it will not prepare me for broader system design questions, or general project experience. For example, an interview question may help me with my algorithms, but it does not help me with my object-oriented design.

I feel I might need to quit so I can practice, learn, and interview full time, but this is obviously tricky because I still need an income.

In short, how can I get myself a different job when I lack the skills to do so?

3
  • I may get asked a question about a particular aspect... Out of curiosity, how do you answer questions when you feel you don't know the answer? It's possible to have a good answer even if you don't literally know the answer.
    – dwizum
    Jun 25, 2019 at 20:04
  • Any reason why you waited more than a year before shifting jobs?
    – DarkCygnus
    Jun 25, 2019 at 21:34
  • I've been in a similar situation, and what I did was go to a site such as udemy, buy a few tutorials on tech I'm interested in, and start working on them. Most have you build a project as you follow along, and it's great practice. Once you have an idea as to the tech, start building some project of your own (a mobile friendly web app that let's you add and rate movies you've watched, maybe? It can be anything)
    – AndreiROM
    Jun 26, 2019 at 14:34

4 Answers 4

3

Often times, in place of professional experience, personal projects can be quite helpful.

Start working on personal pet projects work to expand your knowledge while at home.

Then when in interviews you can say, that you have been working on a few passion projects to further your skills.

Employers want passionate self motivated people. Many will over look lack of professional experience for a passionate person excited to learn.

0

To remedy my lack of skills, I have been doing practice interview problems on my own time, and I intend to increase my own practice and ensure I consistently do it for 1-2 hours a day.

Stick to it. Don't ever stop doing this. Additionally, graduate from just practising interview problems and fundamentals algorithms to actually building a project. Start with small projects and graduate to building complex stuff.

Building a real world software application will help you with gaining practical skills and confidence. Also, publish your work via code sharing platforms such as GitHub.

In the world of software development, demonstrable skills can trump resume any day. A lot of companies nowadays are hiring candidates based on a good GitHub/Stack Overflow profile.

Also, try to not turn down any interview opportunity. At worst, you'll be rejected, but you'll still remain in touch with what can be expected in an interview and it would be a good practise for you. You may even end up cracking some.

0

It may help you to apply for a junior position, the pay will be less but you will have the opportunity to build your skills. Not only that but the year of work experience you have in a commercial environment will go in your favour even if it was only support.

Personal projects would also be good to demonstrate your skills in an entry level job, keep up with the practice on interview questions, prepare well and research the companies you are interviewing for and stay positive, after all the company you are with now employed you so you are employable - someone else will snap you up.

0

In your support duties, is the code to what you are supporting available to you? If it is, do you use the support documents they gave you, the code, or a combination of the two in your support duties?

I'm not asking if they've told you whether the source code is available. You can take the initiative to ask about it. Alternatively, if the programs are written in a scripting language, like Python, Ruby, Perl, Bash, or TCL, then the source code is almost certainly available, as that's generally how these programs are distributed. In those cases, you can just look at the file, and there it is.

I've know people who were put into situations like the one you describe, who did as you seem to be doing, just doing your best to support the programs with the tools you're handed. It can be frustrating to work with them, but most of the time I encounter someone who is content to just use the documentation they're given, directing them at the source code is an exercise in frustration. I've gotten to the point that I don't do it professionally any longer, just because I don't have time to deal with the questions that come out of it.

But if you want to be a software developer... you're supporting software. You can get to really know the software. When I was supporting a sendmail server, my coworkers would say, "we simply can't fix this thing, because it's hard coded into sendmail." I'd say, "this thing is hard to fix, because it's hard coded into sendmail. The bug is on line x of file foo.c. I estimate writing and testing a patch will take a couple of days. But then, we're either needing to compile our own version every update, or we need to release the patch to Sendmail. How do you want me to proceed?"

Going to this level is hard. But if you can do it, your current predicament isn't an obstruction to a better job, it's just a step along the way.

You must log in to answer this question.

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