Career Help/Advice

I am about 4 years into my career as a software developer. I started as an apprentice, initially starting to learn Java/OOP.
In the 4 years I have been here, I have been moved around a lot and used many technologies, such as HTML/CSS/Javascript, Java, C#, SQL, using Linux vms to deploy code, bash scripting etc. The problem is that I only ever get about 4-12 weeks experience with one tech before being moved on again(sometimes doing non-technical/support work as that is what is billable at the time).
I have just been put on an existing project to basically help debug a ASP .NET MVC web application, but I don’t know how long this project will last.
My problem is I would like to really sink my teeth into a technology(at this stage I am not overly fussed which one), and really get the chance to develop and grow my skills, to help further my career. I have tried sending out my CV relating to various opportunities, but due to my lack of experience in one area, no-one really wants to take me on at this time.
I have thought about quitting and trying to start another apprenticeship to actually get experience, but I dont know whether at this stage that would be overkill. Would an online course be worth it to give me actual development experience(such as FreeCodeCamp).
Any advice/help would be much appreciated.

It sounds like you really want to get deeper into the Java/OOP thinking and a set of skills to get out of short gigs, right?

A formal online course might give you the structure – maybe even worth paying for it :wink: I took our community college’s Java courses, but since I work there I didn’t have to pay for it… it was awesomley conceptual, not cookbook… (It’s Parkland College in Champaign, ILL if you’d like to check it out)…

… if you’re not one of us who do a ton better with deadlines and feedback, yes, I’d say dive in to online tutorials. I also found the lynda.com courses good – but that was back before Microsoft bought them (and now that’s another work perk ;))…

I’d keep sending out those CV’s b/c … opportunities happen… maybe brainstorm with somebody about different possible opportunities (such as a topic of personal interest that you’ve got background knowledge in… and an opportunity to use that and develop the tech knowledge to help with a project…)

… and now I need to get back to STUFF. Good luck!

One thing that I encourage you to keep in mind is that just because you haven’t gotten any interviews yet doesn’t mean that your experience is necessarily preventing you from getting another job. Even for experienced developers it is often necessary to apply for many positions over several months. The rule of thumb I’ve heard is that on average you have to send out 10 applications for one interview and do 10 interviews to get an offer. Perfecting your resume and cover letter is a skill that takes work, as do the skills of passing initial screenings and interviews. Remember that getting a job requires a lot of hard work separate from actual programming skill.

Addressing your concerns about your experience, my best advice is to pick a personal project to work on. What’s a problem you have that you’re interested in solving with an application? What is a project you’re motivated to work on. Choose the appropriate technologies to work on your project and go for it. Expect this to be a large project that you can work on for months or even years.

Hello,

Have you relayed this desire to your employer, superior, and simply asked where they see you in the next couple years? Or expressed this desire to them in some fashion? Or had any feedback in EOY reviews, etc.? Or is the work just what is billable? This may give you your answer because if their plan is you are going to be in this hybrid consulting role for some time, then this IS your path.

I wanted to offer my two cents on your scenario. It seems that you have a well rounded understanding of a project/development structure/architecture. I.e. you know the configurations, the connection strings, ORM, MVC, how a table is displayed in some boiler plate fashion (Razor, datatables, etc.), front end js libraries, Authorization/Authentication, API’s, but you lack a clear cut path on a given technology stack. This is both a gift and a curse. There are most likely many companies that would probably love your talents, front end experience, DB experience, shell scripting, etc. Maybe you have used the Tableau Javascript API or Google Maps API for a project or two. In this case, you are an asset like a utility infielder.

However, your experience looks to be more in Enterprise Software Development/OOP. Is this where you ultimately see yourself AND WANT TO BE? If you read some of the job experience requirements for Enterprise (as you have noticed), they want target technologies. And they generally want years of experience. If you want to pursue this role, it sounds as if you will need to chart your own course. If this is the case, here is what I would think:

In each of these 4-12 week stints with some technology, you have ultimately solved some business problem with software. AND THIS IS THE VALUE. If you are solving this problem, there is most likely someone else that is trying to solve this problem as well. So, if you want to make a portfolio of your work to showcase, I would focus on the following two statements:

  1. I build HIGHLY secure, JUnit tested Java Spring MVC applications with Hibernate, a React front end, MySQL back end that solves “this” business problem.

  2. I build HIGHLY secure, NUnit tested ASP.NET Core applications wit Entity Framework, a React front end, SQL Server back end that solve “this same” business problem.

In this case, you are Mariano Rivera. A utility infielder plugs a hole, Mariano Rivera did one job and did it well. The statements above can be any competing platforms. (It also sounds like you may at some point could pursue something like Azure Dev Ops given your experience.)

Ultimately, you need to solve business problems with software/IT. And you need an ecosystem. Maybe you could focus on this in your personal projects and continue to send resumes out (that express this desire) and see where it takes you. AND you already know some of the problems that need to be solved from your experience.

Pick a stack, pick a problem, solve the problem. Repeat. Don’t get stuck in some tutorial loop. You need projects, and it sounds like you know your own issues with your role. Additionally, Enterprise, for the most part, is not going to be full beer fridges and ping pong. Is the ENVIRONMENT you work in important to you?

So yes, a random quote generator is a cool project to build, but you know what is cooler to someone who writes you a check? A round-robin email distribution application that randomly assigns cs reps, to minimize ticket response times because of the email volume they receive. I know this is “bigger thinking”, but it is something to think about.

My point is, maybe learn one technology, learn it well, but ultimately, you will have to choose which technology if you feel this way. And then use it to solve business problems, then show employers that you can solve those business problems with their tech of choice.

Additionally, are you interested in any certifications, this may guide your path as well (i.e. .NET Ecosystem). Best of luck, and be sure to update your progress. Curious your impression of ASP.Net after your current project.