|
Thermopyle posted:I question whether this is something that's widespread enough to worry about. Not that I know one way or the other as I've never worked in a Hot New Startup, but I just read this on Quora a couple days ago. Sidebar: Quora made me login with google then asked me to create a password? wtf?
|
# ? Sep 27, 2013 16:01 |
|
|
# ? Jun 8, 2024 09:35 |
|
Dren posted:Sidebar: Quora made me login with google then asked me to create a password? wtf? Add ?share=1 to the end of any quora url
|
# ? Sep 27, 2013 17:28 |
|
Volmarias posted:"All of these people founded successful companies when they were > 35, therefore your question is invalid by anecdote." No, that's not what I said at all.
|
# ? Sep 27, 2013 17:32 |
|
Volmarias posted:2. This person is so bad that they can't hold down a job for even a year before getting booted. This can easily be solved by asking for references and talking to prior employers. And what if the person just has incredibly bad luck and all the companies they're hired by end up folding after a year? Also, you build skills and become better at design, project management, etc. over the years, so it's not like that entire time was wasted. Time spent at a company is one of many variables, and it's a complicated one at that.
|
# ? Sep 27, 2013 17:43 |
There are totally HR people here that are desperately searching for someone to throw money at, anyone who knows COBOL and can keep this loving ancient system running it alive because the original developer is long gone and nobody has the aptitude to learn it or make it in a better language. e: whoops it is actually FORTRAN not COBOL apparently.
|
|
# ? Sep 27, 2013 18:02 |
|
Pollyanna posted:This can easily be solved by asking for references and talking to prior employers. And what if the person just has incredibly bad luck and all the companies they're hired by end up folding after a year? Lots of companies won't say anything beyond "they worked here from X to Y", so that's not always helpful.
|
# ? Sep 27, 2013 18:08 |
|
Welp, I just lost my ~startup~ job 10 minutes ago because I couldn't fix the shittiest iOS codebase made by Pakistani coders. Anyone know of a good jobs site?
|
# ? Sep 27, 2013 18:16 |
|
Huragok posted:Welp, I just lost my ~startup~ job 10 minutes ago because I couldn't fix the shittiest iOS codebase made by Pakistani coders. You see what I mean!?
|
# ? Sep 27, 2013 18:16 |
|
Volmarias posted:The reality is that most people are not Gordon Moore, and won't found the next Intel. It's a good question to ask. I would definitely hesitate before hiring someone with a majority of experiences lasting < 1 year. There are two possible conclusions there: Hey, I have the best (or worst) of both worlds. I have not been unemplyed for 1 day after I graduated 9 years ago, but I've worked for consultation companies doing projects that last from 1 to 18 months, usually maintaining terrible terrible code. I've actually changed jobs once in that time, but through aquisitions, I've been employed by 4 companies. I'm not a dropout, like many (most?) of my peers, so I guess that's good.
|
# ? Sep 27, 2013 18:56 |
|
Sometimes I think I've taken the other direction a bit too far. I've worked for the same small software company right out of college for 8 years now. One of the primary owners is technical but doesn't really code anymore. Other than them I'm the only technical employee at a software company - this can make it a bit difficult to grow as a developer. The salary is about 50% less than what I could probably get elsewhere, but they give me 10% of anything we've started, which has so far more than made up for that lack of salary (I keep a running tally). We had some big hits a year ago, including selling one of the companies off, and the owners have gotten a bit lazy. I figure I'll stick it out for another year to see how things develop.
|
# ? Sep 27, 2013 19:19 |
|
biznatchio posted:That works fine until one day you wake up and you're 40 years old and no Hot New Startups want to hire you, grandpa, and none of the Big Conservative Established companies want to hire you anymore either because your CV shows you never stay in a position for more than 300 days. No one wants to hire you to sling code around after 40 anyway because you draw a senior salary and as far as management can tell the fresh college grad does the same thing for 1/4 of the price. Age discrimination is a legit problem in this career and it's why so many devs end up going into architect/lead/management eventually.
|
# ? Sep 27, 2013 20:34 |
|
Monkeyseesaw posted:No one wants to hire you to sling code around after 40 anyway because you draw a senior salary and as far as management can tell the fresh college grad does the same thing for 1/4 of the price. Age discrimination is a legit problem in this career and it's why so many devs end up going into architect/lead/management eventually. Can always go the consulting route, too. Are there any older Goons in here that have some input on this situation? This is legit why I want to get a successful web business or e-commerce business running ASAP (and I work nearly another 40 hours a week trying to make it happen). Hopefully in 13 years (when I'll be 40) I'll be the one hiring people instead. Considering I just broke into the field pretty much this year, it sucks to think that my length of time practicing my professional career, at least getting paid decently, will be about that of an NFL running back. Knyteguy fucked around with this message at 21:00 on Sep 27, 2013 |
# ? Sep 27, 2013 20:46 |
|
Knyteguy posted:Can always go the consulting route, too. I'm not "old" but in my late 30's and know a bunch of mid 40's devs, which is probably what you mean. I think the ageism thing is overblown a tad, but what I think is definitely true is that the stakes are higher: no one is going to want to hire a mediocre 45 year old. You better bring some serious poo poo to the table, and be prepared to take on more responsibilities (project management, etc). And the flip side to no one hiring you because of excessive job hopping is no one wanting to hire you because all you did was work at one job with one tech for 20 years. Both are real problems, and a middle ground is probably not a terrible idea.
|
# ? Sep 27, 2013 21:11 |
|
Knyteguy posted:Can always go the consulting route, too. I'm in my late 30s as well, but have been working strictly on ecommerce for the last 8 years (with two companies). Do it, jump on that train; ecommerce is crazy right now. My co-worker started a drop ship company in his spare time 4 years ago, and it's in the 7 digits for yearly sales now.
|
# ? Sep 27, 2013 21:18 |
|
I'm 40 and I work at a hot new startup, go figure.
|
# ? Sep 27, 2013 21:37 |
|
Pollyanna posted:And what if the person just has incredibly bad luck and all the companies they're hired by end up folding after a year? You see bad luck, I see a common denominator.
|
# ? Sep 27, 2013 21:42 |
|
Thanks all for the input re the ageism bullshit. I ended up reading about it quite a bit before deciding to turn to this industry in my mid-20s. It's heartening to know it's not that bad. My wife and I have one ecommerce site up but it's in a more competitive area than we were thinking, so we said gently caress it and plan to make 10 or more sites all targeting separate niche products and product lines while working SEO on the one we've already got. We're following this guide: http://forums.somethingawful.com/showthread.php?threadid=3564355 We're also in active development on a new web app suite of tools which will actually target people trying to get into e-commerce of any sort (affiliate links, making money of ads, writing Kindle books, etc). I'm really excited to show it off later in here. There's some competition in this area but it's all very expensive whereas we're actually looking at a contribution-based "freemium" and/or monthly subscription type model. If anything actually ends up taking off I won't hire anyone but 40 yr + developers Anyway I apologize for extending the derail Dessert Rose posted:You see bad luck, I see a common denominator. This made me laugh.
|
# ? Sep 27, 2013 21:56 |
|
Dessert Rose posted:You see bad luck, I see a common denominator. Clearly they aren't willing their companies to success, PASS
|
# ? Sep 27, 2013 22:07 |
|
The ageism/employability discussion reminds me of these two rules of thumb, which are coding horrors in and of themselves:quote:If a programmer is paid at a certain rate, they're generally worth it. quote:A great programmer is a thousand times better than a good programmer. If anyone can source where these rules come from, I'd be much obliged, for they haunt me. edit: removed (some) of the hyperbole. Pythagoras a trois fucked around with this message at 20:13 on Sep 28, 2013 |
# ? Sep 28, 2013 20:07 |
|
I don't really think the second is a coding horror. I consider myself just an "OK" programmer, and while I don't do a lot of the syntactic WTFs that fills this thread, I probably have way too many architectural WTFs. A great programmer is worth his weight in gold because he can visualize an architecture that is clean and robust and will save a company several man-years that would otherwise be spent refactoring and working around bad design choices. Maybe not 1000 times better, but he would definitely be a magnitude or two better than a merely good programmer.
|
# ? Sep 29, 2013 01:42 |
|
So...is that part of what I should learn in order to be a "great" programmer? What would be the most beneficial thing to focus on when starting a career like this?
|
# ? Sep 29, 2013 02:28 |
|
Pollyanna posted:So...is that part of what I should learn in order to be a "great" programmer? What would be the most beneficial thing to focus on when starting a career like this? The thing about architecture is that it's hugely complicated to understand exactly what internal code structure will be best for a large and complex program. There are so many considerations, edge cases, and changing requirements such that it really requires real world experience to master. It's related to coding and requires knowledge of the challenges faced by implementation and maintenance, but it's almost a different field. Early on in your career you are expected to know how to program, but you're definitely not expected to be an amazing architect, and your job responsibilities will generally reflect that. It's something to keep in mind as you progress, but getting good at coding individual components or small programs will help you understand the challenges of integrating large numbers of components that architects deal with.
|
# ? Sep 29, 2013 02:46 |
|
Pollyanna posted:So...is that part of what I should learn in order to be a "great" programmer? What would be the most beneficial thing to focus on when starting a career like this? It seems that some people think that architecture is about designing a piece of software entirely up-front so that it's perfect when you write it. This ignores that the whole point about software is that it can change. So, from my experience, well-designed and well-architected programs are those that are easy to change when you have to change them, and that things that don't need to change aren't overly obtuse designing for change that will never happen. And what makes you a great programmer is that you can take code that isn't so easy to change and change it so that it becomes easier to change in the future. I've been coding for well over 10 years in professional settings and I still get this wrong all the time. You learn with experience. Personally, I actually hate "abstract" statements like this, so let me show you both sides: Here's some code that's too difficult to change. The logic is complex and dense, and he uses a lot of globals to manage state. It's twisty and curvy and too many things depend on too many other things. Trying to change it from mouse controls to keyboard controls, for instance, would probably necessitate a rewrite. Here's some code that's overdesigned for change. It makes the bogus assumption that changing software should never happen, so it designs an overly flexible system to ensure that it can accommodate any possible change. You need to strike a balance somewhere between these two extremes. Try to find some code that you find that you like it, and see if you can emulate it.
|
# ? Sep 29, 2013 04:28 |
|
baquerd posted:The thing about architecture is that it's hugely complicated to understand exactly what internal code structure will be best for a large and complex program. There are so many considerations, edge cases, and changing requirements such that it really requires real world experience to master. It's related to coding and requires knowledge of the challenges faced by implementation and maintenance, but it's almost a different field. So it's learn as you go and wisdom gained over the years, huh? If that's how it works, then what's up with the idea that 45 y/o with 20+ years of experience is less hireable than a 25 y/o with 3+ years of experience? The way I understand it, expertise and reliability is directly proportional to time and experience. Why would they work counter to that? That said, I am glad to hear that I'm not expected to know all this off the bat, or that I'd have to be born with it or something. Suspicious Dish posted:It seems that some people think that architecture is about designing a piece of software entirely up-front so that it's perfect when you write it. This ignores that the whole point about software is that it can change. So, from my experience, well-designed and well-architected programs are those that are easy to change when you have to change them, and that things that don't need to change aren't overly obtuse designing for change that will never happen. Python code:
I try and incorporate that philosophy when I make sure the code's properly formatted, commented, and documented. Plus, I like having everything in order when I code, because if I don't the whole thing looks like poo poo and I hate it. Having a structure to your program helps a shitload when things inevitably change.
|
# ? Sep 29, 2013 05:21 |
|
Pollyanna posted:So it's learn as you go and wisdom gained over the years, huh? If that's how it works, then what's up with the idea that 45 y/o with 20+ years of experience is less hireable than a 25 y/o with 3+ years of experience? The way I understand it, expertise and reliability is directly proportional to time and experience. Why would they work counter to that? The "politically correct" reason is that 20+ years of experience kind of demands a senior developer level of pay, and companies tend to be satisfied with hiring junior-to-intermediate developers and paying them less. There's also straight-up ageist stereotypes about older people being "set in their ways" and less able to pick up new technology which, while being not really true and also illegal to use as a basis for discrimination, still tends to affect hiring decisions.
|
# ? Sep 29, 2013 06:02 |
|
There's also the fact that old people are dumber than young people.
|
# ? Sep 29, 2013 06:56 |
|
shrughes posted:There's also the fact that old people are dumber than young people. It's loving tragic how brilliant young programmers waste their best years reinventing all the same loving wheels over and over again because they think they're so drat smart they shouldn't have to build on the crap those stupid olds wrote.
|
# ? Sep 29, 2013 11:39 |
|
baquerd posted:The thing about architecture is that it's hugely complicated to understand exactly what internal code structure will be best for a large and complex program. There are so many considerations, edge cases, and changing requirements such that it really requires real world experience to master. It's related to coding and requires knowledge of the challenges faced by implementation and maintenance, but it's almost a different field. Does anybody really know how a "Hello world" program works? I mean how the system loads and renders a TrueType font to form the "Hello world" message, how it passes through the display driver and in HDCP-encoded signals over monitor cable to flip the exact pixels on the screen at the right timings? Chances are that few people do, but it doesn't matter, because they know how their language's println() method works and how exactly it accomplishes what it does is irrelevant. The language/OS can take care of it -- reliably. Rather than being a super-genius who's able to visualize and memorize orders of magnitude more components and variables, architecting is in large part about chipping little chunks off the huge and complicated system which could be separately used, tested and verified to reliably work as advertised by their interface, much like println(). Once they do, then he can forget about the internals of that component and focus on chipping the next component off the big block. It's not that an architect needs to memorize more things, but work to compartmentalize the system to minimize the amount of things he does need to remember at any point.
|
# ? Sep 29, 2013 12:29 |
|
pigdog posted:Rather than being a super-genius who's able to visualize and memorize orders of magnitude more components and variables, architecting is in large part about chipping little chunks off the huge and complicated system which could be separately used, tested and verified to reliably work as advertised by their interface, much like println(). Once they do, then he can forget about the internals of that component and focus on chipping the next component off the big block. It's not that an architect needs to memorize more things, but work to compartmentalize the system to minimize the amount of things he does need to remember at any point. Yup, this is pretty much it. If your abstraction is so brittle that to make any changes to the rest of the program you need to dig down into the internals, it's not helping. Similarly, if it's so general that the rest of the program is just as complex as it would have been without it, it's a complete waste of effort. Software architecture is about finding the middle ground where you can completely ignore how a given component works under the hood and just use it to make everything else simpler.
|
# ? Sep 29, 2013 13:52 |
|
shrughes posted:There's also the fact that old people are dumber than young people. My dad was so dumb until I turned 30.
|
# ? Sep 29, 2013 14:41 |
|
No Safe Word posted:Clearly they aren't willing their companies to success, PASS If someone's on year 9 of every company failing within a year we're not dinging them for lack of supernatural ability. It's their selection process.
|
# ? Sep 29, 2013 15:11 |
|
Soricidus posted:It's loving tragic how brilliant young programmers waste their best years reinventing all the same loving wheels over and over again because they think they're so drat smart they shouldn't have to build on the crap those stupid olds wrote. If they spend their best years reinventing the wheel maybe they're not so smart.
|
# ? Sep 29, 2013 15:17 |
|
pigdog posted:Rather than being a super-genius who's able to visualize and memorize orders of magnitude more components and variables, architecting is in large part about chipping little chunks off the huge and complicated system which could be separately used, tested and verified to reliably work as advertised by their interface, much like println(). Once they do, then he can forget about the internals of that component and focus on chipping the next component off the big block. It's not that an architect needs to memorize more things, but work to compartmentalize the system to minimize the amount of things he does need to remember at any point. I agree to a point, but without understanding how the components will fit together, you can easily make a bunch of totally discrete, easily testable components that require the coding equivalent of duct tape and superglue to function well when put together.
|
# ? Sep 29, 2013 16:27 |
|
baquerd posted:I agree to a point, but without understanding how the components will fit together, you can easily make a bunch of totally discrete, easily testable components that require the coding equivalent of duct tape and superglue to function well when put together. TBH that's not really all that terrible of an outcome. This is definitely a false dichotomy, but if I had to choose between high-quality isolated components duct-taped together and leaky components that fit together well, there's plenty of times where I'd choose the former.
|
# ? Sep 29, 2013 16:43 |
|
Plorkyeran posted:TBH that's not really all that terrible of an outcome. This is definitely a false dichotomy, but if I had to choose between high-quality isolated components duct-taped together and leaky components that fit together well, there's plenty of times where I'd choose the former. Sure, but it's not a dichotomy. You need both for good software.
|
# ? Sep 29, 2013 16:59 |
|
JawnV6 posted:If someone's on year 9 of every company failing within a year we're not dinging them for lack of supernatural ability. It's their selection process.
|
# ? Sep 29, 2013 22:31 |
|
I jumped jobs, only with good reasons since I worked under the scum of the earth, twice. It has bitten me HARD. I'm still suffering from the aftereffects. Don't do it.
|
# ? Sep 29, 2013 23:32 |
|
Doctor w-rw-rw- posted:I jumped jobs, only with good reasons since I worked under the scum of the earth, twice. It has bitten me HARD. I'm still suffering from the aftereffects. Don't do it. Could you be a little more specific with your important advice please?
|
# ? Sep 30, 2013 00:57 |
|
So right now I am programming for a small company doing embedded Linux poo poo/android (low level systems ops stuff) and I want to move on. However it seems like doing embedded Linux poo poo (Bash/C/C++/python/git/svn/${VAR}) isn't necessarily a good resume builder and I would like to make a career move but don't know where to go. Currently I am sitting at about 10+ years of Linux experience, and 2 years of actual programming experience, and I know POSIX like the back of my hand at this point but I don't have a degree at all. Should I stick with embedded Linux or start transitioning to mobile/web development? Looking at some of the code in this thread has shown me that if you are a good programmer you are ahead of about 95% of other coders. The main advantages of course being that for mobile/web development there are a lot less jobs that require a degree. Any advice would be welcome. PS: No I will not code in MUMPS.
|
# ? Sep 30, 2013 01:44 |
|
|
# ? Jun 8, 2024 09:35 |
|
I can't help but think that this (good) discussion should be taking place in a thread of its own.
|
# ? Sep 30, 2013 01:49 |