Working with Experience people
-
Regardless of what others might imply, I don't think there's any substitute for working with a mature, experienced team. I spent my first 5 years as a programmer reading forums and volunteering on open source products and even writing CodeProject articles! I thought I was hot stuff, until I joined a new organization and got paired up with some highly experienced engineers. They spent hours sharing their desktops and explaining in great detail why they wanted certain patterns and how to write enterprise grade code. In summary, I learned more from this group of experts in a few months time than I had learned in total, on my own, over the previous five years. The moral of the story, get yourself on an experienced development team or find a great mentor. Going it alone with nothing but Google and StackOverflow.com on your side can only result in a poor outcome.
I agree with you... I think there are two kind of people here... - The ones that can better learn just doing stand alone research. - The ones that can better learn when pairing with experienced ones, going to war... I'm more of the 2nd type, I read, I research, yes, but if I'm not in a project that requires what I just read, I will go to a very dark place into my brain... unless I find a way to use it (have a project) I will then never try it.. ok I will have it in my memory, so in a future project I could recall it, use it then real learn it... there is where I love to work in good teams, when you are working together with experienced people you will learn crazy and useful secrets that you will just not notice in a book. (normally you could learn everything in a project or work in around 2-3 years, if the project is not good enough or too simple you will notice you get bored... time to something new) My best recommendation is: try to join an external project, just for education, that will help you, you will have a better reason to research and learn that just reading (normally I forgot what I read 2 pages ago...) plus contacting other people in the project will help (open source project, with good forums are good)
-
I don't get the opportunity to work with more experienced people.People working with me is having only 6 months to 1 year experience more than i have.I try to learn from them but i cant enough from them in the time being.I have to research a lot for keeping new things in my code.And it is taking more time It is done first time no actual help is got from Google for all the things.Somethings are stuck for eternity and try to do it in the old way.I am trying to improve myself.Can you guys give me some tips which can be done by less effort as i am having enough work to do.(ASP.NET,Jquery,Javascript,C#,HTML,CSS,SQL SERVER 2008)
Read Dijkstra... Start here: E W Dijkstra Archive Home Page[^] ...or here: Dijkstra's books on Amazon.[^] - I have "A Discipline of Programming" and it's one of the finest books I've ever read: somehow, into one tiny book, Dijkstra puts everything that Knuth took four massive volumes to convey.
-
I don't get the opportunity to work with more experienced people.People working with me is having only 6 months to 1 year experience more than i have.I try to learn from them but i cant enough from them in the time being.I have to research a lot for keeping new things in my code.And it is taking more time It is done first time no actual help is got from Google for all the things.Somethings are stuck for eternity and try to do it in the old way.I am trying to improve myself.Can you guys give me some tips which can be done by less effort as i am having enough work to do.(ASP.NET,Jquery,Javascript,C#,HTML,CSS,SQL SERVER 2008)
Its not about how much experience your coworkers have, but what they have knowledge about. They all have different knowledge than you do, to take advantage of that and pick up bits and pieces of it as best you can as often as you can. Ditto for information on the web. In general, never pass up an opportunity to learn something new.
We can program with only 1's, but if all you've got are zeros, you've got nothing.
-
I don't get the opportunity to work with more experienced people.People working with me is having only 6 months to 1 year experience more than i have.I try to learn from them but i cant enough from them in the time being.I have to research a lot for keeping new things in my code.And it is taking more time It is done first time no actual help is got from Google for all the things.Somethings are stuck for eternity and try to do it in the old way.I am trying to improve myself.Can you guys give me some tips which can be done by less effort as i am having enough work to do.(ASP.NET,Jquery,Javascript,C#,HTML,CSS,SQL SERVER 2008)
Laiju k wrote:
can be done by less effort as i am having enough work to do
Keep in mind of course that it is better to have too much work to do versus not enough. After all if you have nothing to do then why would they keep paying you?
Laiju k wrote:
.(ASP.NET,Jquery,Javascript,C#,HTML,CSS,SQL SERVER 2008)
You list a lot of technologies and presumably with little experience you have little experience in any of them. So learning just a bit more about each might help you more effectively produce code both by using more effective idioms and by producing fewer bugs. When I was younger I read a lot of books. I would suspect that it still a more effective medium (faster) than attempting to learn more about a specific technology via the internet. Other than that, Mmyself I found that learning to recognize patterns (I am not referring to patterns as commonly defined) in code and design and along with that learning to write code that writes code (I use perl) helps. Writing code that writes code can significantly reduce the amount of boiler plate code that one needs to produce. This has even more of an impact when various layers are impacted by changes but in a boiler plate way. Sometimes the actual work to write code that writes code might not actually save time but it helps take the tedium out of repetitive tasks. And doing this makes it less likely that I will attempt to find a 'better' solution that isn't in fact better just because I don't want to write all of that boiler plate code in the first place. Of course one both must learn to recognize patterns in code and patterns that are likely to show up in new code along with figuring out how to write the code that generates the code in the first place.
-
Back in April this year (but, not on April 1), I said (on another Lounge thread):
"By the way, in my book, an "experienced developer" is one who has learned the necessity of constant re-training in order to be able to implement the wisdom, principles, heuristics, etc., learned from formal education, self-education, and long experience, in technology that is constantly changing, using tools that are constantly changing."
In my opinion the source of knowledge, information, wisdom, and, ultimately, skill is not located in "other people" ... although, of course, other people can challenge us, inspire us, make use aware of what we don't know, motivate us by example, etc. ... but in ... yourself. Learning "how to learn" is a lifetime work, but how wonderful it is when that becomes a habit, and, even, a passion ! In my opinion, programming is, like playing a musical instrument, both skill, craft, and art. Of course, few violinists have the number of strings, the shape of the bow and body of the violin, change every year so much they have to learn to play again :)
« I am putting myself to the fullest possible use which is all, I think, that any conscious entity can ever hope to do » HAL (Heuristically programmed ALgorithmic computer) in "2001, A Space Odyssey"
nice but the analogy at the end isn't really accurate. contemporary music (brand new stuff by living composers) very often asks musicians to learn brand new techniques ('extended techniques', or ways of physically playing their instruments) as well as new notation that composers dream up as a way of expressing the new techniques they want you to use. programmers learn new languages and techniques but still use computers and peripherals; musicians learn new musical notation (languages) but still use the same instruments (sometimes in new ways).
-
I don't get the opportunity to work with more experienced people.People working with me is having only 6 months to 1 year experience more than i have.I try to learn from them but i cant enough from them in the time being.I have to research a lot for keeping new things in my code.And it is taking more time It is done first time no actual help is got from Google for all the things.Somethings are stuck for eternity and try to do it in the old way.I am trying to improve myself.Can you guys give me some tips which can be done by less effort as i am having enough work to do.(ASP.NET,Jquery,Javascript,C#,HTML,CSS,SQL SERVER 2008)
What you want as a young coder is a mentor who will help you grow into your own coder with your own style (still following style guidelines of course) rather than simply "experienced people". Now before you ask me "isn't experience people the same as a mentor" I can absolutely assure you that it's not. A mentor will help you go from A to B, providing tips and pointers along the way, but letting you follow your own journey. "Experienced People" as you are putting it will already know the way from A to B, and it'll become "my way or the highway", and when you are doing that all you learn is how to follow procedures, not how to work out how to get from B to C by yourself. Also get used to researching things. A good coder is someone who is constantly growing, learning new methods and ways to add to their toolkit and that means constant research, just don't be suckered in by the latest and greatest fad. Make sure what you pick are things which will add value to you as a developer in the eye's of your clients (be it your employer, be it the client which you're outsourced to), forget about obtaining "geek credentials", at the end of the day, they are not worth a thing.
-
Regardless of what others might imply, I don't think there's any substitute for working with a mature, experienced team. I spent my first 5 years as a programmer reading forums and volunteering on open source products and even writing CodeProject articles! I thought I was hot stuff, until I joined a new organization and got paired up with some highly experienced engineers. They spent hours sharing their desktops and explaining in great detail why they wanted certain patterns and how to write enterprise grade code. In summary, I learned more from this group of experts in a few months time than I had learned in total, on my own, over the previous five years. The moral of the story, get yourself on an experienced development team or find a great mentor. Going it alone with nothing but Google and StackOverflow.com on your side can only result in a poor outcome.
Thanks.I think like you have told.I know by working with a experience team is a great aid to our carrer.we can study a lot from them in months than we gain by ourselves in years.As we all years of experience what enhance our carrer.If our experience is only in years but no actual experience compared to years we work we have to struggle a lot.
-
Watch Pluralsight videos and read code project articles.
-
I have over 30 years of development experience and I still have to do a LOT of research and learning. Not only to work on a new problem, but to improve existing code/solutions. The rapid change in development platforms and tools requires constant learning to be an "experienced" developer. Granted, experience helps a lot to determine a solution and identify problems quicker, but the actual methods to development are constantly changing. AS you gain experience you find you own style and approach for development projects. It also helps to improve how you do research and training to be more efficient.
-
Read Dijkstra... Start here: E W Dijkstra Archive Home Page[^] ...or here: Dijkstra's books on Amazon.[^] - I have "A Discipline of Programming" and it's one of the finest books I've ever read: somehow, into one tiny book, Dijkstra puts everything that Knuth took four massive volumes to convey.
-
What you want as a young coder is a mentor who will help you grow into your own coder with your own style (still following style guidelines of course) rather than simply "experienced people". Now before you ask me "isn't experience people the same as a mentor" I can absolutely assure you that it's not. A mentor will help you go from A to B, providing tips and pointers along the way, but letting you follow your own journey. "Experienced People" as you are putting it will already know the way from A to B, and it'll become "my way or the highway", and when you are doing that all you learn is how to follow procedures, not how to work out how to get from B to C by yourself. Also get used to researching things. A good coder is someone who is constantly growing, learning new methods and ways to add to their toolkit and that means constant research, just don't be suckered in by the latest and greatest fad. Make sure what you pick are things which will add value to you as a developer in the eye's of your clients (be it your employer, be it the client which you're outsourced to), forget about obtaining "geek credentials", at the end of the day, they are not worth a thing.
Thanks.It was an informative One.A mentor should have a lots of experience and mind to teach.As a already if I had a experienced person in our team,I can surely approach as we know each we can communicate easily and solve problems and can give great tips and tricks.As we don't have contact with even a experience person where can i mentor who can help me build my programming skills providing effective and effiecient ways.
-
Its not about how much experience your coworkers have, but what they have knowledge about. They all have different knowledge than you do, to take advantage of that and pick up bits and pieces of it as best you can as often as you can. Ditto for information on the web. In general, never pass up an opportunity to learn something new.
We can program with only 1's, but if all you've got are zeros, you've got nothing.
Thanks.We can get solutions for all the things from web and it requires more time than we anticipate.Sometimes the solution itself will be not of solution.we can't even get results from a problem.As we Google keywords will only be taken in search criteria,if we miss something/we don't realize what is actual problem is then it will be like looking for a pebble in sea.
-
Laiju k wrote:
can be done by less effort as i am having enough work to do
Keep in mind of course that it is better to have too much work to do versus not enough. After all if you have nothing to do then why would they keep paying you?
Laiju k wrote:
.(ASP.NET,Jquery,Javascript,C#,HTML,CSS,SQL SERVER 2008)
You list a lot of technologies and presumably with little experience you have little experience in any of them. So learning just a bit more about each might help you more effectively produce code both by using more effective idioms and by producing fewer bugs. When I was younger I read a lot of books. I would suspect that it still a more effective medium (faster) than attempting to learn more about a specific technology via the internet. Other than that, Mmyself I found that learning to recognize patterns (I am not referring to patterns as commonly defined) in code and design and along with that learning to write code that writes code (I use perl) helps. Writing code that writes code can significantly reduce the amount of boiler plate code that one needs to produce. This has even more of an impact when various layers are impacted by changes but in a boiler plate way. Sometimes the actual work to write code that writes code might not actually save time but it helps take the tedium out of repetitive tasks. And doing this makes it less likely that I will attempt to find a 'better' solution that isn't in fact better just because I don't want to write all of that boiler plate code in the first place. Of course one both must learn to recognize patterns in code and patterns that are likely to show up in new code along with figuring out how to write the code that generates the code in the first place.
-
Thanks.It was an informative One.A mentor should have a lots of experience and mind to teach.As a already if I had a experienced person in our team,I can surely approach as we know each we can communicate easily and solve problems and can give great tips and tricks.As we don't have contact with even a experience person where can i mentor who can help me build my programming skills providing effective and effiecient ways.
A good mentor does not have to be working in the same team, or even the same company. When I first started in the industry, my mentor was actually in another team, he probably had about +10 years on me, however before you get too hung up on the years thing, number of years is a relatively unimportant concept. Don't feel that just because a person is double your age that they actually have anything they can teach.
-
I agree with you... I think there are two kind of people here... - The ones that can better learn just doing stand alone research. - The ones that can better learn when pairing with experienced ones, going to war... I'm more of the 2nd type, I read, I research, yes, but if I'm not in a project that requires what I just read, I will go to a very dark place into my brain... unless I find a way to use it (have a project) I will then never try it.. ok I will have it in my memory, so in a future project I could recall it, use it then real learn it... there is where I love to work in good teams, when you are working together with experienced people you will learn crazy and useful secrets that you will just not notice in a book. (normally you could learn everything in a project or work in around 2-3 years, if the project is not good enough or too simple you will notice you get bored... time to something new) My best recommendation is: try to join an external project, just for education, that will help you, you will have a better reason to research and learn that just reading (normally I forgot what I read 2 pages ago...) plus contacting other people in the project will help (open source project, with good forums are good)
Thanks.
Member 4673202 wrote:
The ones that can better learn when pairing with experienced ones, going to war...
I like that,if we don't go with experience we will be getting killed early else we can survive a little more experience more things.
Member 4673202 wrote:
if the project is not good enough or too simple you will notice you get bored... time to something new
It also happens a lot.Sometimes we will be using outdated technologies in our project just simply maintaining the old one.
Member 4673202 wrote:
My best recommendation is: try to join an external project, just for education, that will help you, you will have a better reason to research and learn that just reading (normally I forgot what I read 2 pages ago...) plus contacting other people in the project will help (open source project, with good forums are good)
That was a good tip.I will surely try.I also forget what i read after a day or two.If we don't use a tip,trick that is even a line of code.we don't remember it.by regular usage only it will set in our mind so we can reuse it after a long time also.
-
A good mentor does not have to be working in the same team, or even the same company. When I first started in the industry, my mentor was actually in another team, he probably had about +10 years on me, however before you get too hung up on the years thing, number of years is a relatively unimportant concept. Don't feel that just because a person is double your age that they actually have anything they can teach.
Thanks.
harvyk0 wrote:
Don't feel that just because a person is double your age that they actually have anything they can teach.
I don't feel that way age is not a measure of our experience.As somebody start coding High School,College,after trying another jobs,some part time.So age does not matters with the experience we gain.But we can get experience with age only.As we all know we don't get 15 years experience in 14.But the mettle of experience matters.
-
I was in the same situation with a very similar technology stack (I use AngularJS instead of JQuery but everything else is the same). I ended up hiring a guy by the hour to teach me design patterns and do code reviews with me outside of my company. I hated to pay but it was the BEST money i have ever spent. I learned more in those sessions then i ever did at my university programming courses. Finding a "good" software engineer is hard but you can do it. A good test is if they can explain a couple design patterns in a way you can understand. If they can explain a factory pattern and when it is used and why in a way you can understand then they are most likely worth paying to do your code reviews and teach. Also, watching code reviews on youtube is helpful though they will often put you to sleep. Good Luck. ~ Eric
Eric
You make a very good point, Eric: at certain times engaging in a relationship with a "mentor" can be something that catalyzes the learning process ... if you are lucky enough to find a mentor who both has a depth of knowledge, and practical skill, and is able to teach.
« I am putting myself to the fullest possible use which is all, I think, that any conscious entity can ever hope to do » HAL (Heuristically programmed ALgorithmic computer) in "2001, A Space Odyssey"