![]() ![]() The flexibility will also make it easier for you to find jobs, assuming that you're able to sell your generalism as an advantage instead of a disadvantage. ![]() You won't be as good as someone who specializes in that particular language or framework, but you'll be good enough to get a job and do reasonably well at it. If you choose to be a generalist, then you'll be able to more easily pick up new languages and work in alien frameworks, because everything you look at will be similar to something else you already understand. That is, decide whether you want to learn the principles of programming, and apply those to multiple languages, or whether you want to learn a language, and specialize in it. These days, my advice - if I felt qualified to give any, which I don't - would be to decide now whether you want to be "a programmer", or "a (COBOL | Python | Ruby | PHP | Java | JavaScript |. There are a lot of edge cases that you just have to experience to understand, and you'll never stop experiencing them, as long as you're programming. You can learn a lot in 6 to 12 months, but you probably shouldn't expect to become a skilled developer in that time period. Hard to believe, until you've seen it for yourself, but true nonetheless. It's not just that your baseline programmer can only write a project of about 1000 LOC, but also that there are a significant number of "developers" that can't even do that. I know it's hard to believe, but have a look around at the horror recruiting stories on this site, or stories talking about how enterprises do software development. In practice, I can say that what I described is really truly what you find when you work in a large corporation writing code. This is not true in the real world, where you can be assigned to working on a project that uses skills that you haven't touched for years.Īnyhow, our discussion is a little theoretical. How many of your classmates actually did the project by themself, without getting aid from tutors/lecturers, discussing ideas with classmates, etc? And even if they did, the problem still isn't directly comparable, because you've presumably been discussing the ideas that you are using in your projects during the course. I don't think your example contradicts that. It's not clear in my original post, but I was talking explicitly about what a programmer can achieve by themself, without any aid from peers/mentors. I actually use the size of codebases written entirely by the candidate as an indicator in job interviews - it gives a good feeling of where the person is at. To go back to the original question, if you find that you are limited to 1000 LOC programs, looking at the list, you need to look a bit more at architectural issues - encapsulation, OO, functional style programming, that sort of stuff, to get you to a level where your code won't descend into an unholy mess when it starts getting bigger. Makefile magic so that code will compile as C or C++ forĮxample, or providing a plugin architecture, or adding bindings Modularisable and accessible to others (doing the necessary System architecture to others, making the code more Programmer is capable of directing a team, explaining the The difference is more in that the 100000 LOC That said, I don't see a big differenceīetween the last two categories in terms of pure programming Understands architectural issues and masteringġ00000 = star programmer. Has already understood theīasics of writing reasonable code at the function levelġ0000 = experienced programmer - will stand out in a corporateĮnvironment, probably the minimum that you want working I generally think of it like this:ġ00 = did some programming courses at highschool / universityġ000 = baseline professional programmer. I'm glad to see that I'm not the only person that uses the x10 LOC as a way of judging a programmer's skills. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |