1

I'm a programmer for more than 1 year by now. I've acquired a good knowledge of C# programming language and all the ecosystem around it.

Companies' technical recruiters always feel like I'm more than a junior and tell me that I make a good impression.

I would like to change company but I have many problems:

  • I want to be a backend programmer, while a lot of job opportunities look for a fullstack developer

  • I want opportunities to grow up as a professional programmer and not just a monkey blindly writing code

  • I have logistic problems, considering that I don't have a car and a lot of companies are located out of my city which means 1 or 2 hours of public transports every time that I have to move

  • I'm still open to learn new languages and try to master them, for example I did many little projects in Java, but every job opportunity wants a developer who already worked with it for years and when they don't pretend it, it's because they want to pay you like someone who never worked and even if I don't have experience with one programming language it doesn't mean that the experience taken with the older jobs is useless.

By looking for a new job, I noticed that a lot of opportunities require Java programming language, and I really like it (considering that it's very similar to C# and I started with Java before learning C#).

This is why I'm thinking about "migrating" to Java, but I would still like to be treated like a worker with some experience and not just a weight.

How can I approach a different technology and maintain a recognized experienced status?

  • Keep in mind that FullStack Developer does NOT mean that you have to be a Graphical Designer. Graphical Designer and FullStack Developer are two different jobs. – Sandra K Apr 13 '18 at 14:36
  • I know right, but not in Italy, here a fullstack developer must do everything if your company doesn't have a personal ui/ux enegineer – Marco Salerno Apr 13 '18 at 14:38
  • Are you saying that a company in Italy would hire a software developer, and asks him/her to draw a character/icon and paint it? It seems like asking a fish to climb a tree. HOWEVER, it is expected for a company to request from a Software Developer a specific color of a GUI, a specific size and location of a button, and those are VERY easy and are actually EXPECTED to be known by any Software Developer. – Sandra K Apr 13 '18 at 16:17
  • If your professional experience is in C# and you are applying for Java, you are still entry level for Java technically. – jcmack Apr 13 '18 at 19:04
  • Approximately two levels of management up, a programmer is a programmer. If the director needs a data entry form made, is your boss going to say "sorry, the three programmers who are under-tasked right now are all 'back-end' programmers, we will have to just keep paying them to be under-tasked plus hire a 'front-end' programmer."? So every job is 'full-stack' so that you're not the guy coming on here 6 months later complaining about how your new employer is a wicked liar because they said it was a back-end job and now you're being asked to make a data entry form. "IBM in the 80s" is gone. – Affe Apr 13 '18 at 19:44
6

How can I approach a different ecosystem and maintain a recognized experienced status?

You can demonstrate what you currently have even if it is only a year of experience. You can focus on impressing your interviewers by:

  • Showing that you are a fast learner

  • Showing that you are loving it

  • Showing that you are improving fast and learning many things

  • Showing that you contribute in the community (stack overflow, tutoring.. etc)

  • Showing that you have the "programmer mentality" dispute of the technology (The term here is Language Agnostic)

  • Showing that a programming language is just a tool (means a developer can work with any - C# JAVA C++ - as long as the developer has the theoretical thinking)

  • Showing that it is very easy to lookup resources about a programming language and find solutions (google, stack overflow, MSDN.. etc)

1) I want to be a backend programmer, while a lot of job opportunities look for a fullstack developer

FullStack developers ARE backend developers too. You can still apply for it and manage your work assignments with your boss to be mainly backend coding.

2) I want opportunities to grow up as a professional programmer and not just a monkey blindly writing code

Previously you said you want to be a backend developer (which sounds same like monkey blindly writing code), but to comment on this point, I think you need to improve your knowledge by reading topics that are more than coding: Design Patterns, Theory Of Computation, Algorithm Designs, Software Engineering, Managements Processes and Agile, Version Control and Issue Tracking.

3) I have logistic problems, considering that I don't have a car and a lot of companies are located out of my city which means 1 or 2 hours of public transports every time that I have to move

This is personal and unrelated, and would (should) be fixed soon. You can apply or/and ask to work remotely from home, but I doubt that you will get the job at this point as many companies require you to be in house especially if you are a junior.

4) I'm still open to learn new languages and try to master them, for example I did many little projects in Java, but every job opportunity wants a developer who already worked with it for years and when they don't pretend it, it's because they want to pay you like someone who never worked and even if I don't have experience with one programming language it doesn't mean that the experience taken with the older jobs are useless.

What is your concern? sorry I did not understand it fully

  • 1) Yes, obviously, and I still have the ability to work as a fullstack developer. The problem, is that in Italy, working as a fullstack developer, means that you have to invent ui/ux too and i have a complete lack of graphical tastes – Marco Salerno Apr 13 '18 at 14:14
  • 2) From my point of view, writing an enterprise app's backend and just working on a single product by editing methods are way different tasks – Marco Salerno Apr 13 '18 at 14:16
  • 1
    @MarcoSalerno This is NOT what you want to say (or have in your mind). You have a complete lack of graphical tastes? Fine, show that you WANT to learn it and waiting for the OPPORTUNITY – Sandra K Apr 13 '18 at 14:19
  • 1
    Wrong. GUIs are easy to learn (relatively): There is a difference between a 3d rendering game frontend developer, and a backend developer who understands how GUIs work and want to bind his code with user's input and then display output. I think you want to be the later, and that is very easy. – Sandra K Apr 13 '18 at 14:22
  • 1
    @marco I mostly agree with Sandra, I'd like to add something. About GUI you are right, in Italy you will seldom be paired with an UX designer but it has an advantage: you learn (and UX is not just UI). UI skills aren't a waste of time and, even if you won't ever like it, you will become a better backend developer. Trust me on this. Imagine an API which is perfect from backend POV but a pain to consume from UI point of view. And, honestly, if you just started you still need to exactly understand what you want to be, do not close any door that early. – Adriano Repetti Apr 14 '18 at 9:31
2

This is why i'm thinking about "migrating" to Java, but I would still like to be treated like a worker with some experience and not just a weight.

..

I'm still open to learn new languages and try to master them, for example I did many little projects in Java, but every job opportunity wants a developer who already worked with it for years and when they don't pretend it, it's because they want to pay you like someone who never worked and even if I don't have experience with one programming language it doesn't mean that the experience taken with the older jobs is useless.

The thing is that when it comes to Java you are essentially on zero experience. Yes it is remarkably similar to C# in many ways and yes it is fairly easy to "migrate" as you put it between the two languages but that doesn't completely eliminate the learning curve, it only gives you a head start so there's no way you would be considered experienced for a Java role - neither would I and I've been developing commercially in C# for ~ 15 years, and I've got a year of Java at university under my belt as well. As the saying goes there is just no substitute for experience.

If you want to get yourself into a Java role then your best bet is to do what you have been doing - learning the language now. Do as much as you can in it as your free time allows and publish anything you can to a github account (or similar) and then you will have some language knowledge and proof of that available to any recruiters for Java positions. Not to mention of course it will give you a chance at passing technical tests. Perhaps get involved in some open-source projects?

Even with doing all of the above though you are going to really struggle to get anything more than a junior or more likely entry-level position. Self-learning and hobby experience definitely has some value but it's never going to be considered the same as actual commercial experience because they are very different environments. Commercial work is always going to be driven by real-world business requirements which are extremely difficult to replicate in a hypothetical environment and you have to remember that commercial work will have deadlines, other stakeholders and overall much higher pressures then home learning.

I want to be a backend programmer, while a lot of job opportunities look for a fullstack developer

There are back-end focused roles out there but as you've discovered full-stack positions are by far more common, I'm a back-end developer myself by preference and if Italy is anything like the UK you'll find opportunities to do pure back-end work few and far between. Having recently been on the hunt for a new contract back-end heavy roles made up less than 10% of those on the market and even then most had full-stack elements to them. There's nothing wrong with looking for back-end roles by preference but you need to be realistic about the amount that this will narrow your field.

I have logistic problems, considering that I don't have a car and a lot of companies are located out of my city which means 1 or 2 hours of public transports every time that I have to move

I fully sympathize with this (speaking as someone who lives in a locale that has negligible tech jobs) but there's not much for it other than to deal with the long commutes or move. In your case it sounds like perhaps getting a car might be an avenue worth pursing as this will vastly open up the places you can get to and therefore jobs you can apply for.

  • And that's the point, you programmed witch C# for 15 years, if tomorrow C# dies, and you have to move to Java, can you be considered like a Junior without experience? I'm not that sure about it – Marco Salerno Apr 13 '18 at 14:53
  • 3
    @MarcoSalerno setting aside for the moment that languages don't really die completely (see the continued demand for COBOL engineers for example) then yes if that happened I'd be screwed and if I chose not to move back into a hands-off role in management then I'd be looking at junior roles in a different language. Which would suck for me but is nevertheless the reality of the situation. – motosubatsu Apr 13 '18 at 15:01
1

As you get further along in your career the technology you use to solve business problems (which is what we are paid to do) is less and less important.

Technologies can (and do change) and it's up to us (as professionals) to learn and use different things. In my case I started in COBOL. Moved to VB6 and then .NET in it's various incarnations (from winforms to aspx to MVC). Last year I picked up a project in java/grails (when I had zero experience with these) when the original developer left. I was able to do this because I can think in both business terms and with technology.

After only one year you don't yet have the experience to make a change. Where I'm at now we don't even interview when the candidate has less than 4 years of experience.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.