20

This question already has an answer here:

I am a programmer, I graduated in Engineering and have been living abroad (from the UK) since I graduated back in 2010. I spent 1 year working from home studying and developing personal websites. Since then I worked 18 months in a web agency developing PHP/MySQL websites for clients. I then changed company and for the last 2.5 years I have been the main developer on a piece of enterprise software (C#, .NET, SQL) for a few multinational companies. We are doing so well that we are being taken over and the new company structure is very unclear. At this point I may move back to the UK.

I have doubts for the future. I don't know how good I am at programming. I don't know what sort of job I can get. I have only worked in small companies, so I haven't gained the experience of slow development processes with lots and lots of procedures, countless meetings, corporate politics and all the other stuff that happens in big companies. I always compare myself to the San Francisco start-up scene with genius programmers and feel rather insignificant in comparison. How do I determine how good I am and if I am actually employable?

If I had to classify myself I would say that I am a capable full-stack programmer who can work very well within a team, especially under high-pressure developing critical features in short time frames. I have a strong opinion on front-end results but I lack the graphical touch. I am more on the logic-based. I have strong SQL and database admin skills.

My greatest weaknesses are

  • Lack of theoretical studying (I studied engineering and learnt everything on-the-job)
  • Lack of experience with proper procedures / standards / methods used in large companies

Am I actually employable or am I completely screwed?

marked as duplicate by gnat, Dawny33, Lilienthal, Jim G., The Wandering Dev Manager Nov 29 '15 at 9:09

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • Rest assured that a lot of those genius programmers aren't much more than typical smart guys with good ideas, the spare time to implement those ideas, and the drive to actually do it. That's really all an entrepreneur is. – corsiKa Nov 25 '15 at 18:18
  • 5
    I have trouble reading this as anything other than an (off-topic) personal advice question. I do think there are a few useful questions in your post but they'd probably benefit from being explored in separate questions. For instance I see: "how do I estimate my skills/competence / compare with colleagues?", "will a lack of education in a field hold me back when I have the practical experience?", usefulness of buzzword technologies when interviewing. Since this just hit HNQ, maybe narrow the focus to the title question and ask follow-ups separately? – Lilienthal Nov 25 '15 at 18:38
  • 3
    FWIW, I don't really see how this qualifies as a duplicate of the linked question though. It's useful reading but not what the OP is really asking. – Lilienthal Nov 25 '15 at 18:40
  • 3
    I am honestly not sure how I can find out the answers to my questions and understand if I am actually employable - take solace in the logical impossibility of being both employed and unemployable. – TessellatingHeckler Nov 25 '15 at 22:33
  • 1
    "If I had to classify myself I would say that I am a capable full-stack programmer" That already puts you above like 80% of the people who apply for our programming positions where I work. – Andrew Whatever Nov 25 '15 at 23:34
23

Assuming you're reasonably good at your work without being outstanding or struggling, surely your competence level is related to your experience:

4 years of professional software devlopment, comprising 1.5 years of PHP+MySQL web development and 2.5 years of C#.NET/SQL Server development.

This means you're looking at the top end of junior positions, or more likely a mid-level position.

Look at some jobs, compare their requirements to the skills you think you have. If in doubt, contact them and ask for details! If it sounds like you can do what they want, apply for it.

There's no harm in calling to ask them to explain what they'd like you to do in more detail

As for employability: If you're "mostly competent" in C#/SQL Server, someone will hire you - companies are crying out for even moderately good developers at the moment

6

How do I determine how good I am and if I am actually employable?

The only way for sure to know your employability, is to attempt to get a job.

Try to be more positive when you do. Focus on your strengths, rather than worrying about your weaknesses.

Flexibility regarding tasks, location, and pay will open up more possibilities than if you are less flexible.

Remember - it only takes one employer who likes you in order to land a job.

  • 1
    Finding a job is difficult. I would say that just because you don't find a job that doesn't mean you're unemployable or that you somehow lack in some area. It could be that the job market stinks. During the holidays finding a new job is difficult since most people are holding on to them. – Dan Nov 25 '15 at 15:22
1

You're unsure because your only exposure is on-the-job, and you have no bearing of your own position otherwise.

You can do a few things:

  • Read current job descriptions. This is the simplest thing to do because it will tell you where trends are going, and what technologies are new on the plate, and which are dropping off. Then get off your bum and try some of what's out there.
  • Join meetup groups and/or attend training that you can afford on your own. Sometimes, during such an exercise, you'll get a feeling in your gut that what you're learning is something you want to go further in. When you feel that, nurture it! But if you don't get out there, you'll never know. ALSO, you'll learn new vocabulary -- and you should research every new word you hear.
  • Do your own personal projects. Don't worry about if money will come as a result. You being satisfied with your work product is more important.
1

I hope this question isn't too open-ended. I am honestly not sure how I can find out the answers to my questions and understand if I am actually employable or if I am completely screwed.

Although a lot of educational books, blogs, and general workplace attitude of developers make it appear like programming is some sort of ultra strict environment where each developer has to know everything there is, the truth of the matter is a lot of work places are fairly slack in terms of actual developing. Sure there are standards in place and maybe frameworks and all that but truth is those are minor points and if you come on a team, you rarely have to worry about setting all that up other than just start using it and contributing your work.

I would say you're more than employable. Just don't be too turned off by job listing too many advanced skills. Just apply and focus on making a good impression. By having personal work that is a huge, huge, huge plus that will impress the managers right away. Remember a lot of places have over skills listed on the resume to make it appealing to apply but they don't necessarily require all those skills. Most of the skills are learned or built on top of an existing skill.

1

You are employable. You probably are not familiar with team process, collaboration tools and formal test. Read up on test procedures and scrum or something similar. The company my not use agile but be familiar with it. You are not going to be a lead until you understand the overall process but it is pretty straight forward to fit in as a contributor.

1

Yes, you are employable. It just depends on where you want to work. If I were you, I would brush up on data structures and algorithms.

http://careercup.com/page

The careercup site above is a crowdsourced repository of questions asked during technical interviews at various companies. The owner of that site also wrote a pretty good book called "Cracking the Coding Interview"

https://www.pramp.com/

The Pramp site matches you with other job-hunters to practice live coding interviews using videoconferencing. On that site, you practice both being the interviewer and the interviewee. If you're the interviewer, it supplies you with questions to ask (based on the topics you pre-selected). Whatever happens, don't get discouraged. If you apply for a job as a developer at a small startup, or at a non-technology company, the interview questions won't be nearly as difficult.

And then there are some other helpful sites like:

http://codewars.com

http://hackerrank.com

https://projecteuler.net/

Again, you don't need to learn everything. The actual difficulty of the questions will vary on the company itself. Some companies expect you to learn everything about data structures and sorting algorithms, but many don't.

0

Great question. Unfortunately, we're no longer hiring for this position... ;)

The short answer is yes, you are employable. To an extent :)

First things first, you need to figure out what kind of developer you want to be, or wouldn't mind being at the very least. You're much better off sticking to what you know, and not straying too far. If you code databases, maybe becoming a mobile game developer is not going to be a comfortable lateral leap? On the job training can only help so much before you realize you should have been hitting the books before you went down this road.

I work for one of those big multinational corporations, and frankly, there is no set template of core expectations. Agile development? Big whoop. If you're not the SCRUM-master/PO/PM, the overhead isn't much. Each project will have different requirements, so it's not uncommon when starting a new project to have to learn a new language (or several in parallel) as well as their corresponding technologies and concepts. You cannot be afraid of this. If you are, you're not in a field that loves stagnation, and you're best off finding a niche of some of the more esoteric languages/computing. That's a risk though. You risk becoming obsolete every year.

So, after checking the job market and comparing it to your current skill-set, you'll find there's a range of job-types all over the place that are applicable to you. Once you zero in on what you want to apply for, start researching the company you're applying to, specifically interview-feedback. Did they do a coding test, and if so, what should you expect? Were there specialist-type questions, or were they more interested in general programming knowledge? For the huge companies, this is not reliable advice due to vast team diversity, but for many, it suffices.

If brushing up for that interview is becoming a technical beast and you feel more like an information repository than someone who "gets it" you've found a boundary around your employability comfort-zone. It doesn't mean you won't get the gig, or that you're not qualified, but it's a pretty good indicator that you may want to reconsider this position that you're applying for.

Keep your chin up, but mind the nose. You're a paid technical professional. The interview process should focus on whether or not you want the job, not whether or not the company wants you. If you're going to invest months/years with them, make sure you're not just grabbing whoever will grab you. Desperation is telling from both sides of the interview table.

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