22 ms·
> Being a self taught software developer who has been programming since I was 12, I had no idea how to reverse a binary tree. It can be done. As a self-taught
by efsavage 6y ago
> Being a self taught software developer who has been programming since I was 12, I had no idea how to reverse a binary tree.
It can be done. As a self-taught developer, and after years of startups and consulting, I got my first FAANG job at age 40. I hadn't done any real kind of interview in 15 years. I spent 90% of my time preparing for CS questions, and struggled at the first one, but ended up at FB, and Google a few years later.
My mindset wasn't that they really cared that I could do these obscure programming exercises that I hadn't used once in 20+ years of real-world programming, but rather that I could prove that I could learn and adapt.
- dilly_li 6y agoThis. If you are not willing to learn the basic BST to prep for an interview, what's to say about you on your new job?
- sidlls 6y agoThere’s no real correlation here.
- darig 6y agoThat you don't focus on things unrelated to the job at hand?
- weird-eye-issue 6y agoThat you don't want to learn worthless stuff that is solely for interview theatre?
- blacktriangle 6y agoIf you can't handle the level of theater that is reviewing basic CS concepts that we all could afford to be more aware of even if we don't need to remember them day to day, you're really not going to survive the level of theater that dealing with a large organization requires.
- pantulis 6y agoSo this would be the equivalent to the "how many pianists tuners live in New York?"
- JohnWhigham 6y agoAbsolute load of shit. What does memorizing data structure algorithms you'll never practically use have to do with navigating company politics?
- blacktriangle 6y agoIt signals your willingness to jump through arbitrary hoops.
- dmingod666 6y agoWhen Google had gone down a while back, someone had commented: "Have they tried try to invert a binary tree and see if it solves the problem?"
- alexc05 6y agoThere is a better way. We're (mostly) hackers for bleep's sake. You don't think that this is something that we can disrupt? The only reason we accept it as the status quo is that people accept it and say "this is the way it is" If you look at Goldman Sachs or Microsoft, BOTH are investing heavily in tuning their recruitment process to identify and hire neuro-atypical people. It is a business strategy that is paying off. Who's to day the kinder & gentler process they design couldn't be just as easily be applied to hiring in neuro-typicals. https://www.microsoft.com/en-us/diversity/inside-microsoft/cross-disability/hiring.aspx https://www.microsoft.com/en-us/diversity/inside-microsoft/c... https://fortune.com/2019/12/07/autism-aspergers-adhd-dyslexia-neurodiversity-hiring-jobs-work/ https://fortune.com/2019/12/07/autism-aspergers-adhd-dyslexi... It doesn't change because it hasn't changed. Not because it can't.
- bmitc 6y agoThere should be a reason for it. I learn things because I need them for my job or I find them interesting, hopefully with some overlap. There's a lot of things to learn in life, and it's rather pointless to learn things for an interview process if it doesn't reflect upon the actual job requirements. Also, it's not like people know nothing. A good interview process learns both what the candidate does and does not know, how what they know could be useful, and how capable the candidate is in filling a knowledge gap if there actually is one between what they know and what is actually needed for the job. That is of course in addition to learning whether they're nice to be around or not.
- sanderjd 6y agoIt's like learning a gate code; you don't need it once you're in the house, it's pointless to learn it, except that you have to in order to get through the gate.
- ClumsyPilot 6y agoAgreed, lapdogs should do as they are told and not question the leadership, for their ways are mysterious and wisdom divine
- acheron 6y agoThe Stockholm syndrome among the leetcode crowd is astonishing.
- thomascgalvin 6y agoIt says that I spend my time learning things that are actually useful, rather than trivia. The best screening I ever went through was for a job where I'd be working on a Spring Boot app with a React frontend. For that screening, I was asked to add a simple feature to an example app. It was clearly toy code, so I knew they weren't trying to get free work out of me. It was also representative of the kinds of tasks I would be doing, which let me know that I would enjoy the job, and let them know I would be good at it. I was hired on the spot. I've written algorithms to reverse b-trees, and I could figure it out again if I had to. But I don't have to, because the standard library is a thing, and that task tells a potential employer nothing about my skill set.
- sanderjd 6y agoFor what it's worth, I don't like the CS-y interview process, but I also struggle with that very technology specific process. I don't want a job that hired me just to be a Spring Boot + React monkey. I want a job that hired me because they think I'm smart and adaptable and can tackle any problem with any technology.
- ModernMech 6y agoHere's the thing I think you're missing when it comes to the employer's POV during these types of interviews: they don't care so much about your skillset. At the point where you're doing an in-person interview and being asked these pointless puzzle questions, they are reasonably sure you have the required skillset to do the job. What they're actually testing for during the in-person interview is your ability to be a good worker bee. They're filtering out people like you who would question the point of doing task X. They want people who will do task X without question. They don't want workers who will ask "Why are we doing task X? Shouldn't we do task Y instead?" For most positions at these large companies, the person who questions the efficacy of task X is a different role -- the role that is instructing you to do task X. With these trivia questions, they are in fact telling you as a prospective employee the kinds of tasks you will be doing. They are letting you know that you will be doing a lot of pointless work, you won't have any say in the work you will be doing, the work you will be doing will seem trivial to you, and you have to be okay with that. If you're not okay with that, it's not the job for you.
- alexc05 6y agoI don't mean to sound rude, but I feel like your response seriously lacks empathy. I am a father to a 2 year old, I have a mortgage and an existing full time job. The time investment required to go through a bunch of algorithms that are almost exclusively used in passing coding interviews does not offer the same ROI as, for example, streamlining a process that you are currently facing on a day to day basis. On top of that, something that I've learned recently about myself is that I have a tremendous fear of failing coding interviews. You see there is an emotional component to the effort you put in to doing one of those things. You go through the work to get accepted into the interview process then you find yourself face to face with "one shot" to impress. Maybe they've even flown you out to their location so you can go through this whole experience on site. At that point the optimistic among us might start thinking about things like what our lives would look like if we worked at "technological mecca" doing really cool shit for silicon valley dollars. So you start allowing yourself to think about watching the ocean on a sunny day eating avacado toast while you watch your now bleach blonde son playing in the surf. Your wife is happy too. You have this beautiful life that you're providing for those that you love. (in your fantasies you don't worry about the cascadia fault-line, the dystopian nature of US healthcare, or the fact that california seems to catch fire for a month every year nowadays) ANYWAYS, you go in, you give it your all. Maybe you think you nailed it, or maybe you can clearly come up with 20 better solutions in the 20 seconds after you leave. Maybe you studied 50 concepts intensely, but missed the one they picked to ask you about. You didn't get the questions in advance or anything. It doesn't matter though, you missed a semicolon on the whiteboard and your code doesn't compile when they type it in. You get a terse reply from your original recruiter "not a good fit at this time" ... there's no insight into what you did wrong or where you could get better. That opens the company up to legal liability. Anything more than "thanks" risks exposure. So you're left with days and weeks of effort for nothing. On top of that you have a real long flight home where you get to grieve the loss of that beautiful life you imagined. Do you work in a place where you can tell your colleagues at work that you were interviewing? If not, you can't even talk to the people in your life who are most likely to understand the pain you're going through. So you get to suffer alone. So. What does it say about someone? Absolutely nothing.
- sanderjd 6y ago
- noarchy 6y agoI have never prepped for an interview in my life. If they're asking me questions or to solve problems related to my field, I don't really need to study. If they ask me things that are irrelevant, then that's another thing entirely. In short, I am a specialist, and am hired accordingly.
- SeyelentEco 6y agoSame I was 32 self-taught with 14 years of experience. After a few failures at these types of interviews I just studied and spent some time learning how to solve the problems companies were asking. I did better and got offers at 2 of the FAANGs and I've been at one for almost 8 years. So it's possible to be a self taught or have spent your entire life at small companies before that but studying is required for the coding part. I think behavioral and architecture are easier for those that have built a lot of things before, but they won't make up for a couple bad coding interviews.
- serial_dev 6y agoAnd how do you like FAANG? I'm in a similar situation, I'm 30, worked for different kinds of companies and now I'm thinking I'd like to try applying to FAANG companies (mainly because I hope it would be more interesting, challenging for at least a couple of years, and maybe even get to know some people that operate at a different level).
- sanderjd 6y agoFrom my experience, lots of great things: stability, great compensation, a never ending supply of technical challenges, products to work on that huge numbers of people use ("oh you work on that? I use that every day!"), a well defined technical career progression path, plenty of personnel depth and financial cushion to do things slowly (so you aren't ever up all night live coding against prod to keep the systems up and the business from going under), a strong engineering culture with more focus on code quality / maintainability (related to the financial cushion and also the default assumption that code will live for a long time), easy to hire good engineers so you aren't constantly strapped for talent, ... probably some more things that I'm missing. And lots of bad stuff: the communication burden of wrangling huge numbers of people, bad decisions by leadership that you're helpless to impact, just the general difficulty of having one's values align perfectly with those of a big shareholder controlled faceless blob, figuring out what to work on that will be both satisfying and aligned with the right peoples' goals (that is, fun coding projects are often not impactful while thankless slogs are, at least for more senior folks), etc.; essentially, the politics are harder to navigate and feel satisfied with. To highlight my first two positive points: the stability and compensation has allowed me to pay down all our debt, buy a house (recently refinanced to a 15 year mortgage), save up a year of expenses, allow my wife to go back to school, and pay for a couple kids to be in a lovely daycare. Most of that would have been much more difficult in my previous life in the startup world. I'm very happy I got the job (when I was about your age), but I also think often about leaving it. Hope that helps!
- davidhyde 6y agoAgreed. Employers usually want to understand your capacity to learn (as well as many other things). Going to university formally demonstrates this but obscure interview questions attempt to test for this too. You can learn them all, just try.
- falcolas 6y ago> I spent 90% of my time preparing for CS questions As always, to me this sounds like a real waste of time. I'd rather be working on a real project (working for people who value work on real projects), not practicing for an interview. But that's me.
- decafninja 6y agoI too, would like to be working on a real project. But most if not all companies that I'd be thrilled to work for are gatekeeped by these leetcode style interviews. I don't like that that's how it is, but that's what the game is, and most people are in no position to change the rules of the game. I also acknowledge that despite all its flaws, the SWE interview landscape is still better than say, that for lawyers, where if you didn't graduate from a top law school some doors are immediately and permanently shut for you. You can still get into a top tech company without an outstanding pedigree. The closest analogue to the lawyer situation is that if you have a top tech company on your resume, I'd say many doors are opened (or opened much more easily) to you than someone without such name brand companies on their resume.
- falcolas 6y ago> I'd be thrilled to work for There's the key. Their marketing has convinced millions of current and future devs that they are the best places to work for; that they are worth doing silly things for just to work there. The problem is that many of their "wins" are from decades ago (or more). Today, for Google at least, you can't even choose what you'll be working on. You'll be tossed wherever they think they need you. Even the best new hires won't make it to the largest salaries (dominated by veterans) and won't get to spend their 20% time (if they even get it) on the next gmail. The best advice I can offer, about two decades into my career, is to stop chasing the shiny marketing material. They'll burn you out and replace you without blinking. Almost every non-family owned business now hires developers (and data scientists), some for very good salaries in places where you're not paying thousands of dollars monthly to be someone's roommate.
- decafninja 6y ago
- deanak 6y agoThis is why software is terrible. Would you test Frank Gehry on the basics of architecture? Or have Frida Kahlo count her brushstrokes or plan her day hour by hour? I test all developers by paying them to make the equivalent of a bird box. If it comes back relatively well designed, cool, I've got a developer. If they come back with three designs for different environments and species, I know I have an engineer. As it stands, we have kids who have zero real world experience at the helm of corporations and the results are easy to see. They rarely produce anything of value for the general population. So rare we have to call them unicorns.
- slumpt_ 6y agoYep. Software and products at these companies are often a horrific mess. Leaving one and taking a big pay cut just so I can go work with a small team of people who give a shit about software and products again.
- dsr_ 6y agoSpecifically, I wouldn't hire Frank Gehry because his buildings leak. The subfield of software development where artistry outweighs cleverness and productivity is game design -- and not all game studios exist to do things that way, just particular boutiques centered around one storyteller's vision.
- deanak 6y agoWhy would you think Frank Gehry built his designs?
- dsr_ 6y agoI have walked past one of them hundreds or thousands of times? https://en.wikipedia.org/wiki/Stata_Center https://en.wikipedia.org/wiki/Stata_Center
- deanak 6y agoOkay, so... architects design the building. Engineers engineer it. Construction firms construct it. Why do you think Gehry was pouring concrete instead of designing his next award winning building?
- sanderjd 6y agoYeah it sucks to have to study stuff that's mostly irrelevant to your job in order to get that job - it truly does, I despise the system! - but it is worthwhile to shift your perspective to considering the ROI of doing that study. The dirty secret is that CS-y interview questions are easy compared to the job. It's just much much harder to debug some novel bug that crops up in the cracks between the myriad components that uniquely make up the system you work on, or to figure out what your users want and how to build that, or to respond to having the good problem of scaling more quickly than expected, or tons of other things successful professionals in the field regularly do as part of their day to day work. It's deeply lame that experience with these much more difficult things is not expressed through the typical CS-y interview process, but if you can do those things, you can definitely learn to do the CS-y stuff. Reversing a binary tree is easy; look it up. Yes, you have to learn how to traverse a tree, and no, that's not likely to be very useful knowledge in your work, but it's not very hard to learn. You can spend 100 hours studying and nail pretty much all the CS-y questions, and that could literally have a return of a million dollars over five years; I don't know of many opportunities that offer such a good possibility of returning 100k per hour. It sucks, I hated studying elementary stuff after I was already a successful professional, and I was a nervous wreck during the interviews, but it is very hard to argue with it from a purely ROI standpoint.
- decafninja 6y agoA lot of FAANG engineers seem to report that the interview was the hardest thing that they've done, harder than anything they do as part of their actual job. It's probably not that the leetcode problems are ultra hard to solve (though they can be). It's also the combination of the artificial time constraint and the high pressure interview setting - which is a very different kind of pressure than you typically experience on the job.
- msoad 6y agoFAANG has a system for firing people who can't cope with the complexity of the job. There is a huge survivors bios. To be a FAANG engineer you need to be able to pass the interview and have the skills (mostly people skills) to navigate a large system.
- dfsegoat 6y agoIf I may ask, what resource(s) did you study from / use to help prepare you?
- sanderjd 6y agoThe Algorithm Design Manual (just the first few chapters of refresher on data structures and stuff) and Cracking the Coding Interview.
- the_jeremy 6y agoMy girlfriend knows multiple SWEs at Google who recommended reading the Algorithm Design Manual as a top tier study guide for Google's interview questions, to add another point of anecdata.
- sanderjd 6y agoYep. Again, this advice can be overwhelming: it's not the entire book that is the most useful part, it's the refresher material at the beginning that does a great job of covering the kind of stuff that shows up constantly in interview questions.
- wdb 6y agoI still enjoy reading The Tomes of Delphi: Algorithms and Data Structures. It's an old book but it's so readable.
- PragmaticPulp 6y ago> It can be done. Definitely. I’ll add that it doesn’t take as much time and effort as commonly portrayed online, especially if you have many years of development experience already. Keep in mind that many of the online FAANG cram-style study guides and anecdotes about grinding LeetCode are largely targeted at college grads who don’t have many years of experience, and who also likely have a surplus of free time. For developers with years of actual programming experience, it’s not as difficult to study interview problems as it sounds. Even more so if you spread your practice over a long period of time. Doing one problem per weekday over the course of a year will get you quite far in LeetCode without much time investment. I grab a random LeetCode problem on my lunch break if I’m eating alone (aka every day during COVID). I pick a different language that I’m familiar with to rotate my skills. I’m not even interviewing, but it’s actually kind of fun to do the harder problems and play with all of the little optimizations. And I get to keep my skills fresh in programming languages I’m not currently using in any projects.
- Terr_ 6y ago> Doing one problem per weekday over the course of a year will get you quite far in LeetCode without much time investment. The problem with this approach is that you won't be able to remember the details of problems older than X months ago, at least not to the level that will reliably help when in a stressful whiteboarding interview. There might be entertainment/knowledge benefits, but it doesn't replace cramming for a known upcoming interview-event.
- PragmaticPulp 6y agoHaving done it myself, I don't find that I lose the knowledge or experience as you described. I approach it more as learning different techniques to solve different problems, rather than learning how to identify the trick and recall the solution to specific cues. Trying to memorize solutions isn't really effective for interview problems, in my experience, unless you really can dedicate time to cramming as many solutions as possible right before an interview and hoping that they ask you one you've seen before.
- gher-shyu3i 6y agoDid or have you experienced any ageism?
- potta_coffee 6y agoIf you don't mind my asking, what was your study plan like? I'm self-taught and I'm in a similar position, I really need to study but I'm lacking an effective plan of attack.
- efsavage 6y agoI did the green book (McDowell) cover to cover, with a few dedicated hours of study each day, and random googling/tinkering where I wanted to explore more. I won't say it was the most fun I've ever had, or as self-motivating as a nice side project, but it was a good change of pace over gluing APIs together, so the novelty effect kept me going for a while. I probably put 150 hours of prep in over 6-8 weeks. The ROI on that time (relative to competing startup offers) was very far north of $1k/hour.
- rhines 6y agoNever heard it called the green book, usually just called by the acronym CTCI (Cracking The Coding Interview). Just commenting in case anyone else was confused. Congrats on getting a good payoff on your work, and thanks for sharing the info about your process.
- potta_coffee 6y agoThanks
- hacliff 6y ago+1 on this, CTCI is worth its weight in gold
- aeoleonn 6y agoThanks a ton for sharing this! Super inspirational. I'm a self-taught developer, 34. My first programming job was only at about age 30. About 2 years later, I was consulting for Amazon, as a full stack engineer building a digital marketing project, which was pretty cool-- plus great for the resume. After that, Amazon contacted me for an interview with them, which I failed (lack of data structures & algorithm knowledge/experience). I still have the hopes of working directly for a FAANG company. So, just wanted to say thanks. Currently I am unemployed, but I am about to start studying DS&A again & building some small projects. Fortunately, given the industry & skillset, I have recruiters contacting me frequently, which is a positive, uplifting signal.
- that_guy_iain 6y ago> I spent 90% of my time preparing for CS questions, For me this is the main problem with companies that hire like FANG do. It is fully expected you have to study. Like I have to study to basically do the job I am currently doing but at FANG? Then there are the fact so many people say the hardest thing about Google is the interview. And for me that is kinda pointless then, like if I've just done the most challenging thing, why would I want to hang around?
- jnsie 6y agoYup, it's a sad truth (not limited to tech companies) that you've got to play the game. The blogger wasn't unemployable, just unwilling to do what was necessary for these particular companies (his prerogative; not judging in any way...).
- colllectorof 6y ago>My mindset wasn't that they really cared that I could do these obscure programming exercises that I hadn't used once in 20+ years of real-world programming, but rather that I could prove that I could learn and adapt. This is how bad interviewers always justify asking nonsensical questions. It's like that old joke: An interviewer picks up a stack of 50 resumes, takes a glance at them and drops the bottom half into a wastebasket. A coworker asks: 'Why did you discard those candidates?' The interviewer replies: 'Because I hate losers.'
- giantg2 6y agoSo that's where my resumes end up...
- MattPalmer1086 6y agoThe punchline I know to that is "Because we don't want to employ unlucky people."!
- beforeolives 6y agoYeah, I don't like the attitude of "I'm self taught so I don't know about data structures and algorithms". The first part of the sentence doesn't logically lead to the second. It's not even anything that advanced or difficult either. We're talking about easily and freely available information with plenty of ways to practice. If you have a big knowledge gap in something that's - easy - freely available - relevent to your job then that's pretty much entirely your fault and it has nothing to do with your educational background.
- letitbeirie 6y agoDon't disagree, but > - relevent to your job isn't necessarily met here. I'm also self-taught. I couldn't reverse a binary tree in a tech interview (without looking up how to do it first) because it's never been relevant to my job. I could, however, stand up an API and deploy it to AWS in a similar period of time, because it is relevant to my job.
- inetknght 6y ago> If you have a big knowledge gap in something that's > - easy > - freely available > - relevent to your job > then that's pretty much entirely your fault and it has nothing to do with your educational background. Sure. But reversing a binary tree isn't relevant to most modern software engineers. And when it does become relevant then, like you said, it's easy to learn (on the job). > It's not even anything that advanced or difficult either. No but it is something that gets "memorized" for a test (and therefore immediately forgotten afterward).
- mcguire 6y agoThe vast majority of people don't use algebra, yet it remains (was?) a requirement to graduate high school.
- thu2111 6y agoI don't fully get this argument. Trees are a very common thing to encounter in all sorts of programming and recursively walking them is also very common. I had to do it yesterday as part of writing some code to traverse a file system, nothing fancy. Although I've never asked or been asked it in interview context, reversing a binary tree specifically is probably just checking you understand how to write recursive functions. Binary, because variable number of child nodes would make the code longer and more complex for no good reason. Reverse, because that's the simplest operation you can do at each node. People in this thread are acting like tree processing is as exotic as theorem proving, and could never have anything imaginable to do with daily work, but every web page is literally a tree!
- gigatexal 6y agoThe needless gatekeeping that is “create a linked list” or “reverse a binary tree” or my favorite: sort these arbitrary list of items are stupid. The thing is they’re used as a proxy for intelligence and I think they don’t work. Think of all the countless folks who cram for these interviews and then can’t actually write code in a real setting, use git, or manage expectations. This guy could do all of those things as shown by his successful consulting work.
- novok 6y agoI agree, the guy should of noticed a pattern after the first few, and being unemployed and thus didn't have a job taking up his time actually systematically go through cracking the coding interview or other similar resources full time for a few months. Then he'd be basically be set for life. Lots of missed income there.
- bbulkow 6y agoYet, if you want to pass a technical interview, that's the game. If you would like to introspect, having a large number of passes before you changed course was unnecessary. I also interviewed and received job offers after burning out at startups, i listened to the advice to spend 6 weeks on hacker rank and top coder. I passed all my technical interviews. I was also coding on two personal open source projects, but practical cussing and interview coding are 90 pct different as you say. I don't know if i will succeed at having impact at a large company. Tell you in 6 months. But i am iterating fast and following advice of the people around me. You didn't mention the effect of being unemployable because your standards are going up. This is an occupational hazard of having more experience. Sorry about that, there are things you can't unsee . It happens to everyone, and an underdiscussed reason there are more young coders. Good luck.
- UncleOxidant 6y ago> but practical cussing and interview coding are 90 pct different Freudian slip?
- JediPig 6y agoOnce i was given what I call a "brogrammer" code test. I looked at it, said not interested in brogrammer env. Fast forward 4 years, person I knew became VP. He asked what I thought. I laid it out to him, that brogrammers are collective tards that cant think on their own, BUT they are good at things like code interviews. I was hired as director. The 2 people who said no cause I said no to their brogramming crap. I personally let go in 4 weeks. 2 years later, things were fixed, I got a fat check, and moved on. Lesson? Uncle Bob and his elk are creating problems that you can be paid to solve. However Uncle bob and crew are great at brainwashing.
- mettamage 6y agoFor people stating the knowledge is useless, here is how it has been useful for me. Graphs: HTML is a tree, it’s easier to think about performance. Also, I once made a simple DSL like HTML and had to implement quite a few graphs traversal algo’s. Heap overflows: I did one on htb. Being able to algorithmically think about pointers being overwritten and memory layout feels a lot like interviewing. Trading: one algo trader I made needed speed. I had to go much further than most things I see on Leetcode. In general: algorithms is the ability to think step by step in your mind without a debugger. That skill is quite important when the going gets tough. Note: I am not for this interview style. AllI am saying is, it is not without merit. Or would you rather do a 40h take home assignment? (Same thing, not without merit but 40h?)
- kungfuscious 6y agoFinally, thanks to your comment, I understand the whiteboard interview. I couldn't for the life of me understand how hiring for software engineers was conducted in such a ridiculous manner (i.e. not anything like the job you are going to do), but like someone else said on here, it's a dance that proves your proficiency to learn technical concepts.
- m463 6y agoThing's I haven't done since college: - partial differential equations - reverse a binary tree - (sadly) made quite so many long-term friends
- golergka 6y agoI'm genuinely curious, what are you all guys doing? Why are you not using CS in your jobs? I've never worked in a large company, never had a salary that is even close to US engineer level, and yet I regularly write code that traverses complex graph structures (often with recursive CTEs in SQL), just because that's how a lot of real-life data is structured. I spent this weekend debugging this traversal, in fact. And that's only the 'trees and graphs' example from the top of my head, as I've found myself constantly using all the different CS stuff throughout my career. This is not an attempt to attack anyone or an attempt to appear superior. If anything, I'm constantly reminded by how stupid and uneducated I am when I'm reading HN comments. I'm just trying to understand: are you guys really spending your whole days changing button colours?
- the_only_law 6y agoWriting applications (web apps, jobs, desktop apps, occasionally something worse) that basically act like a front end to a database. By that I don’t mean frontend as in the frontend web stack but the backend is mostly just a series of API endpoints or screens that call an associated database procedure. Often times there’s some light massaging or transforming of the data to be more presentable. Usually with mildly legacy technology (think older .NET, Java, jQuery. Shit I just got finished pumping out a greenfield Access project). I’d like to do other things, but this is the only sort of thing I think I’ve ever gotten an interview for. > I'm just trying to understand: are you guys really spending your whole days changing button colours? Not quite like that, but it isn’t uncommon for me to spend time making minor changes because the business area helping with requirements can’t remember what they wanted one day to the next. I wouldn’t like if I said there are many days I spend mostly doing nothing, just waiting for some process or for someone’s calendar to free up before anything can continue. This has been common at all jobs I’ve had except one, where I was a contractor hired to do an extremely specific task for a very small company. I’ve started working in other things in my (abundant) spare time, hoping they’ll help me get somewhere, but I’ll see.
- varispeed 6y agoEven if you are self-taught, you should know what is a binary tree and how idea of reversing it applies. From there you should be able to easily come up with a makeshift algorithm or ask if you can google a solution (as this is what you would be doing at the job anyway), find best answer and then apply it to the problem. I think most important part in this job is being able to find a good solution quickly if you cannot code it straight from your head. Being offended by any question and the attitude "I did X therefore I cannot Y" is what disqualifies you. There is nothing worse than an employee who thinks they know everything or that they don't need to know something and feel too superior to ask how or to find an answer from someone else. I would suggest at least trying a therapy to get to the bottom of why you behave in such a way. Sometimes a simple change in thinking can lead to a dramatic transformation.
- powerapple 6y agoCan't agree you more. I also viewed interviews as absurd process before, then I changed my mind. It is actually useful, it can tell that 1) you want the job, hence you make the effort of preparation; 2) you are able to learn.