7 ms·
As somebody else who started coding in the mid 80s I feel this is one of the disconnects of the interview process: interviews evaluate you on the basis of an "8
by tetraodonpuffer 10y ago
As somebody else who started coding in the mid 80s I feel this is one of the disconnects of the interview process: interviews evaluate you on the basis of an "80s programming model" where if you needed a red black tree library, you likely had to write it on your own.
It would be a lot more representative of today's work if you were asked: given these 3 github repos with packages that all purport to do X, which one would you pick for this set of requirements and why? and how long would it take you and a team of 3 to get it done? Then you have an hour sitting next to the interviewer that can see what you are looking at in the code, what you are googling, how you are estimating and so on.
You could be the best algorithm writer in the whole world, but these days when do you ever have the luxury to write greenfield code? It's all "let's leverage open source" and "we don't have the budget to write our own frameworks" and "why do you want to spend X months writing this, when I googled and in 5 minutes I found 8 packages that do it" and "estimate how long it would take you to do <insert fuzzily defined huge task>" etc. etc. etc.
Personally I do miss the days where I felt that all I did was coding, as opposed to putting together a collage with code found elsewhere.
I sometimes feel like doing an Ask HN about "how do you find a coding job where you actually code most of the day when you are 20 years into your career"
- eksemplar 10y agoI get why some places would want to test your programming skills, I mean, google does a lot of 80's style invention talked about in the article. But for 90% of programming jobs, you're better off with a gaffatape programmer who brings social skills as well as business understanding. Especially outside of full software companies, the ability to evaluate business processes as well as digitizing them is simply invaluable, and you'll almost never need to write your own x anyway.
- adrianratnapala 10y agoI'd say that skill set is useful for the 10% of jobs where programmers are pretty close to being their own managers. Really it is better if "product owners" (or whatever) could actually do their job and talk to clients to distil out requirements that are clear and achievable. After that, the kind of programmer right for the job depends on, well, the job.
- PeterisP 10y agoWhat clients? The vast majority of programmers and programming quantity happens in in-house functions in non-tech companies. There's no "product owners", there are business functions that need changes to their internal mess of stuff, so they hire programmers for that.
- adrianratnapala 10y agoBut then it still depends on the size of that in-house programming organisation. If it is just a few guys, then the team lead needs to take on those roles as well as code. If it is larger, then there should be some specialisation and professionalism in the non-coding roles.
- alkonaut 10y agoI think if you miss doing proper algorithmic coding and feel stuck gluing frameworks between a db and a web browser, you should just try to avoid web related development. In embedded, desktop, games and a ton of other disciplines, there is lots of old school and fun dev and a minimal amount of CRUD boilerplate.
- marssaxman 10y agoYes, this has worked well for me. Stay out of web development and it's not hard to spend your time doing "real" programming. Embedded work is especially good if you feel nostalgic about 80s-style PC hacking - the downside is that product cycles are limited by the hardware side, so the pace can feel really slow.
- user5994461 10y ago> Embedded work is especially good if you feel nostalgic about 80s-style PC hacking. True, and reciprocally, it is terrible if you hate it. Back to the world of having no debugger, zero tool, potentially no auto completion and unable to do a print. I still remember an old embedded IDE, when I scrolled down or up with the mouse, the code sometimes becomes a screen of garbage. It's not a display bug, if you save the file, it really become garbage of random characters :D
- marssaxman 10y agoYeah, that's true - but the primitive conditions are a constraint that breeds creativity. I love to build tools, and embedded systems work offers lots of excuses for what would be called "reinventing the wheel" if you did it on a PC. No print? I'll write my own! No debugger? I'll build one! No autocomplete? Don't care, I never use it anyway! IDE sucks? Ehh, whatever, I'll use the terminal! Serial port driver doesn't work? Bootloader crashes? No idea what's going on? Well... okay, I'll debug it by making this LED blink! But yeah, if that's not what gets you going, then embedded work is not for you.
- kochthesecond 10y ago
- flyaway 10y ago> It would be a lot more representative of today's work if you were asked: given these 3 github repos with packages that all purport to do X, which one would you pick for this set of requirements and why? I play this game with my students on the second day of class, along with "read all these people fighting on StackOverflow and tell me the answer you have the most faith in." They split 50/50 between terrified and super pumped about how much trust they'll be putting in Random Internet Code.
- AtheistOfFail 10y agoThere was actually a web page that would answer your stack overflow answer by running and benchmarking all of them. There was also a plugin that would allow you to directly grab code from stack overflow and put it right into your project, kinda of like a search engine for laziness (I think it was an Atom plugin)
- PeterisP 10y agoThere's stacksort, a sorting algorithm that searches StackOverflow for sorting functions and runs them until it returns the correct answer. An implementation is here https://gkoberger.github.io/stacksort/ https://gkoberger.github.io/stacksort/
- erik_seaberg 10y agoAlso https://github.com/drathier/stack-overflow-import https://github.com/drathier/stack-overflow-import which turns upvoted answers into modules.
- BearGoesChirp 10y ago>I sometimes feel like doing an Ask HN about "how do you find a coding job where you actually code most of the day when you are 20 years into your career" Find a company who requires any non-approved outside code, no matter how well known and even if using an already approved license, to go through a multi-month approval process that is almost always longer than the current project's allotted timeline. As it is, if I need a red black tree, and if it isn't in any approved libraries, it is faster for me to write it myself.
- jhayward 10y agoI don't want to seem sarcastic, since this is a genuine question: What are the positive aspects that would induce you to work or stay in such an environment?
- user5994461 10y agoYou can code all day and stay in your corner without any external hassle. That process being enforced will ensure that most code is buggy and development is totally unproductive. That will usually create an environment where noone expect anything from developers and you have zero accountability. if it all goes well, you can toy around all day and not have to ship anything, still getting a paycheck, and not risking the comparison to your peers.
- hashmal 10y agosure, but… what about the mirror?
- BearGoesChirp 10y ago>That process being enforced will ensure that most code is buggy and development is totally unproductive. I don't think I'm following you. The procurement process is quite different than our coding process which involves team reviews and the like. Yes, productivity isn't as high as it could be because we sometimes have to develop something in house instead of using open source code, but we still have code review, unit testing, and similar required.
- dheera 10y agoI disagree. A lot of times it still makes sense to write your own code from the ground up. There are so many instances where a lot of stuff out there is way too overcomplicated for the task at hand and takes more time to configure and resolve dependencies than it takes to just code the part you actually need from scratch. A lot of times, if I'm looking at some random github repo out there and its dependencies aren't apt-gettable or pippable or npmable, I just say "screw it" and write it from the ground up using only things that are apt-gettable, pippable, or npmable. Except OpenCV 3.1. I'm willing to deal with that one. But I have a script to install it that's 55 lines long. (How ridiculous is that -- we need 55 lines of code to install things these days. Can't we just tell our computers to install stuff and aggressively figure out how to install it, no questions asked?)
- zemo 10y agosure but you often have to fight tooth and nail for the right to invent anything yourself in a lot of modern web-based environments. The idea of actually inventing something yourself is seen as crazy and dangerous in a lot of places.
- SCHiM 10y agoThat's because there's some truth in that. Remember the time when searching for ' would spit out a detailed error message containing the database name and query that failed? Or adding <h1> to your profile page would break everything for everyone? That was because everybody was writing their own stuff instead of relying on frameworks that handle fuzzy things like user input for you. Many webpages have gotten more secure, but no without a cost for creative programmers everywhere.
- dheera 10y agoThere are ways to write your own code and not be stupid. Parametrize SQL queries, use libraries to strip HTML, and so on. Unit test your stuff. Have your server software throw a generic 500 for anything that isn't a 200 from your upstream socket. I am not saying write everything from scratch. Just use only the stuff you have to.
- pavlov 10y agoIf doctors were hired like programmers, they would be quizzed on chemistry trivia and then asked to mix their own drugs in vials using raw pharmaceutical ingredients.
- user5994461 10y agoPharmacists actually have to mix some drugs and that's part of the training.
- HeavenBanned 10y agopavlov explicitly said "Doctors" . I don't need my Internist to know about Keto-Enol Tautomerization and I think the fact that they even learn it in the first place is disturbingly bizarre. Universities are stuck in past.
- ad-hominem 10y agoBut doctors don't.
- walshemj 10y agoEven in the 70/80's at a world leading rnd place we did not write our own fourier subroutines we brought them in from the NAG https://www.nag.co.uk/ https://www.nag.co.uk/ Like wise we brought in Gino-F to plot results nicely