5

I was thinking for a while about the title of this question and I do not know it fits this well or not.

I have already been working for 6 months as a software developer (C# developer) at one of the government agencies (15 developers). This is my first job and before I started working here, I had been working on a freelance project (finished with success, which helped me to get job here).

On the job interview, I was told that I would participate in rewriting one big, old software (which has more and more problem as time goes). They said me that, despite that, they had lots of projects, so I would have an opportunity to gain experience. In short, I accepted an offer.

At first day of my job I found out that there was also another new employee (dedicated for this project, he has previous experience in database development). So in sum, 2 new employees and 1 old (has been working for 6-7 years working here), who knows this project and constantly supports it.

We (new employees) started becoming familiar with this project (I had some other small tasks too). After some time, I was told that before writing a new project, it would be better to make improvements to the specific part of the existing one. They gave me the guidelines and after 2 months I have successfully finished these improvements (I have changed SQL db to NoSQL, added custom paging, filtering and much more).

They said me that everything was ok and that they would host new version on the server to test the application, before production. They did it after 2 months and they haven’t tested it yet (they say that they do not have time).

I have asked several times our team lead why this was happening and he said me that they really want to start working on this project but he can’t promise me to do so. He says that there are a lot of things that must be decided and considered before. I want to gain much experience so, I asked him to work on another project instead of doing nothing. He said me that he would think about it.

After a month, he asked us (new employees) to start writing improved version of very small project from scratch. This project has the lowest priority among others.

Working on this small project is really playing and not more. I am learning nothing new and I am really worried about it. My chance to get promotion is 0% according to this situation.

What does the team lead do? He spends some time as program manager and some time as lead developer. He gives guidelines to the developers (5 in total) that are working on high priority projects and as usual has no time left.

What do you think about this situation? What can I do?

P.S Agency is looking for new developers too..

1
  • Not enough for an answer but... technical stuff aside, imo what sets aside a 'mere' programmer from a good developer, is that your job isn't to write code. It's to solve problems for your company and users. Normally this is done by writing code, but writing code should never be the goal, no matter how good it is. Writing good code is super important, but because it lets you serve the companies needs & users better. When I was starting any learning basically happened in my own time on personal projects, but not everyone has the time or desire for that. Other answers rightly say ask your boss!
    – J Lewis
    May 4, 2022 at 15:15

2 Answers 2

13

Assuming your team lead is your direct manager, I would schedule 1-1 time with him to see how he defines success in your first year.

In that conversation, you can bring up that you are eager to learn, have capacity to work on new projects and want to accomplish the goals that you have both defined and documented. This exercise will give you a window into what he expects you to accomplish (and what you need to do when you are not actively working on projects) and give him a window into your interests, ability and eagerness to learn.

If the above does not work, another path is to seek out mentors within the organization to help you navigate the dynamics of the agency as the pace and allocation of work may differ from other work environments.

If the current situation is an exception and there seems to be a lull at work, I would utilize your time wisely to improve your programming skills - pick up / practice a programming language that the agency uses in its projects (leverage Stack Overflow, etc. to learn) and consider contributing to open source projects that are relevant to your domain area (leverage GitHub, etc.).

Congratulations on landing your first job and sounds like you are eager to get going with your learning curve. Good luck!

1
  • Thank you, considering the situation, in short term, practicing is the best option and I do it all the time, but in the long term I think changing the job will be the best way..
    – A.M
    Sep 8, 2019 at 20:02
6

I've seen this a lot, both with government (which has an astonishing backlog of legacy code that badly needs to be rewritten) and with many large, older companies. You are young and needed a first job, so you were a good candidate. It can work out for you as long as you don't fall into what I like to call the "First Job Trap".

I have observed that people working at their first job right out of college have a very strong reluctance to move on, even if the job is no longer a good fit for them. My first job was working for a company that went chapter 13 owing me three months of back salary (which I never received, the company's investors got paid first). I was quite literally one of the last people to leave. I was working two other jobs just to pay the rent, because I felt disloyal at the idea of "walking out on the company when they needed me". After that first job, I learned that company loyalty needs to end when they stop sending out paychecks.

Some years later, I worked for a large company whose policy was to always hire straight out of college (maybe for the loyalty factor). I can't tell you how many conversations I heard between people who hated their jobs and were making themselves miserable by staying, but who, when it was suggested that they might go out and get another job, either looked at you uncomprehendingly or got a deer-in-the-headlights look. They just didn't understand that there are lots of jobs out there.

Your first job is important. I absolutely agree with @Pchandrasekar, this is an opportunity to learn new skills and you should concentrate on acquiring the latest tech skills and practice them as much as possible. As long as your current job allows you to use these tech skills, it doesn't matter at all if the projects are used or discarded. That isn't your problem, nor should it have any effect on your career.

When I go into a job interview, they want to know what projects I've worked on; what is the technology, how did you solve technical problems, etc. I have NEVER had anyone ask me what the company did with the project or if it was still in use. They don't care.

So as long as you are using your new skills, this is a great opportunity and you should stay for as long as the situation continues to allow you to use those skills. But if you ever fall into the "Legacy Trap", where they have legacy code with "old" tech, which they want maintained or refactored, not rewritten, then get your resume out there and find another job before you end up in the coders' graveyard.

About twenty years ago I made the mistake of taking a job doing VB 6, which was, even when it was new, not well thought of in the coding community. It was a little like dBase; so easy to use that pretty much anyone could just pick up a manual and teach themselves to use it, even if they had no previous experience. So when that job ended, I found myself practically unemployable. Prospective managers would pick up my resume, see that my most recent technology was VB and then round file me. This wasn't just my imagination; recruiters were actually telling me that was why they couldn't get me interviews. It took me nearly a year of intense study and some creative career decisions to get back on track in my coding career.

Today's coding environment is highly competitive and high pressure. You need to be able to show that you were using the latest tech in your job. Don't fall behind, move on if they won't offer you the opportunities that you need.

1
  • I got something that'll put your VB experience into good use... Look into something called "Robotics Process Automation" and UiPath. That ecosystem is VB.NET based, and is a very in-demand field right now...
    – Nelson
    May 15, 2020 at 5:40

You must log in to answer this question.

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