views:

500

answers:

8

Hello everybody

It's really dream to be programmer for me.So i always wanted to be .I had so small knowledges from commodore basic which i couldn't figure out anything in it .Then i tried to learn Visual basic 6 by myself and result wasn't good as i expected because i even didn't understand classes.Then i left to learning programming and to dream to be programmer.

But challenge hadn't finished yet . After all of these i started to learn c# and i did chess engine which i hadn't believe that i can create one.I sometimes feel that i understand many thing about programming like knowing classes ,inheritance,abstract class and methods why exist , interfaces ,extension methods ,static classes ,threads. but i am not expert all in it . i just know that as i need . i don't know still i will learn many thing about these.i have also learned html, css2 , php and database concepts a little sql ,tables relations between primary keys etc but i haven't used them in praticaly . i just did some samples so i feel i am lack of knowledges.

As a result still i can't evaluate my skills and can't decide what is my level.I just feel myself one step ahead of junior sometimes :) . Still can't decide that it is time to job seeking. While searching job on web i have never seen a junior advertisement. All looking for a good experiencing one.Nobody care about juniors.

When found job advertisement which i feel sufficient myself a little then i start to feel that i think i can't do what they want from me and loosing job after have it in short time would leave many crap feelings into my low self-confidence.

Please advise me something ...

Also i want to ask some of concentrate questions.

1) If i enter a job which i can't provide their expectations should be in employers responsibility to test me while apply the job ?

2) If i answer "yes , i can " questions which is abstract(for example: can u do something like this) would be my responsibility ? Because such abstract questions is not clear and can't know before start it what i really can or not .

3) i have no professional experiences in this job so i even don't know how teams working on projects but a friend of me said that programmers only write method bodies while seniors create all project.So it looks what i can do really easy but i feel that small companies doesn't work like this so it is better work in a big company for starting who has seniors?

4)last applied job was looking for c# . net developer but then i learn that they need .net web developer.Does it take long time to learn specific sides of web programming while knowing c# desktop programming ?

Thanks for all answers since now.

+4  A: 

I am a junior Programmer in a very small company. To give you an overview over my Skills :

  • Knowing all relevant GOF Patterns ( Strategy, Factory, Observer, Proxy ..... )
  • Knowing some architectual Patterns ( MVC , MVVM ... )
  • Programming in .NET WPF, Winforms, ASP.NET, WCF
  • Knowing how to build a deply Projects and also working with SVN and SourceSafe
  • Buildung Databases in MySql and MSSQL and querying them with T-SQL or LINQ
  • Things I forgot to mention
  • Lot of experience with common problems

So I would say you have got a lot to learn to become a serious professional. Even I got a lot of things to learn. Most of the job being a developer is experience. I would suggest you search for an unpaid or very low paid developer position where you can gain the experience you need.

EDIT : The most important skill you need is interest in new technologys and the will to learn everyday. If your employer see's you are learning new things by yourself you will be a good catch

KroaX
i haven't talked what i have know more detailed but looking for unpaid job is not possible believe this.At least in my country and consider that i even couldn't junior advertisements.So i feel pressure that say to them "i can " if i even dont know what it is :) and then i feel blaming
Freshblood
Believe that creating chess engine which play fast is not easy stuff.U need many research for make it play fast and strong and understand algorithim very well for not to have new bugs while implementing your new ideas.but i do that
Freshblood
My intend wasn't to blame you or your skills :)I just wanted to show what are my skills as junior developer to give you an overview. Don't know where are you from but here in Germany you can do unpaid traineeships for some companies and work for them to get some experience. That was my entry to my current job. You shouldn't feel blaming if you don't know if you can do something. Just say you haven't done before but you will try it.
KroaX
i really didn't feel that u are offensive.Because i really didn't wrote what i know detailed which design patterns i know etc.I am living in istanbul/Turkey and i dont think that such opportunity is exist in here . As u said most nice and right answer which i feel is i haven't but looks possible to do with time and research but even i feel this answer is not expected any :)
Freshblood
+5  A: 

Wise employers are looking for young, eager folk like you, that is willing to learn new things. Wise employers know that formal training is only one side of the coin, and not necessarily the more important one. However, wise employers will know when you lie to them about your abilities.

Wise employees having no formal trading and no certifications will accept lower paid positions.

Ingo
@Ingo: I gave an upvote, but I'll note there are more ways of acquiring proramming skill than formal training and certifications.
mpez0
@mpez0: perhaps cultural misunderstanding? What did you think my second sentence is supposed to mean? Many thanks, nevertheless :)
Ingo
@lıngo: But i feel that hardest thing is the find wise employers.Or i am really so pessimist about my life.
Freshblood
@user325661: I do not know whether you are pessimistic. Of course, to find a good job is not easy (depends a bit where you are). Nobody said it was!
Ingo
@Ingo: I understood your second sentence referring to employer's understanding. My comment was a referent to *employees* also having the same understanding. An experienced employee without formal training is not necessarily after a lower position.
mpez0
+1  A: 

When you're hired, contribute what you can and learn what you can to increase that contribution.

When learning, try to distinguish between general principles and local practices (local to the employer or to the technical environment).

Don't worry about starting as a junior programmer with a lot to learn -- everybody starts there.

mpez0
+1  A: 

All you need when you are a junior programmer is feel passion about being a programmer. Be an avid programmer, and then you are likely to learn a lot and overcome your supervisor expectations.

For #3, small companies do not usually follow a methodology, while big companies tends to follow a clearly defined methodology. So if you work for a small company you could end up doing more things than programming from a formal design or spec, maybe doing the design.

Matias
So isn't it better start in big company for a junior
Freshblood
I think is better to start in a big company because there you have more opportunities to develop your career and get trained
Matias
+1  A: 

Hi, I felt the exact same thing before I got my frist developer job. To answer your questions:

  1. Since the company you are applying to will read your resume (and you are telling the truth about your skills), it's their job to hire a person that is right for the job.

  2. If you say you can do something, you should know how to do it. If there is a developer with more experience than you, ask him/her to support you with the task at hand.

  3. You will learn how the company works in projects this along the way. Hopefully there will be some kind of senior developer who can guide you (even at a smaller company).

  4. If you haven't ever developed for web, you will encounter some new topics, but I don't think there will be a problem for you to learn :)

Ask what is expected of you, find something that your interested in and learn by doing.

Undeph
1.Writing truths in resumes can't be objective.So i wanted to give some clear technical knowledge evaluation over 10 point.But i found that still even points are subjective by me. 2. if i say i can do it means that i don't know anything about it but it looks possible to do but i feel that expectation is knowing all .Sure i can ask to others and research on web .. this is also what i do but learning from others is harder than learn from books or web research for me .thanks for clear answers
Freshblood
+2  A: 

I have found that a lot of employers tend to pad their advertisements or simply write out a list of buzzwords that may not all apply. They're looking for a perfect candidate with x, y, and z experience, but they definitely never find that. They're usually happy to find a candidate with x experience. Or just y and z if they're really lucky.

I don't have a degree but that doesn't stop me from applying for and getting jobs that put a four year CS degree as one of their requirements. Don't lie on your resume. Be honest about your experience.

To answer your questions:

1) Some employers will give you tests during an interview, some will not. It's about 50/50 in my experience. Don't sweat it, most of the tests are pretty simple.

2) If they ask you an abstract question, talk through it with them. Don't be afraid to ask questions about requirements and constantly refine your answer. Make sure you completely understand the question. Don't be afraid to ask too many questions, a good employer will want this.

3) Every employer and every project will be different. My first two programming jobs (one at a small company, one at a large company) had me doing everything myself. All the projects I worked on were only my code. The third company had me working on a large team where I touched all kinds of code and refactored a lot of existing code. Every place will be different. Don't sweat it.

4) I would definitely start reading ASP.NET WebForms (or ASP.NET MVC) tutorials or grab a book on the subject. It's nothing something I would want to start learning on the job, unless the employer specifically understands that you're not familiar with it. That said, it's not hard to be productive in a few weeks or months, but there are a lot of gotchas with web development.

My biggest suggestion to you would be to have a portfolio available for them. At least one or two small programs to show that you know how to program. Make the source code available to them. Know these programs like the band of your hand and be able to talk about them in depth. Be passionate!

Good luck.

Gary the Llama
thanks so much for answers.Time to leave computer for me so i will response in next online
Freshblood
No worries. Feel free to ask any additional questions.I actually wasn't hired as a programmer for my first programming job. I was hired as a general IT guy. Since I had downtime in my job and they had a lot of projects that needed to get done I took the initiative and started working on one of them.
Gary the Llama
I belive that i can pass tests which is technical but if they don't provide any test so what i should to think about them ? Should i think that they are small and unorganized company and not good idea work with them ? Yes, i would start to read tutorials and articles about asp.net but i have most important exam in this week so i try to give huge effort for it then i will look asp.net and sql server and apply new jobs.i hope that employers has enough patient to expect productivity in short time or i can found it is not hard thing as expected .
Freshblood
+1  A: 

As the applicant, your main concern is whether the job interests you. Do not worry about whether you fulfill the requirements, whether they ask for somebody with 5 years experience, whether they ask that you can do web programming. It honestly doesn't matter. Here is why you should apply:

1) 70% of available jobs are not advertised, while you may not fit that particular post, maybe they will need more people then advertised and still hire you.

2) Knowledge of the technology is not the employer's main interest in you. A programming language can be taught. What they want is personnal qualities that cannot be beaten into you. Things such as: motivation, the capacity to learn (being fresh out of school helps), being reliable, being autonomous (this doesnt mean you cant ask questions, just that you try to find your own answers most of the time).

3) Sometimes, the bar is very high on a job description, so high that no candidates fit the bill. Or rather, the company might make it so they scare off people who would waste their time. Just apply, if you are TRUTHFULL on your resume and they still call you for an interview, don't doubt yourself. It means that they know you don't have the requirements but for some reason they are still interested.

So basically, be truthfull but present yourself in a good light. Things like web programming can be learned. It's is not your responsibility to figure out if you are right for the job. Leave that to people who have hired dozens of people before. trust me, they know what they want.

Lily
+1  A: 

Two things:

  1. Most importantly, keep learning. Use technologies completely. Knowing .NET 2.0 isn't good enough. The same goes for any other technology. Don't be 2 versions behind. You seem to have this down pretty well. Next, learn more technologies. Knowing standard C# isn't good enough. You need to know more. Learn Python, Ruby, Haskell, and Lisp. Learn MEF and the Reactive Extensions for .NET and parallel LINQ. Learn how to run a web server. Perhaps more importantly, learn version control. Again, you're doing good on this, but don't lose sight of it. Finally, always look for a better way. If you're coding something that feels like it should be in the standard library, it probably is. Go look for it. If you don't find it, look harder. If you find you're typing the same thing over and over, abstract it away. Rely on C#'s type inference whenever you can. Don't code anything yourself that you can get someone else to do for you.
  2. Just apply. If you're dedicating yourself to the principles above, you'll do fine even if you aren't qualified when you start. And as others have said, deciding if you're qualified is their problem, not yours.
Daniel Straight
As a result testing my ability is responsibility of employer and i shouldn't blame myself if i can't achieve their expectations if i hadn't say any lie to them.As u can see i concentrated employers because i got mobbing pressure in my past from boss which left me really enough pressure which i don't want to encounter it again.Thats why i concentrate that i can achieve their expectations for not have any pressure as old. I will leave it their responsobility so i will try apply jobs for increase my chance . thanks all efforts who advised me .
Freshblood
I found stackoverflow most friendly ,helpfull and sincere people.
Freshblood