• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Am I damaging my career prospects?

So I'm fresh out of university with my first job as a developer (just over one month here). I'm at a small shop which does mostly IT consulting and outsourcing, but they are trying to break into the development game. The developer division is very small, only 3 of us. We have quite a few projects on the go, so we're working individually - one developer per project. The work is primarily Silverlight/WPF/WCF/RIA with a sprinkling of ASP.NET.

So far I am learning a lot. My issue is that I'm worried about stating my career in such a small place with no senior developers to act as a mentor. I'm pretty much learning everything I need on my own, through books and the internet. The company has a ton of resources and throw me anything I need, from machines to tools to learning resources (books, training videos, whatever).

How normal is it for a junior developer to be working without a mentor and without the guidance of senior developers? Is it going to damage my career in the long run?

For what it's worth I'm an excellent self-learner and do lots of learning and programming in my spare time, but I always pictured my first job out of school being somewhere where I could go from being an "apprentice" to "journeyman" with the guidance of a mentor. I'm also concerned that I'm not gaining any experience working in a team environment, as my projects are individual.

I should also note that the company is really cool, the pay is good and they treat me well. The work is moderately interesting, but is still just line of business applications.
 
Last edited:
difficult to say, it really all depends.

what if you switch jobs to a crappier place and you're unmotivated to advance with or without a mentor? or what if you get a mentor you really hate?

with that said, in general, if you were to get a good mentor in a good environment you will make better and faster progress than by yourself (learning everything on your own)
 
I was in a similar situation for an internship. The job was doing programming on embedded processors on FPGAs, and quite frankly the project was a mess when I showed up. Their version control was hundreds of copies of the code on a shared network drive. The code itself wasn't too big when I got there, but it was a mess of overly used global variables, and there was absolutely no style in their code. All the guys there were EE's with a focus on power circuits, so programming wasn't anyones forte.

They offered me quite a good deal to come back and work full time for them, however I had to turn em down. It wasn't the industry I wanted to be in, and I wouldn't be learning from anyone.
 
We geezers can save you a lot of trial and error because we've already made the mistake you're about to, often more than once 🙂 .

We'll also have a much better feel for which of N approaches is best, again based on past experience.

But you can certainly learn the hard way on your own a bit more slowly, as long as your employer is willing to accept a few more wrong turns from you since you don't have backup.

Lack of team experience could hurt you if you move to a larger company where, based on your years of experience, they'd want you to be a lead developer instead of just one of the team. You'll be trying to learn a new set of (people) skills at the same time as you're trying to learn the company's code and culture.
 
You need to know waterfall. You need to know agile development. You need to understand them both and use the concepts to have a formal or semi-formal process. Process depends on your customer also. Some will want an SRS that is thick. Some will not want an SRS.

So, it is hard to say. Just be damned sure that you write your code in a maintainable manner.
 
You need to know waterfall. You need to know agile development. You need to understand them both and use the concepts to have a formal or semi-formal process. Process depends on your customer also. Some will want an SRS that is thick. Some will not want an SRS.

So, it is hard to say. Just be damned sure that you write your code in a maintainable manner.
Yeah this is the one thing that bothers me the most about where I'm working. There is virtually no process. I spent a lot of time learning everything I could about process/methodology while in university because I thought it was going to be very important in the "real world". I am familiar with waterfall, SCRUM, XP and other agile methodologies and I'm trying to model my own development around XP. The other developers here seem to have an almost hostile attitude towards unit testing, which is puzzling to me. Unit testing was pushed very hard at my university.
 
As long as you're learning and not hating it, you're in OK shape.

If there's no process, invent one. Take it on yourself to implement unit testing, or whatever software engineering practice you're interested. Encourage others to follow suit -- those practices exist because they're useful.

As long as you work for the company, push for what you think will help the company -- that's how I operate anyway.
 
You're fine. The size of the company doesn't matter. The work that you do does. You should be constantly learning and keeping up best practices in your field. I wouldn't worry about having a development model that matches large software firms because you aren't a large software firm. It wouldn't make sense to have an Agile development flow for a one man team. If you're a good coder, you can insert yourself into whatever development scheme a future company may employ.

However, if there is no room for advancement (e.g., the company isn't growing its development team or projects and you are basically doing the same thing in five years as you're doing now), then don't stay too long because at some point it will start hurting you.
 
For whatever its worth, I know a guy who worked in shop like that for about 5 years after college. The place had about 15 employees, 5 of them programmers. He got bored, quit that job, and then got a job at Microsoft.
 
You're working on real projects and getting paid to write code, so no, you are not damaging your career prospects. The things you're concerned about learning fall under the category of professional development, so treat them as personal learning goals, and apply as much as you can in your current work.
 
Sounds like you're getting experience. I don't think there is anything wrong with working in a smaller place to get experience.

When I'm browsing job listings, I find most people wanting 5+ years experience and very rarely see anybody listing jobs where they're willing to train!
 
You're working on real projects and getting paid to write code, so no, you are not damaging your career prospects. The things you're concerned about learning fall under the category of professional development, so treat them as personal learning goals, and apply as much as you can in your current work.

This.

Maybe I come from a different place in the world, but as long as you're working and putting on experience... How is this bad? The only thing that would damage your career path would be getting terminated or a bad reference.

Also, I wouldn't get carried away with 'team experience', if you can work well with others and are easy to get along with.. its really not a huge deal.
 
Last edited:
Your work experience will only take you so far. When I had my internship interview at Google, they had me write a binary search tree method that ran in a specific runtime. After I was done, I sat down one-to-one with a developer and we discussed each line of code.

If you know how to code --> you will get a job, regardless of experience.
 
Your work experience will only take you so far. When I had my internship interview at Google, they had me write a binary search tree method that ran in a specific runtime. After I was done, I sat down one-to-one with a developer and we discussed each line of code.

If you know how to code --> you will get a job, regardless of experience.

I have some mixed opinions on programming tests like these. It's a precarious balance between making the test too easy or too hard. The binary search tree example is pretty simple if the test was language or platform agnostic.

The test which rely on intimate knowledge of a specific language is where the tests become too hard, especially if the test includes performance requirements in an environment where you don't have knowledge with the underlying performance of the various classes and dlls which it uses.

OP, you are fine without a mentor in your workplace. You have mentors all around you in the world. This forum and other programming forums become your mentor. If you haven't joined any others besides anandtech, I highly recommend you do so.
 
As long as you're proactive and have the drive to learn on your own, you'll be fine.

Working in smaller companies has some benefits too. You can to see more of the workings of a business, things that you might be shielded from in a larger more structured company. Some of those things might be useful for you if you want to eventually start your own business.
 
2 years. Work there 2 years and start job hunting on the sly. I understand where you are coming from and I believe you may be minimizing your professional growth, but in no sense damaging your career prospects. Let me explain why.

I landed my first job coding and felt I was reasonably competent. I had a degree in it, and my code worked, for the most part. I worked with people of a similar skill level so I felt I was doing well, since some of these people had been at it a few years and me only a year.

Then our recruiter managed to pull a programmer from California. I worked with him for a year and can only describe it as a situation of "You don't know what you don't know." Working next to this guy for a year I learned soooooooo much stuff. SO MUCH. I felt like my productivity as a programmer jumped 3 fold. My code was much more readable and "engineered". And it had dependency injected unit tests! I began to talk in terms of patterns...observer pattern, repository pattern, etc. I finally felt like I was programming at a professional level. Or at least AAA.

Looking back at all of the things he taught me, I agree with some of the other posters, none of it was stuff I could not have taught myself, but it was amazing how he could take those concepts and directly relate it what I was working on right then and there. He could look at what I was trying to do and immediately show me a better and understandable way to do it. It is one thing to learn about the Factory pattern, for example, from a fictitious pizza restaurant in a book to seeing it utilized in the code project you are working on and realizing its benefits. I loved doing code reviews with him.

I have no idea how you would go about finding a position with a mentor. The mentor I found was completely dumb luck.

Priority #1 stay employed. Priority #2 no gaps in the resume. Priority #3 find yourself a professional mentor.
 
Well I see nothing wrong here. A number of my friends in high and mighty companies abroad get employed with a decent salary and the company trains them a bit after they're placed too. But later they just sit on the bench with nothing to do, no projects to take up and waste their talents. I'd say that's the worst thing that can happen.

Here, you're getting to work on stuff that you don't hate, at the very least, and you're paid and looked after well and you're writing code and working regularly. I don't see why you should worry at all about this job, despite being in a small place, affecting future prospects. I know people who've tried and failed to get a job in big organizations like Google purely because they couldn't ace the programming questions posed to them. So as long as you know your stuff you should be fine when it comes to applying for a job in the near future.
 
The problem isn't the small shop.

The problem is that you exclusively use short-lived buzzword technologies. You have to have something solid on your resume like a real programming language, some diversity such as different OSes (or languages), some algorithms or some performance work. Jobs that are just buzzwords-on-windows will all be outsourced, you can't keep them in America.
 
The problem isn't the small shop.

The problem is that you exclusively use short-lived buzzword technologies. You have to have something solid on your resume like a real programming language, some diversity such as different OSes (or languages), some algorithms or some performance work. Jobs that are just buzzwords-on-windows will all be outsourced, you can't keep them in America.
You haven't seen my resume, what would you know? C# isn't a "real language" today? I work professionally in C# and I'm proficient in F#, C, C++, Python and Java. Sure, I'm not working in these languages on a professional basis, but most of my personal work is in F# and C and I have tens of thousands of lines of Java under my belt.

As for what I do work on professionally, well Silverlight isn't going anywhere. ASP.NET is firmly entrenched and I don't see WCF as "short-lived" either.

You come across as yet another cliche Linux snob who doesn't think anything on Windows is worth doing. Shouldn't you be commenting on some /. stories?

As for everyone else, there have been some great responses. Thanks a lot guys.
 
The problem is that you exclusively use short-lived buzzword technologies. You have to have something solid on your resume like a real programming language, some diversity such as different OSes (or languages), some algorithms or some performance work. Jobs that are just buzzwords-on-windows will all be outsourced, you can't keep them in America.

Thats quite the prediction, considering that windows development is still has one of the largest demands for developers.

It is also an interesting claim considering that, if we have learned anything, it is that outsourced work is crap work. The big fear that tech jobs would all be outsourced has started to reverse itself. If anything, companies are trying to do more work in the states vs outside of the states.
 
If anything I think the outsourcing trend has reached it's peak. That said, I don't really disagree. Knowing some languages and having broad experience ought to trump "I know jquery!".... though I am not sure it does.
 
Forgive me for intruding, I do not code for a living but I would make an observation - the OP has over 15000 posts to his name. Yet he is humble and modest in his question. I wonder if he in fact already knows the answer, is a programming god, and just baiting the rest of us. ;>)
 
Last edited:
Back
Top