|
I started at 28 and have not regretted a minute of it. Well there was that one time....??/
I had a wife and two kids and started college, at times when it was rough I had my doughts but like I said haven't regretted it. It's never to late to learn and if its something you enjoy then its a blessing because you often don't end up doing what you enjoy.
It's stressful, long hours, constant learning to stay up to par and sometimes little or no reward except the satisfaction knowing that you created something that you can take pride in.
so my advice is if it interests you give it a try, what have you got to lose except time? If you don't try you'll never know and we need good programmers.
Good luck,
Mike
"It doesn't matter how big a ranch ya' own, or how many cows ya' brand, the size of your funeral is still gonna depend on the weather." -Harry Truman.
Semper Fi
http://www.hq4thmarinescomm.com[ ^]
My Site
|
|
|
|
|
Its encouraging to know that you made a start of it at my age and went on to do very well later on. But I guess your right, if you dont try you dont know. Plus a lot of hard work, which I hope I can maintain.
|
|
|
|
|
CrimeanTurtle2008 wrote: is it somewhat too late to make that change?
Hell no!
At 28 you're just a puppy. I started programming at 20 - FORTRAN, I'm afraid - and used it in my career for years, adding languages and operating systems about as fast as they were invented. Somewhere along the line I no longer had the need or desire to program (and, admittedly, Windows was a lot of it because the ratio of presentation to functionality went suddenly from 20:80 to 90:10, and UI design bores me). Still, I've been trying to catch up lately. You never lose the bug once you're bitten.
Having one career in your life made sense when we could look forward to only about 45 years, according to my dad, and that made a lot of sense to me. Lifelong learning is the key to happiness, he taught me, and he proved it by living a long, happy life embracing several career paths. At my age (54) he had just completed his second Masters degree - in Landscape Architecture - having already been a mechanic, plant pathologist, real estate appraiser, creator of a new Masters degree program at Harvey Mudd college, and wood carver. He never found his age to be a barrier to entry in any field; in his retirement he was asked to write a comprehensive manual of climate-compatible plants for the state of Washington, and to design roadside viewpoints for their state highways.
I adopted his style, and have been a cook, dishwasher, waiter, real estate broker, stock broker, mechanic, electronics engineer, tax advisor, programmer, and power system engineer. In the past six months I've had to learn to design steel substation structures, and the concrete foundations to support them. If my performance reviews are any guide, I've been good at all of them; I've never had a salary raise less than twice the company average for the year.
If you want to program, program. If you love it, the jobs will find you (with a little work on your part, of course - they won't come knocking at your door). Any limits you might feel are entirely in your own mind, so lose them. Argue for your limitations, and you get to keep them; that's a tip that will serve you well to remember, whatever you decide to pursue in your life. You will experience failure, but there's absolutely no reason to let that stop you. Robert Heilbrunner once wrote that every young person should experience being fired. It teaches you two things; one, that your job is not your life, and you can go on without it, and two, that you can always find another job. This gives you the freedom to take risks without fear, to speak up when the boss is being an idiot, to stand up for what you know to be right.
You want to learn programming right now, so do it and don't let anyone scare you off of your chosen course. Certainly there will be challenges, but those will only make you stronger and smarter. If you love it, your day will come; if not, you'll be guided by experience into other pursuits. Just don't let fear be your guide, and don't worry about your age. You're just starting out in life, and it's an adventure. Have fun!
BTW - You couldn't have chosen a better place to come for assistance. The people here are (generally) wise and helpful. Good choice.
"A Journey of a Thousand Rest Stops Begins with a Single Movement"
|
|
|
|
|
Thanks for the advice, Roger, and your certainly right about the people here being wise and helpful.
|
|
|
|
|
Why?
What did you do before?
|
|
|
|
|
I worked in logistics for many years and as a labourer before that and decided that I needed something which kept my interest and enabled me to keep learning. I have a long interest in programming and never really pursued it, in fact it was something which I contemplated doing when I left high school and in some ways I regretted not pursuing it at that time.
I felt the time was right to make a change, but as per my post, sometimes there are some things you cant do when your older and hence why I am here to get insight.
|
|
|
|
|
I do think there is truth to "Teach Yourself Programming in Ten Years[^]". You are setting out for a profession that thrives on sifting through enormous amounts of fairly new information, and absorbing and keeping a large part of it ready - that's the thing that for most people gets harder once they "have a live" and some years on their back.
Which is meant as a fair warning, but not to dicourage you. Wanting to pursue it, your curiosity is probably your best driving force. I am not sure what "working in logistics" actually entails, but it sure sounds something that can become useful. I do think there's a position for you where you can combine your existing domain knowledge with actual development. It would probably good to seek out a place where you are not "just a code monkey" - likely a small company (or a large one that runs it's depatments like those). Also, keep an eye out for an experienced tutor with a knack for teaching: maybe a peer at work or someone from a local user/developer group. While the internet can be a great ressource, someone actually teaching you is somethign completely different. Maybe via internet and IM it doesn't have to be face-to-face time (I only knwo it wouldn't work as good for me).
I would not wholeheartedly recommend courses or similar. If they are really good, they can propel you forward a good deal, and even if they are only so-so, they can bring some structure in the knowledge you acquire for yourself. However, I've found only two types of courses, neither of which are ideal for you: in-depth compsci education and "teaching out-of-work welders to code" (usually sponsored education programs, or "we should do something with computers"). The former is the long road that - in my not so humble opinion - is a bit late in your life, you should be able to make a living of that a bit earlier. The majority of the latter are usually weeded out at serious interviews, and twend to land in code factories with big employee turnover where they feed the daily WTF.
Your best bet is a stab at becoming a skilled technician who can take responsibility for a small project, or a small part of a larger one, and puts his previous experience in other fields to good use.
good luck, anyway
|
|
|
|
|
I started programming a lot later, so I really don't see the problem.
|
|
|
|
|
I started at 30. I am now 40 I've held down several good jobs, and have started and sold a software company. It's not too late.
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
I spent 22 years in the military (aviation electronics but no programming whats so ever). Got a couple undergrad degrees before retiring, and been programming ever since. Hardest part was getting that first job (foot in the door kind of thing). It wasn't the highest paying job, but a heck of a lot better then the military (and safer). I used that to learn and get as much experience as possible.
Still going strong today at almost twice your age.
|
|
|
|
|
i Have passed an string array into string.split function,the target string splits successfully,but i need to get string array information on which string has been split.
|
|
|
|
|
Do you mean you've used the string.Split(string[], StringSplitOptions) and you want to know which character has caused the split?
There isn't an overload that returns that information. You'll have to roll your own method, if you need it a lot you could always create it as an extension method to the string class. Remember there could be 0 to n number of characters that were used so you'll have to return an array or list of some sort.
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
|
|
|
|
|
can you help me out to create that own function..
|
|
|
|
|
Your best bet is to examine the particular overload you want in the .NET source[^] and recreate that method with the following alterations.
Create and initialize a List<string> field (eisier than an array as it's dynamic). Everytime a split occurs, check if the list contains that character and if not add it. Give the method a string[] out parameter so you can return the extra data. At the end of the method before you return, call the list's ToArray method and pass the value to the out.
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
|
|
|
|
|
Hi,
it is not very clear.
if you want to split a string s1 using a collection of split characters (say all chars in string s2)
and are interested in which split characters actually occur in s1, then this strange snippet
offers exactly that; I leave it to the reader to discover how it works!
string[] sa=s1.Split(string.Join("", s1.Split(s2.ToCharArray())).ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
Very cool Luc
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
|
|
|
|
|
Its Looking Really cool,,thanks for Help but one thing more i have have string array collection, not char array collection,so how can i do this with string array collection..
|
|
|
|
|
if you want the result to be a char array, you have to turn my result into a char array;
I have already shown how that is done. It is just more of the same stuff.
|
|
|
|
|
Luc Pattyn wrote: this strange snippet
offers exactly that
neat
|
|
|
|
|
I'm glad I don't have to maintain that piece of code.
Curious to see what a LINQ-based solution would read like.
|
|
|
|
|
The good thing is it doesn't need any maintenance ; it could be implemented as an extension method to the string class, I would suggest it gets named RemoveNot(s1,s2): remove all chars from s1 that are not in s2.
No idea what LINQ can do here.
And also no idea what regex could do (I was surprised no one ever mentioned it so far).
I am pretty sure both of them would look even worse, and have lower performance.
A lambda expression might come in handy, haven't really considered it (am still working in .NET 2.0)
|
|
|
|
|
Luc Pattyn wrote: And also no idea what regex could do (I was surprised no one ever mentioned it so far).
Getting there, just have to read the replies so far first...
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
|
This code will split the string, and give you the result as two arrays; one array with the regular split result, and one array with the splitters that was used.
The usedSplitters array is one item shorter than the words array. If no splitters were found, the words array contain the original string, and the usedSplitters array is empty.
string source = "asdf,asdf;;;asdf,asdf::asdf..asdf";
string[] splitters = { "..", ",", ";;;", "::" };
string pattern = "(" + string.Join("|", splitters.Select(s => Regex.Escape(s)).ToArray()) + ")";
MatchCollection matches = Regex.Matches(source, pattern);
string[] words = new string[matches.Count + 1];
string[] usedSplitters = new string[matches.Count];
int pos = 0;
for (int i = 0; i < matches.Count; i++) {
words[i] = source.Substring(pos, matches[i].Index - pos);
usedSplitters[i] = matches[i].Value;
pos = matches[i].Index + matches[i].Length;
}
words[matches.Count] = source.Substring(pos);
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
I like the concept, my Visual Studio targetting 3.5 does not know the Select method though.
Anyway, it is not one of those obscure regex applications...
|
|
|
|
|