9 ms·
I'm honestly experiencing this as a CS grad in the Dutch job market. I find it weird and frustrating. I've noticed why: 1. Companies don't dare to value creat
by melvinroest 7y ago
I'm honestly experiencing this as a CS grad in the Dutch job market. I find it weird and frustrating.
I've noticed why:
1. Companies don't dare to value creativity [1]. University is so liberal and the job market is so the opposite.
2. Most companies can't value a CS degree. The exception is when enough people in the company did a CS degree and that's a lot more rare than I thought.
3. University didn't teach me to focus on a portfolio and I got distracted with doing multiple degrees all at the same time fast-tracked (nobody cares that I fast-tracked), which (as you can see in point 2) proves that I'm worth very little. It taught me a lot personally and made me smarter (in terms of crystalized intelligence). But my portfolio is rather terrible compared to what I'm capable of.
I'll fix it, but right now I'm just tired of being not called back (50% of the time) or rejected (the other 50%). I know I'm capable, and pass the bar. I'm not perfect, I'm not the best, but I'm capable.
[1] I created an app called Doodledocs which is a Canvas-based app that allows P2P privacy free collaborative doodling with a pressure sensitive stylus. In my interviews with companies they don't trust enough that I'd be capable helping along with CRUD applications, because I didn't do any CRUD in the Doodledocs app. And I'm just thinking: figuring out how to do WebRTC for free in a serverless manner (while seeing all of it for the first time) is a lot tougher than writing some models for a basic login system that you already know about (the same can be said for poking around in VMs in view libraries like Glimmer). Anyways, it's on a show HN right now see: https://news.ycombinator.com/item?id=21399910 https://news.ycombinator.com/item?id=21399910 -- also for anyone who wants to do free WebRTC, check the Bugout library, it's really cool. If you have any questions about it, I can walk you through it (I understand most to all of it). My email is my hn username at gmail.
- zentiggr 7y agoMaybe some of these companies see DoodleDocs and wonder if you'd be a bad fit for a CRUD type position? Like, you've already gone beyond a lot of those basic needs, so why would you "step down" to a CRUD job?
- melvinroest 7y agoGood point: I do have a hard time communicating why I'm fine with a CRUD position. Because sometimes I think things are self-evident, when they're not and then I poorly communicate them. One of the reasons is: when you look at my resume (I'm Googleable), I am simply just starting out. And just doing the grind for 2 or more years would ground me in what I've experienced the past 8 years during my studies and jobs I did while studying.
- lowercased 7y ago"I'm fine with a CRUD position" Are you? Then put together some CRUD line of business stuff. You may actually find you don't like it, or get 'too creative', or... whatever. Build a small CRM. Allow people to add doodles to the user records. Case solved...
- melvinroest 7y agoWill do, thanks for the tip!
- non-entity 7y agoDont "CRUD" jobs make up a large majority of the jobs for software developers?
- melvinroest 7y agoYea, in fact, there are some HN comments (can't find sources) that feel discouraged by this because they want to work on more technically interesting things. Like a C++ compiler or a distributed system. But instead they write CRUD apps and seem to feel sad about it. I'm a bit different in that sense as challenging programming hurts my brain a lot (and yet I still continue with it, no pain no gain they say). Which is why I think I might like CRUD because that doesn't hurt my brain a lot, yet you still get to create beautiful things.
- eigenvalue 7y agoIt seems like you have diagnosed the issue, and that you believe it is simple and easy to fix. So why not just whip up a nice looking CRUD web app over the weekend and solve your problems? It doesn't matter how "hard" something is if it doesn't demonstrate to the typical employer that you can solve their business problems.
- melvinroest 7y agoJudging on your comment, I'm beginning to realize that compared to those business perspectives, I simply want to move too fast. Based on my own experience, in most cases when I tried to move too fast things went fine. And sometimes they went horribly wrong (but since other times it went fine on average it was always pretty good). So there's a bit of risk involved. What happened in the world for people not daring to take risk? But alright, I'll build a nice looking CRUD app. I suppose I should build it in at least 5 languages, because if you can do it NodeJS that doesn't mean that people trust you to be able to do it in C#.
- BrentOzar 7y ago> What happened in the world for people not daring to take risk? If you're a real risk-taker, you don't apply for a job working for someone else. You go build something and blaze your own path. Companies usually value predictability over risk-taking. You'll learn that lesson once your own assets are at stake: you'll likely hire someone to execute on what you want, rather than someone who "takes risks" and does their own thing.
- melvinroest 7y agoThat actually makes sense. My assets have never been at stake, not really anyway. I'll try to think more about that mindset.
- commandlinefan 7y ago> nobody cares that I fast-tracked In fact, if fast-tracking cost you even 1/10 of a GPA point, it is actively hurting you - if they’re comparing somebody with a 3.9 GPA to somebody with a 4.0 GPA, whether the second candidate got that extra 0.1 because he was only taking one class per semester doesn’t come into consideration.
- melvinroest 7y agoI never thought of that. That's a good point. My master degrees have high GPA's because I didn't fast track them. But other than a tier 1 consultancy firm (I went far and wide with this job search), no one seemed to care about my grades. I'm happy at least one company did.
- thrower123 7y agoEspecially in Europe, where you don't have anything like the tuition costs. In the US, graduating a semester or two early translates into serious money saved. At a very conservative estimate, that's around $10k of debt that you can avoid, and could mean 20, 30, 40k, depending on the situation.
- 77pt77 7y agoHigh GPAs count against you. That has been my experience.
- melvinroest 7y agoHow does that work? "Oh, you have a high GPA, clearly you're too theoretical." I have no clue.
- 77pt77 7y agoYes. Also, you are a nerd with poor social skills. People are also intimidated and see you as a liability. I was actively told this while studying.
- 7y ago
- theandrewbailey 7y agoFor the CRUD type jobs I've worked on, database design and understanding of SQL and ORM frameworks probably helped get me in. Are you strong or lacking there? Try programming a blog from scratch.
- melvinroest 7y agoI've taught how to program a blog from scratch. I the code on my machine and could post it on Github. I never knew people cared. Thanks for pointing it out so clearly. Some nuance: I'm a CS grad, so this perspective is relative to that. Weak: SQL optimization, I have no clue. Mediocre: SQL itself, I understand everything at sqlteaching.com and I never had an issue at work doing SQL. Strong-ish: ORMs, read the API documentation and then it's just programming. I've experienced SQLAlchemy (Python) on a side project, Hibernate (Java) at work and Sequelize (NodeJS) when I taught at a bootcamp.
- WhompingWindows 7y agoSQL optimization is a bit overrated, IMO. I code in SQL and R daily, and my experience is that most SQL scripts, it doesn't matter if it takes 6 seconds or 60 seconds. What matters is deeply understanding what your row is, how to join other data onto those rows, and how to effectively communicate/analyze the data after you get your final dataset. If you can't do the last step, it doesn't matter how fast your code runs, unless you're specifically tasked with speeding up legacy code or something like that.
- perl4ever 7y agoI think I have a good understanding of SQL optimization, and it came from an environment of writing endless adhoc SQL for database updates and reports, where, no, it didn't matter in the least if your query took 6 seconds or 60 seconds. But the challenge was to write and run a query in a matter of minutes and not hours, or days, or weeks, and not to spend time on false starts or elaborate queries that left you uncertain if your results were correct. When I first started, I would write something, and start it running, and wait. And then after five minutes, you're thinking, well, I have to finish this within half an hour, is it going to take 10 minutes or weeks, in which case I need to try something different? But then, if I cancel it, was it about to finish, in which case I wasted five minutes, and if I do that three times, it's going to be late? I've seen queries where the time estimate goes in reverse and it starts out predicting 2 minutes to finish and 10 minutes later it's saying days or weeks. And the results were needed ten minutes ago. Optimization becomes important when you're talking about several orders of magnitude, and opportunities are all around in a business environment. I was given a report script in T-SQL once that did the job it was supposed to adequately on a few hundred (maybe thousand) documents but my manager wanted to run it on all the things - millions of documents on hundreds of databases. It turned out to be very doable, but required changing a largely procedural script that ran SQL in a loop to a single query that was something like 10,000 times faster. Worrying about 6ms -> 6s -> 6min isn't the environment I'm used to. It was always about human scale time - will it be done in 15 minutes, will it be done by the court deadline tomorrow, will it be done this week, or this month. What I learned from an inhumanly talented analyst was that the Oracle optimizer is the enemy of performance and predictability, and the way to get reliable, fast results is to break down things into simple queries and temp tables and ignore gurus like Tom Kyte that say all those fancy database features are there for a reason and you should write beautiful multipage masses of SQL. (someone like Kyte would also say if the optimizer is fighting you the database is configured wrong, which might be true but is utterly unhelpful in what I consider the real world where the admins exist to tell you "no" or ignore you)
- csomar 7y agoI think 1. companies are burned out with CS grads who simply can't code 2. companies are burned out from new employees just learning the job and then jump somewhere else and 3. companies are looking to on-board you as fast as possible. A few problems you should be working on: > nobody cares that I fast-tracked > in terms of crystalized intelligence > But my portfolio is rather terrible > compared to what I'm capable of [*hint: Unless you did something that you can't show publicly, what you are capable of is nothing if what you did in terms of production is nothing] I think you are over-confident when it comes to your skills.
- BurningFrog 7y agoAgreed. I thought I was a really good programmer leaving university. Now I know I was useless the first 3 years. I only became someone I would consider hiring now after 5-7 years.
- melvinroest 7y agoI don't think I'm a really good programmer. I just think I'm capable of CRUD. I have a friend who thought he was a really good programmer because he worked on clang and created LLVM extensions and stuff and knows a lot about C++. He came back from that a little, not much, but a little. I wonder how you were useless and why you couldn't see that beforehand. Because I would like to be capable of diagnosing whether I'd be useless for the first 3 years. As in: what am I not seeing?
- BurningFrog 7y agoThe things I didn't understand that I suspect are universal are 1. It's not about writing code that works. That's the bare minimum. The real game is writing readable and maintainable code. 2. I had no clue that the most important thing isn't writing the code, but to work well as a team. Also, I was just plain inexperienced. I had written a fair amount of code, but nothing like what you learn from doing in 40h/week, year after year. Raw talent is good, but it can't beat raw talent + experience.
- WhompingWindows 7y agoHow many apps did you submit? I'm curious on those numbers myself, not that I'm a Dutch CS grad (American epidemiology, actually), but it'd still be interesting to see that.
- melvinroest 7y agoSorry, submit where? I don't get what you mean by submitting, you mean on HN? Doodledocs is the only one. Apps I've made over my lifetime are a lot less than I'd wanted to but here they are: 1. an ios app called Wordpin (I made it for a person who really wanted it) 2. an ios app called SIVT (psychology research thingy, it was a lot of fun) 3. A computer graphics engine (2012, still one of my best memories, Doodledocs is a close second): https://www.youtube.com/watch?v=PH6-dLvZEiA https://www.youtube.com/watch?v=PH6-dLvZEiA -- it was for a course but I spent a lot of time in it 4. Unfinished things like: https://melvinroest.github.io/Interactive-Neural-Networks/ https://melvinroest.github.io/Interactive-Neural-Networks/ 5. Way too many scrapers (I like data), the most fun one was a scraper that scraped a website in order to get a restaurant reservation (it was really tough getting in and I knew a foodie who really wanted a reservation there and I wanted to try out Selenium for any excuse imaginable) 6. Some games: one in Unity3D, one in GameMaker (with the scripting engine obviously) and one in Game Salad 7. A lot of websites, small websites most of the time but they add up. I remember I made a CRUD app that tracked all hackathons in The Netherlands. I liked making the app more than tracking all the hackathons. I suppose that's about it. Oh, 8. Doodledocs.com
- Droobfest 7y agoI think he meant job applications ;)
- melvinroest 7y agoHaha, whoops :D 30 EU 20 US I have no illusions about the US, but I try anyway.
- WhompingWindows 7y ago
- cletus 7y agoIt sounds like the company made the right decision based on your words alone. The tone of your description of their "CRUD applications" comes across as dismissive. What the company wants is people who are happy to work there or at least not unhappy enough to leave (and, even better, will keep their unhappiness to themselves). The company wants this more than technical ability. You might be really talented but it seems like you'd be unhappy there. Perhaps that's not the case and you're just bitter about the rejection? But don't make the mistake that the the sole purpose of recruiting is to find the most technically capable people. It's not. It never was and it never will be. It's to find people who will fit the company's goal of coming to work, doing their job, going home and doing the same thing day in and day out. You may well be bored developing CRUD apps. If I was an interviewer for that company I'd certainly be worried about that. Isn't that a possibility here?
- melvinroest 7y agoNote: I see you're being downvoted. While your comment may sound harsh, I see it as well meant advice and take the candor of the message as something valuable. And now that I think of it, I can definitely see that I come across as submissive. I'm reflecting on myself on whether I am dismissive, which I find very tough to answer (on the one hand no because CRUD apps are valuable, on the other hand yes, because CRUD apps are simply not that complicated to other programming things? Such as concurrency, for example, I suppose making any normative statement as strongly as I do sounds dismissive and it probably is). I described one reason why I'd be fine with CRUD apps. There's another reason: at university I was always breaking my brain when I tried to learn programming. That intensified when I tried to learn security. I think it'd be nice to have a break and not break my brain that much. I'm not saying I wouldn't think at all when I'd do CRUD, or not face difficult situations, because I probably will. But compared to what I've experienced at uni, it's a pretty nice walk around the park and a lot less of a headache (from what I've experienced during my freelance gigs).
- perl4ever 7y agoSomething it took me a long time to see clearly - People talk about all sorts of things they supposedly need to have satisfaction in their work, but they are mostly red herrings. People get obsessed with benefits and qualifications and pay and titles and status and all sorts of nebulous things when they know they are missing something, but don't know what. What matters is a sense that you are doing meaningful work. All the other stuff, like the technologies you work with, the quality of your co-workers and management, the free coffee and lunch or lack thereof, will not provide substitutes in the long run. And, by "meaningful", I don't mean glamorous, change-the-world stuff that appeals to vanity. Clearing out drains (or the IT equivalent) is useful and meaningful. By lack of meaning, I'm talking about anything that amounts to digging ditches to fill them in again. Unfortunately, most job ads and recruiters assume that who you work for and why don't matter much at all - they just are looking for someone with a list of tech skills to plug in to a machine. So, I would say what's worked to some extent for me is temping and volunteering and getting to know different people and organizations.
- gwbas1c 7y agoYou have a common misconception: College / university is not a place to directly learn how to do a job. In the US, we have the term "trade school" for institutions that instruct people in skills needed for a career. (Usually people go to trade school instead of college.) Going to college is about getting an education, it's not directly preparing you for a specific career. You're expected to learn enough about a subject matter that you "learn how to learn," and more specifically, that you learn how to adapt to what the job market in your chosen career wants. So, you need to adapt! Some strategies are: Talk to family members with similar career paths to what you want to take. My cousin gave me very valuable resume (CV) advice when I was in a similar situation to you. (Basically, half of what my school told me about resume writing was wrong.) Talk about your situation with friends and find out what they did to get their jobs. In my case, a fraternity brother of mine told me that he posted his resume on a particular job site, and just got a call. I posted my resume on the same job site, and got my first job out of school. It also doesn't hurt to get a "beer money" job. I started working at a local retail store so I wouldn't go broke. I was only there for a few weeks. Some things that I haven't had to do, but you might need to do: Be more entrepreneurial! If no one will hire you to work for their company, why not try to run your own business? Consider a career change: I've interviewed A LOT of candidates, and some candidates just are in the wrong career. There's a certain "smell." They just misunderstand certain concepts, and appear to have a lot of trouble getting a job in software development. It's not my place to tell them they're in the wrong career as an interviewer. (BTW, I suspect that Laura Ward, from the article, is in a similar situation. She just might be trying to follow the wrong career path.)
- melvinroest 7y agoI'm beginning to notice one cause on why it's tough to find a job. People have pretty strong opinions (and that includes me, and your particular comment also seems pretty strong in its opinion). I'm not sure how it ties in yet, but I think the strong opinions differ a lot. Thanks for the food for thought. I kind of know what you mean with the "smell" thing. It's also clearly visible when I go to a company that I have no culture fit with.
- gwbas1c 7y ago
- zihotki 7y agoAs one of many others working in CS in NL and also partially involved in candidate evaluation process, I can say that on Dutch IT job market as anywhere else the value of a diploma is low but value of skills is high. Proper CV with clear focus and skillset is a must. As an example, we're hired a graduate just a few days ago because he shown us good understanding of Angular and did an assessment well. Last year another graduate was hired because of the same reason. My wife doesn't have a CS degree, she studied programming for a year and a half from basics at home, put about 3-4 pet projects on github and also got hired within 2 months during a dead season for job market (july-august). So if you want to be hired, you should pick some popular amongst business language and framework (WebRTC is nice but it's a very niche), polish your skills, create a few simple pet projects, polish your CV (it doesn't need to be fancy and long, just clean and to the point) and you'll succeed. Also don't be afraid to ask feedback after you was rejected or not called back. May be there is something you don't notice which leads to rejection.
- melvinroest 7y agoThose are really good tips, thanks for sharing! I do find it interesting to note that I'm not getting an algorithm/data structures vibe in The Netherlands as much, and your story just seems to support that idea. However, that US-centric narrative is a bit of a mainstream narrative on HN.
- michaelbrave 7y ago50% rejection means you are doing great actually, most people get a 10% or less callback
- melvinroest 7y agoI verified this with someone else. Thanks for stating this. I’ve had a huge baseline fallacy.
- melvinroest 7y agoThank you all for your feedback and advice. I really appreciate it. I also appreciated how you were being honest about things.
- eqdw 7y agoI had the same problem in Canada. Then I moved to the US. Now I have recruiters begging me to come work at their company at least once a week. You should move to the US, it'll be much easier to find work
- geodel 7y agoHow do you manage living in US. HN tells me that living here is terrible in every possible way compare to Canada and even more terrible compare to Europe?
- imtringued 7y agoBy having a lot of money.
- melvinroest 7y agoI wanted to go to the US for at least 4 years now, and I've applied to a lot of US companies. It's tough as a European CS grad to do that (or I suppose at least when you're me). You can't just move to the US. Not as an above average CS grad with some experience in web development and code bootcamp instructor. I even applied to Full Stack Academy 2 years ago while I was still teaching at The New York Code + Design Academy as a lead instructor, they never sent anything, and I think that's mostly because a H1B visa is hard to get for a company, not because I lacked the skills (that's my optimistic guess anyways).
- tenpoundhammer 7y agoTLDR; The cost of a bad hire is extremely high and not worth the risk. I'm a team lead and do a fair number of interviews. It's amazing how many people can talk about their experience and make a ton of really impressive statements that makes it appear as though they are knowledgeable and then that person can't perform a simple coding exercise. On the other hand, it's equally amazing how a person can do an excellent job coding but not be able to get through basic day to day human interactions with their peers. If a candidate falls into either of these camps, they are an easy no hire. If a hiring manager ends up hiring a candidate that is difficult to work with either because they can't code or because they have poor social skills, it can be very costly. It often takes several months to find out that you made a bad hire. By the time you figure it out it's often taken a large toll on the team and can lead to productive team members leaving. When you finally find out that you've got a problem most companies have a huge process to go through for firing that person and that process is super intensive and takes months. Not to mention how emotionally difficult it is to tell someone they are so bad they have to be fired. All that to say, the cost benefit analysis is clear only hire people that will over time be a net gain. Don’t take any risks ever. If I were a recently graduated software engineer, I would be hedging against these risks in every way. I would produce a lot of code in the area I’m seeking to be hired. I would work a lot on being friendly and carefully choosing my words, so I don’t sound like a know it all or a person who enjoys conflict. I would prepare statements about my goals of how I fully intend to spend at least 3 years at this job if conditions allow, and I would practice being humble. No one actually expects you to spend the next 3 years at a job if it’s not going well, you just need a way to express that if it’s a good fit you intend to stay put and do a great work. 3 years is just an arbitrary number.
- melvinroest 7y agoThat clears a couple of things up: 1. I understand the conservatism now. Just imagining emotionally drained people feels a bit exhausting. 2. The strategy you outline makes a lot of sense. They all follow the principle: don't be a risk, and don't come across as one either. If you are a risk, then de-risk yourself.
- tenpoundhammer 7y ago
- deleted 7y ago[deleted]
- ericmcer 7y agoOne difficulty for new grads is that your CS degree teaches you a skillset that puts you up against an extremely experienced segment of the dev population (Java & C/++ programmers). If you focus on something more modern and nuanced like modern iOS dev or modern frontend dev you are going to be competing with people who can't have more than a few years experience just by default.