Plenty of opportunities there
http://www.crunchgear.com/2010/06/11/north-korea-the-new-outsourcing-capital/
http://www.pcworld.com/businesscenter/article/198555/the_worlds_most_unusual_outsourcing_destination.html
Rwanda isn't bad either, Hutus and Tutsis were very busy laying fiber optics for the last 5, 10 years or so.
Discussion on:
View:
Show:
One of the best ways of learning almost any language / skill / you name it is by joining a team that is doing it.
Go to http://sourceforge.net/ and look for a project that might interest you in whatever language. Nearly every OS project needs help - at every level. While they will not hold your hand - most of them are tolerant of mistakes. Once you start working with the code - maintain the same formatting standards they use.
Don't get me wrong - there will be a lot to learn - but you will be learning from some of the best in an international team. Many have a dedicated IRC channel for communicating where you can get/give help when stuck or about anything.
Obviously - you do not want to join a team that has only 1 developer or something that has not posted anything in a year - so pay attention to the projects specs.
Go to http://sourceforge.net/ and look for a project that might interest you in whatever language. Nearly every OS project needs help - at every level. While they will not hold your hand - most of them are tolerant of mistakes. Once you start working with the code - maintain the same formatting standards they use.
Don't get me wrong - there will be a lot to learn - but you will be learning from some of the best in an international team. Many have a dedicated IRC channel for communicating where you can get/give help when stuck or about anything.
Obviously - you do not want to join a team that has only 1 developer or something that has not posted anything in a year - so pay attention to the projects specs.
I fully agree, join an open source team and you will learn a lot and be able to contribute at an ever increasing level. All of the things you just talked about will be there. Most open source use subversion and have coding standards. Once you go through a few teams you will see they all have the same processes.
Join a local development/programming user group. Learn and use naming convections, formatting, and version control.
It's a good suggestion, but only if you're a big city programmer. If you're the lead developer in a branch office in a small-market town, or in charge of a small college IT department, chances are you're an hour or more away from a wider group of folks who can help you advance in the field. There ought to be an online mentoring option posted by some ambitious ITer out there to help in this situation, but I don't know any myself.
I second y0shi's comment. A lot of developers at all skill levels have typically been involved in these (when they're not working 90 hour weeks). For many in your situation is the "gathering around the water cooler" that's missing from solo work -- either as a consultant or an FTE.
Those are all the right questions!
Those are all the right questions!
One of the best resources on the web is Stack Overflow (http://www.stackoverflow.com) This is a community forum where you can ask questions and get points for asking good questions, and also for giving good answers. The point system seems to be a very good thing, as it plays on our desire for status and reward, so the community is very active. I strongly encourage anyone without guidance and tutoring to become familiar with the site, as you'll have a whole community of developers eager to help you along.
After being laid off in June '09, I had no choice but to fly solo. It hasn't been easy or lucrative BUT it has been enlightening. It seems my efforts have begun to bear fruit.
Someone gave me the break I needed. I took it and ran! Here's what I learned from that experience: basic PHP, Zend Framework, Zend Studio, jQuery, SVN, #zftalk and #php on IRC, stackoverflow.com, and how to keep asking even though you feel like an idiot sometimes (oh, and that some childish netizens love to pounce on newbies, but that's another story).
To whomever asked the original question, I found some other outstanding resources if you find you need to leave that place out of fear of stagnating: mashable.com, nobjob.com and oDesk.com. In fact, I got my current gig through nobjob and I'm billing time through oDesk. They rock!
Good luck.
Someone gave me the break I needed. I took it and ran! Here's what I learned from that experience: basic PHP, Zend Framework, Zend Studio, jQuery, SVN, #zftalk and #php on IRC, stackoverflow.com, and how to keep asking even though you feel like an idiot sometimes (oh, and that some childish netizens love to pounce on newbies, but that's another story).
To whomever asked the original question, I found some other outstanding resources if you find you need to leave that place out of fear of stagnating: mashable.com, nobjob.com and oDesk.com. In fact, I got my current gig through nobjob and I'm billing time through oDesk. They rock!
Good luck.
nobjobs.com is as well,
A WhoIs at domaintools.com states:
NobJob.com is for sale
The owner of the domain you are researching has it listed for sale.
...and going to the site doesn't give what you'd expect. (Advert/search page)
The other two seem to check out as still good.
A WhoIs at domaintools.com states:
NobJob.com is for sale
The owner of the domain you are researching has it listed for sale.
...and going to the site doesn't give what you'd expect. (Advert/search page)
The other two seem to check out as still good.
Now that is weird. I just used it a week ago. That's how I got my current gig. Don't know what to say.
Thanks for pointing that out.
Thanks for pointing that out.
I have been in the same situation for the 22 years since graduating from college. What helped me evolve as a programmer was reading a lot of books on subjects such as object oriented design, project management, UML, etc. Then I applied what I learned in my job. Also, I have a very experienced programmer friend. We discuss software architecture and help each other solve problems over the phone. Being a programmer is a long journey, and continuous learning is very important.
I am a big fan of the book "The Pragmatic Programmer: From Journeyman to Master" - it's centered around the programming craft in general rather than specializations. I have recommended it to junior level programmers I've worked with over the years, and they usually seem to enjoy it: http://www.pragprog.com/the-pragmatic-programmer
I heard of this book ages ago, but I never read it. I'll add it to my "to-read" list. I also have a copy of "Rapid Development" on my shelf that I've been meaning to read...
J.Ja
J.Ja
Don't be afraid to make mistakes - but only in an environment where you can control the consequences. From experience, one learns best from one?s own mistakes ? but it?s better if it doesn?t lead to being shown the door.
Also, get a development methodology you?re comfortable with ? you may have to handpick small parts from differing methodologies.
Also, get a development methodology you?re comfortable with ? you may have to handpick small parts from differing methodologies.
This is why I have strongly urged a few students, friends of my kids, to take a look at engineering schools with a co-op requirement. The University of Cincinnati, (yes,yes...my alma mater), has been requiring co-op for all engineering students since 1906. Professors I have met from several universities are both knowledgeable and dedicated, but they cannot provide the experience that a real-world job does. Unfortunately, many students are loathe to sign up for a 5 year program when they can get a BS in 4 years elsewhere.
Sometimes being thrown in the deep end is just what you need to pick up skills quickly. It forces you to learn. Make use of forums when you have a specific challenge, you will be surprised by some of the quality these can give.
Study the online ebooks and learn to use PMD, Findbugs and maven for the reports.
Read the Great Books: there are too many to mention them all, but the classics: "Code Complete" "Pragmatic Programmer" etc.
Join a user group, and/or get involved w/open source project.
Look at published coding guides / style guides. Zend has an excellent PHP coding guide. IBM, Sun and possibly HP have high-quality programming tutorials.
Understand the difference between educational/sample code and production code. It is much easier to judge the quality of the former.
Learn something about the history of language and technology development to understand the problem they were intended to solve.
Know that your attitude - your desire to do a good job - is a major factor in the quality of your results.
Join a user group, and/or get involved w/open source project.
Look at published coding guides / style guides. Zend has an excellent PHP coding guide. IBM, Sun and possibly HP have high-quality programming tutorials.
Understand the difference between educational/sample code and production code. It is much easier to judge the quality of the former.
Learn something about the history of language and technology development to understand the problem they were intended to solve.
Know that your attitude - your desire to do a good job - is a major factor in the quality of your results.
gnu.org to the list of sites with good documentation for code standards etc.
They also have a plethora of free software / open source software* projects you could do some volunteer coding on.
* Free Software and Open Source Software are not necessarily the same. Free software isn't a cost thing, it's a freedom thing. The term Libre Software came into being to help differentiate Free software from Open Source Software. This caused the term F.L.O.S.S. [ Free / Libre Open Source Software ] to start being used.
They also have a plethora of free software / open source software* projects you could do some volunteer coding on.
* Free Software and Open Source Software are not necessarily the same. Free software isn't a cost thing, it's a freedom thing. The term Libre Software came into being to help differentiate Free software from Open Source Software. This caused the term F.L.O.S.S. [ Free / Libre Open Source Software ] to start being used.
I was in such position at the beginning of my carrier. I know how it feels. At that time the biggest help for me was the external consultants/contractors that implement some bigger projects. Negotiate with you boss, that these external consultants/contractors/programmers (what ever) have in there contracts something like "mentoring" for you.
The other big thing that I have missed was the organisation of the development process. In big companies there are dedicated persons for that, but as a solo developer you must think about that. Your code must be supportable ? coding standards and version control are only a part of that. Document you work ? not only the written code, but everything starting from the request for a software, discussions with the stack holders, with the persons that will use your programs, architectural concept, shortcuts, how you program will be integrated in the business processes, FAQ, Error messages and so on? Somebody call it "software engineering". It will not be on the full beam at your place, but without that you will have big troubles.
Have luck
The other big thing that I have missed was the organisation of the development process. In big companies there are dedicated persons for that, but as a solo developer you must think about that. Your code must be supportable ? coding standards and version control are only a part of that. Document you work ? not only the written code, but everything starting from the request for a software, discussions with the stack holders, with the persons that will use your programs, architectural concept, shortcuts, how you program will be integrated in the business processes, FAQ, Error messages and so on? Somebody call it "software engineering". It will not be on the full beam at your place, but without that you will have big troubles.
Have luck
To extend Tzekov's metaphor, a solo developer must think of her/himself as a sole proprietor of a business because you are. You are in the service-provider business.
Just as a small business owner must be owner, bookkeeper, and "chief cook and bottle-washer", I, too, must be programmer, business analyst, customer service rep, help desk staff, and sales rep for my company of one.
Remember that before taking off on your own. If you've only ever worked in an established business's IT department, you may not realize how much work occurs outside the walls of your cube.
Just as a small business owner must be owner, bookkeeper, and "chief cook and bottle-washer", I, too, must be programmer, business analyst, customer service rep, help desk staff, and sales rep for my company of one.
Remember that before taking off on your own. If you've only ever worked in an established business's IT department, you may not realize how much work occurs outside the walls of your cube.
There is a lot to learn here, but a programmer should learn how to break a task down into smaller units.
First, naming conventions different from language to language. Using .Net and C#? Microsoft has published naming conventions. Hint: no Hungarian notation. Microsoft also has various Dev Centers and many resources online.
When it comes to development methodologies, project management, version control, etc., these things don't vary from vendor to vendor or language to language.
I found a local public library system offers free access to Safari Books Online. This is a great resource and is highly recommended.
The programmer's best friend can be Google. I can find examples, tutorials, videos, etc., for any topic.
Don't stop learning and don't try to learn too much at once.
First, naming conventions different from language to language. Using .Net and C#? Microsoft has published naming conventions. Hint: no Hungarian notation. Microsoft also has various Dev Centers and many resources online.
When it comes to development methodologies, project management, version control, etc., these things don't vary from vendor to vendor or language to language.
I found a local public library system offers free access to Safari Books Online. This is a great resource and is highly recommended.
The programmer's best friend can be Google. I can find examples, tutorials, videos, etc., for any topic.
Don't stop learning and don't try to learn too much at once.
"When it comes to development methodologies, project management, version control, etc., these things don't vary from vendor to vendor or language to language."
I'm not sure what you trying to say here. Every one of these vary within their respective areas. Agile vs. Waterfall (dev), SVN vs. Perforce (version control), CCPM vs. Extreme (pm methods). I find it best to have a passing understanding of each, but spend your effort learning just one in-depth. Remember, employers / clients have little interest in an IT "jack-of-all-trades".
"... don't try to learn too much at once. "
Boy, I wish this were true. I had to laugh at the irony of this last point. In my experience, many of the available tools DEMAND that you learn them nearly in their entirety to create anything usable in a production environment.
For example, try learning a little C or .Net. You won't get very far before you realize that the learning curve is nearly vertical.
But, don't let this stop you. A high barrier to entry is a good thing for those who can persevere.
I'm not sure what you trying to say here. Every one of these vary within their respective areas. Agile vs. Waterfall (dev), SVN vs. Perforce (version control), CCPM vs. Extreme (pm methods). I find it best to have a passing understanding of each, but spend your effort learning just one in-depth. Remember, employers / clients have little interest in an IT "jack-of-all-trades".
"... don't try to learn too much at once. "
Boy, I wish this were true. I had to laugh at the irony of this last point. In my experience, many of the available tools DEMAND that you learn them nearly in their entirety to create anything usable in a production environment.
For example, try learning a little C or .Net. You won't get very far before you realize that the learning curve is nearly vertical.
But, don't let this stop you. A high barrier to entry is a good thing for those who can persevere.
this topic is highly on point for me " I 'm 33 years old love to be a programmer currently working as a Network engineer and eager to change my career for the love of programming in C++ and already started my studies on that with lots of C/C++ ebookz "Accelerated C++" good book for me as a beginner but having a knowledge of VB.net.
What I need to know is "Am I late for changing my career or NOT
What I need to know is "Am I late for changing my career or NOT
- Keyboard Shortcuts:
- Prev
- Next
- Toggle

































