4 ms·
> Wherever I end up, I’m going in as an entry-level software engineer. I’m not going in with 15 years of software engineering experience because I simply don’t
by marsrover 10y ago
> Wherever I end up, I’m going in as an entry-level software engineer. I’m not going in with 15 years of software engineering experience because I simply don’t have it. When it comes to this stuff, I’m the equivalent of a fresh CS grad.
Talk about selling yourself short. You've been a web developer for 15 years. I would think you've progressed a little further than entry-level.
- hahamrfunnyguy 10y agoYou'd be surprised! I've interviewed many "veterans" (and worked with a few!) who just don't have the chops. In the world of web development, the developer who knows just enough to skate by without a proper understanding of algorithms and design patterns seems to be the rule rather than the exception. Kudos to him for acknowledging it and trying to do something about it.
- user5994461 10y ago> Kudos to him for acknowledging it and trying to do something about it. That's a bad strategy for himself. He shouldn't acknowledge it and he should go to work for one company that do not care about that.
- arenaninja 10y agoI predict downvotes for my reply here, but I'm genuinely asking a question. You're not wrong that some developers will simply skate by, but is the developer wrong to simply skate by? Specially as a web developer, I think too many people think that the barrier of entry is high, and it really isn't. The majority of technology I know how to work with I have picked up out of necessity to make something work (or work better). Even database internals I know little about how they work, because I don't think there's an inherent need. I've worked with many database engines (usually whatever the business wants to use), and I just know enough about DDL/DML and indexing to make things work (note that I'm talking about SQL/noSQL DBs here). I re-invent the wheel constantly in different languages for pet projects that will never even see GitHub. I act out some of the more modern tutorials to get me more familiar with how other people code. But at no point have I yet had to stop and say "this damn bubble sort isn't fast enough!" I don't even use an ORM, but I think the majority of web developers don't know SQL and just use an ORM, and I think that's still OK, because they haven't hit the point where they need to use raw SQL to address a performance issue. But when they do, wouldn't they be as likely as I have been to look up documentation, StackOverflow and the rest of the web to get what they need done? And isn't that enough? If the guy sitting next to me knows how to implement a performant/redundant/concurrent database solution from scratch, he shouldn't be sitting next to me in the first place, he should be working on improving database software! And I'll use his tool when he ships it, but that still doesn't make me a caveman.
- RandomOpinion 10y ago>"You're not wrong that some developers will simply skate by, but is the developer wrong to simply skate by?" It's a life choice, neither right or wrong. However, if a person is no more skilled than the lowest common denominator, that person is effectively an easily replaceable commodity and commodities, as a rule, do not command a high price. The rise of coding bootcamps should really be a worrying sign to those who are just skating by.
- rhizome 10y agoskate by without a proper understanding of algorithms and design patterns In your estimation, what are the most important algorithms and design patterns to know for web development?
- hahamrfunnyguy 10y agoWhen I say web development, I am really talking about web application development. The same skills that apply to a native developer apply to a web developer. On the design pattern side, MVVM and MVC are integral to modern web development. Inversion of control and delegates are used in many JavaScript frameworks in server side frameworks like Node and .NET Knowing about different search algorithms comes in handy, as does knowledge of data structures and encoding. With understanding basic CS fundamentals, you can better understand how the framework is doing things under the hood and make informed decisions with how to proceed with a given implementation. It also really helps with troubleshooting when things go wrong.
- rhizome 10y agoThat 99% of algorithms and design patterns are apparently "nice to haves" in web development means deficiencies in them do not constitute "skating by." I only raise this point because there appears to be a huge (and possibly intractable) disconnect between practical needs and theoretical ones when it comes to hiring.
- JupiterMoon 10y agoFor design patterns REST, DRY, MVC (and it's variants). For algorithms a basic knowledge that a triple nested loop is likely to be O(n^3) and when to use basic datastructures like hash maps/arrays/lists/sets (no need to know how to implement them) etc as well as the humbleness to use library packages should suffice. I would argue that in 2016 to be a web developer one should either be capable of (1) full stack or (2) building thick client type applications to run in the browser. I would argue that the simple build a website type jobs are dying out and being replaced by Wordpress installers.
- michaelchisari 10y agoThe corollary to that is that many companies which insist that they need a 10x PhD with 15 years experience really just need a solid developer who can consistently ship clean, maintainable code.