this is more of a career questions thread.

my situation:
15 years plus in marketing management, career change for programming.
i concider myself as a Jr. programmer, been programming since november 2011.
hoping from PHP to C to Java, back and forth, depending on what im ask to do.
i update, correct bugs and develop web apps and server process(like paging tools) for and IT company on an asterisk platform.

plans:
i want to leave my actual job, because im the only programmer here
and beside my friend google and you guys help, im chasing my own tail on problem solving.
i want to get hired in a big company where there is more experience programmers then me
and having the fun to work as a team

not getting hired:
got a degre in marketing
big companies ask for a degre in computer science, which i dont have (yet)
doing it right now, its fairly easy so far, compare to what i put up each day at work
resume sent: over 100 to this date

ive read recruter blogs, forums and sites on tips and tricks for programmer career
so far ive read so many different views on things that im kinna mixte up

big chunck text for a couples of questions :P

1) is it better to learn a maximum langage syntax, so im not limited to php, c and java or i better go deeper in 1 langage so i really get good at it and apply only on that langage, so far i really like Java?

2) nearly the same question as 1, but about the field of interest. should i take 1 field of expertise and develop my knowledge on that, exemple: its been 9 months, that i work around communication and the asterisk platform, going deeper in communication is good or i should get a wider view on things.

3) and do you guys think im stuck at my current job, because of the degre ? i can rival with any of the jr programmer that comes out of school. (no offense meant)

any input on idea on how i can get in a big company is welcome.

2 options im not considering, freelancer and using the marketing door to get into the company
im programming now and i love it, its just the situation i cant stand

thx

Dark

  1. it's always better to learn as much as you can about a language, but knowing more than one language is always a plus.
  2. sure, an expertise in a field can be a good field, but it also depends on what you're expertise is. security, for instance. if you 're an expert on that field, you'll really have a strong argument on job interviews.
  3. a degree doesn't dictate who you are or what you're capabel of, but, since you've only been programming for less than a year, you must take into account that they won't assume you have much experience.
    sure, a degree can help, but experience can make up for that. in some countries certificates also count for much. especially if you don't have a degree in programming, it can show at least that you have knowledge about the core and that you understand the basic concepts. but, unless you are convinced you can sell yourself as a developer, I wouldn't give up my current job yet. better to start a bit later as a developer than to be for a long time without job.

another tip, about what can help you gain both experience and credibility: check for some open source projects and aid on those in your spare time. it'll help you gain some experience in working in a team with restrictions, and it's always a nice thing to mention on a job interview.

Your situation sounds a bit similar to what I've been through in the past so I'll try to put my 2 cents here. The wall of text presented below assumes that you want to land up in a good company and become a better programmer, not just the former.

Is it better to learn a maximum langage syntax, so im not limited to php, c and java or i better go deeper in 1 langage so i really get good at it and apply only on that langage, so far i really like Java?

Programming is not just about knowing the syntax; it's more about implementing your "logical problem solving" constructs. Let's say you want to write a method which returns a toString implementation of an array. No matter what the language, the core concept of this little exercise remains the same. Sure, you have to know Java to write it in Java, but if your only strength is the "syntax", then you would find yourself struggling with code even though you know Java. Try not to take on more than 3 langauges when starting out because it might turn out real confusing with your language expertise kind of "spread out".

nearly the same question as 1, but about the field of interest. should i take 1 field of expertise and develop my knowledge on that, exemple: its been 9 months, that i work around communication and the asterisk platform, going deeper in communication is good or i should get a wider view on things

If you are starting out, you can't afford to be choosy. Most specializations are due to one of the two things:

  • You have a formal degree in some specialized subject (e.g. Game Development) so you are focused in that area. This is mostly applicable to students.
  • You have been working in a given domain for the past 5+ years. This is mostly applicable to experienced programmers.

Since you don't fall in either of the two categories, just go with the flow. You'll have time to work on specializations later on.

3) and do you guys think im stuck at my current job, because of the degre ? i can rival with any of the jr programmer that comes out of school. (no offense meant)

To an extent yes, it seems that way. I won't be surprised if a major chunk of the "IT" organizations out there ask for a degree. Your best bet in this case would be apply/work at shops which don't ask for a degree, get a fair chunk of experience and then move on to a "big" organization based on your "experience" and not degree.

any input on idea on how i can get in a big company is welcome.

Build your programming portfolio. Help out folks on forums and mention it in your résumé. Create small tools for yourself (HTTP downloader, simple text editor etc.) and mention in. Attend free online CS related courses (more info on this at the end of my post) and mention that.

When I take interviews and select folks, I stress more on their ability to understand the programming language they have worked in, their logical reasoning skills and their attitude. If you can amplify your love towards programming and if you are lucky enough, you just might get a break. Don't wait for some organization to recruit you so that you can learn more about programming when working; become a good programmer and force them to select you!

Here are a few tips:

  • If you are starting out, I would recommend sticking to at the most one or two languages so that you don't end up taking in "too" much.
  • CS degree holders have it a bit easy. They have a degree to prove that they are worth it. For you, it's a hard walk but definitely not an impossible one. Be prepared to put in additional efforts to make up for the lost time. When I started out learning stuff, the best way of learning for me was to help out others in need. I started browsing various Java related forums and helping out others by trying to solve the issue they faced. This is really a good trick in the sense that you get to write code, troubleshoot existing code and learn things on the way.
  • Don't just read stuff on the internet. That would be probably a big waste of time. If you are planning on learning something, make sure you supplement your reading with "practice". Practice is one word which I can't stress enough. Make sure you write lots of code so that you get a feel of the language.
  • Don't just copy-paste stuff when learning stuff. Copy-paste oriented programming is the worst you could do in learning phase. Try to understand the stuff you are copying from the internet/books. You don't have to understand it all in one go. Go slow, bit by bit. If you feel you have hit a mental block, try to come back to the explanation after some time. If you still don't get it, feel free to ask questions and do mention what you have tried till now.

Even though you don't have an official degree, there are many free CS oriented classes out there which teach programming for free. Here are a few links you might be interested in:

Good luck!

commented: thanks for the CS course links +0

thx for the inputs guys, really appreciated.

1) so i understand that 1 langage deep knowlodge is better than learning multiple syntax. got it!

2) specialized field, hmm... you guys see specialisation in another way. security, games ... i think my mind still have marketing hicups when i thought about fields. i was more thinking of a market sector of activity, like communications, constructions, laws and so on. but ok i get the idea of specialized field from a programmer perspective.

3) i guess im stuck on this job until i get my degre. like implicitly mentionned im doing it part time.

i like the idea of putting up my code on a resume site, got some personnal projects and ill try to get a permission to show some code i do at work.

open projects i like the idea, but time is a limited ressource. like you guys, i do my work shift and when i get home i VPN to our server and try to solve that booger that gave me trouble, plus the kids, plus school at night time. but yes open projects sounds good, the interaction im looking for. i just have to rethink my schedule.

CS classes: i was throwned in the hot water, so it was ethier i swin or go back to the suit and tie. so i had to learn fast. all the basic are sink in, OOP and even MVC model. Its not a bad idea, ill look for some more advance CS.

But if i have free time, i think im gonna spend it more on open projects.

thx again guys

i have a better idea on what needs to be done on my part.

i wont close the thread yet if someone else want to put their 411 is welcome.

Dark

wow posting my code on a resume site was the best idea ever.

It's been a week and the calls and emails are starting to come in.
i'm all exited, i can't stand in place.

maybe im not stuck at this job after all.

thx guys

That's really great news, good luck with the interviews!

Don't forget to post info about your interviews. Some of us (me:o) may learn from them.....

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.