|
Rebus posted:I'm semi-tempted to pursue a career developing embedded software for one of the many motorsport companies in my local area (southern UK). There are some high-profile F1 teams nearby that I've applied to but it seems like there may be some form of 'supremacy' they're after and I don't get many formal replies. (I did actually get an interview at one but the position turned out to be a more SQL backend type thing I wasn't interested in). sorry can't help you in regards to motorsports, but how are you not asking for more now that the pound has dropped? i know salaries in england/uk aren't really that great overall for tech, but given the brexit I would consider bumping your price. i don't know the COL in southern uk but £50k is only worth about $67k, and i earned that much by my 2nd year (granted in a high COL city). i'm always confused when i see the COL of say, london, and the salaries people make for a company there. london is expensive isn't it? why are people only getting paid almost half my salary over there? on news related to that ($). i just got an offer from a big company but they are still asking me for salary. i stonewalled them a bit and then the recruiter said he'll tell my manager that i don't want to name my price and will try to come up with an offer after speaking to him. kinda sounded like he was going to tell the manager that i'm uncooperative, but i guess we'll see how that works out. i looked up their range on glassdoor and it seems like they barely match compensation for a startup so im not sure which way ill go on that.
|
# ? Jun 29, 2016 18:02 |
|
|
# ? May 13, 2024 11:36 |
|
Strong Sauce posted:sorry can't help you in regards to motorsports, but how are you not asking for more now that the pound has dropped? i know salaries in england/uk aren't really that great overall for tech, but given the brexit I would consider bumping your price. i don't know the COL in southern uk but £50k is only worth about $67k, and i earned that much by my 2nd year (granted in a high COL city). National salaries don't tend to rise or fall based on short-term fluctuations in the currency, dude; after all, most of said salary is spent in the UK on things that cost pounds. Under normal circumstances that's more like $75-$80k, which for the UK is pretty good.
|
# ? Jun 29, 2016 18:14 |
|
Comb Your Beard posted:It's primarily PHP though, which is nice. wat
|
# ? Jun 29, 2016 19:22 |
|
Comb Your Beard posted:It's primarily PHP though, which is nice. Kinda over Java. b0lt posted:wat But enough about languages that suck, let's talk about PHP. So I finally got a job doing what appears to be actual development work. It's in Java though, and I primarily know C#. I've read a few "Java for C# programmers" things but is there anything else I should watch out for other than Java just being a shittier C#?
|
# ? Jun 29, 2016 19:34 |
|
Urit posted:But enough about languages that suck, let's talk about PHP. Don't use == to compare strings.
|
# ? Jun 29, 2016 21:21 |
|
Eggnogium posted:Don't use ==
|
# ? Jun 29, 2016 23:04 |
|
Is == not aliased to obj.Equals(other) like it is in C#? It sounds like it does pointer equality instead from what you said.
|
# ? Jun 29, 2016 23:07 |
|
Java doesn't have operator overloading so == is always pointer equality for objects.
|
# ? Jun 29, 2016 23:29 |
|
Comb Your Beard posted:Is Shirlington to Tyson's Corner a manageable commute? It's through one of the most congested areas in the nation. Either you're gonna work really weird hours and still have a lot of traffic to deal with, or you're going to be miserable all the time.
|
# ? Jun 30, 2016 00:51 |
|
Rebus posted:I'm semi-tempted to pursue a career developing embedded software for one of the many motorsport companies in my local area (southern UK). There are some high-profile F1 teams nearby that I've applied to but it seems like there may be some form of 'supremacy' they're after and I don't get many formal replies. (I did actually get an interview at one but the position turned out to be a more SQL backend type thing I wasn't interested in). This sounds amazing. Wouldn't it be a case of doing anything, sysadmin if you had to, just to get in and make contacts and then demonstrating what other value you can add? I guess you could get stuck doing something you don't want to, but working in the background of an F1 team would be a dream job for me. Strong Sauce posted:sorry can't help you in regards to motorsports, but how are you not asking for more now that the pound has dropped? But that is temporary, surely. The UK is still the UK and still has the assets and value it did before the Brexit, it's just the market reaction which will rectify with time. Wouldn't there be crazy inflation nation-wide if it was a permanent thing? Surely a loaf of bread still costs the same as it before? Tony Montana fucked around with this message at 02:51 on Jul 1, 2016 |
# ? Jul 1, 2016 02:44 |
|
feedmegin posted:National salaries don't tend to rise or fall based on short-term fluctuations in the currency, dude; after all, most of said salary is spent in the UK on things that cost pounds. Under normal circumstances that's more like $75-$80k, which for the UK is pretty good. Tony Montana posted:This sounds amazing. Wouldn't it be a case of doing anything, sysadmin if you had to, just to get in and make contacts and then demonstrating what other value you can add? I guess you could get stuck doing something you don't want to, but working in the background of an F1 team would be a dream job for me. but that is not even the point though. you are applying for a job, you want more money, they usually ask why/for what reason. the brexit is not some random short-term flux in the market. who knows what will happen, but an argument could be made that you want to protect yourself from the current market and need more money to feel comfortable. Strong Sauce fucked around with this message at 17:20 on Jul 1, 2016 |
# ? Jul 1, 2016 17:06 |
|
Strong Sauce posted:but how is it temporary? it's been a week and it seems the market has corrected itself to the true price of GBPUSD. whereas before it was ~1.48, now it is at ~1.33. the pound already had its rally from the low point and where it sits now seems to be what it'll settle on. Sure, you can make that argument to a bunch of disinterested parties. But if you say that to your hiring manager, they aren't going to take kindly to it, since they don't magically get a raise whenever the currency goes down. It would be better to just say "I think I'm worth X because of my skills".
|
# ? Jul 1, 2016 18:09 |
|
Plorkyeran posted:Java doesn't have operator overloading Except for +
|
# ? Jul 2, 2016 01:08 |
|
Would this be the place to ask about sample interview questions? I'm looking at one that seems incredibly simple, but I don't understand the example they give. https://leetcode.com/problems/partition-list/ Why would the 4 still be before the 3? Isn't 4 a larger number than 3? The same thing happens in the example given in CTCI so I'm guessing I don't fully understand their question or the concept, and that it's not just an error.
|
# ? Jul 3, 2016 20:53 |
|
All the numbers that are strictly less than 3 have to come before all the numbers that are greater than or equal to 3.
|
# ? Jul 3, 2016 21:02 |
|
ultrafilter posted:All the numbers that are strictly less than 3 have to come before all the numbers that are greater than or equal to 3. Oh. Thanks. Well that makes it even easier.
|
# ? Jul 3, 2016 21:06 |
|
Good Will Hrunting posted:Would this be the place to ask about sample interview questions? I'm looking at one that seems incredibly simple, but I don't understand the example they give. Read it carefully: all nodes less than x come before all nodes greater than or equal to. A node with value x falls into the latter category, at which point all that matters is that nodes within the category remain in original order. Since 4 came before 3 in the original list, it will be before 3 in the partitioned list. e:f;b
|
# ? Jul 3, 2016 21:07 |
|
Tony Montana posted:This sounds amazing. Wouldn't it be a case of doing anything, sysadmin if you had to, just to get in and make contacts and then demonstrating what other value you can add? I guess you could get stuck doing something you don't want to, but working in the background of an F1 team would be a dream job for me. Yeah that has crossed my mind - it does look as though that it's often the case that people get their foot in their door then transfer when the opportunity arises. There aren't really any positions at the moment I could jump on but keeping my eye out just in case. Re: fluctuating pound - practically zip I can do about it. The guy I'd be complaining to is in the same boat after all (and the guy above him too...).
|
# ? Jul 5, 2016 13:22 |
|
Serious question: what do I do when a recruiter requests my LaTeX resume in Word format lol
|
# ? Jul 6, 2016 17:09 |
|
Good Will Hrunting posted:Serious question: what do I do when a recruiter requests my LaTeX resume in Word format lol Big fat nope. They want to edit it and insert keywords and poo poo and lie about your experience. In my experience that is.
|
# ? Jul 6, 2016 17:12 |
Convert it to markdown then print to PDF
|
|
# ? Jul 6, 2016 17:13 |
|
I've just been sending it as a PDF to most places, which hasn't been an issue.
|
# ? Jul 6, 2016 17:15 |
|
Good Will Hrunting posted:Serious question: what do I do when a recruiter requests my LaTeX resume in Word format lol I just say "I don't use Word to build my resume - I can only provide it as a PDF file." and if that's a problem for them, then you didn't want to work with them anyway. aBagorn posted:Big fat nope. My experience (from seeing it on the hiring manager's desk) is that they want to replace the header with their contact information and company's logo, but I've been forcing them to use PDFs so I haven't seen any egregious editing past a very poorly formatted/stretched logo pasted atop my email address/phone number.
|
# ? Jul 6, 2016 18:01 |
|
Good Will Hrunting posted:Serious question: what do I do when a recruiter requests my LaTeX resume in Word format lol I use LaTex to make my resume, and render it to PDF. When going for a role through a recruiter, they asked for it as a Word document and I refused. I was interviewing (video call) with a company through that recruiter, and the interviewers didn't understand something on it. I had no idea why, I had a copy on screen and the part they were talking about seemed totally clear. After some discussion we realised that the recruiter had manually transcribed the whole thing to word, messed a bunch of stuff up, and added their logo. I sent them the real one and it turned out mildly funny.
|
# ? Jul 6, 2016 20:58 |
|
I had an fun interview where they were asking me questions about skills that the recruiter had added to my resume without my knowledge. Even PDFs aren't safe.
|
# ? Jul 6, 2016 21:54 |
|
are you guys talking about external recruiters?
|
# ? Jul 6, 2016 22:22 |
|
Strong Sauce posted:are you guys talking about external recruiters? Headhunters, yeah. You give them your resume and then they shop it around to a bunch of places, and they get paid a commission (by the hiring company) if you get hired.
|
# ? Jul 6, 2016 23:21 |
|
good jovi posted:I had an fun interview where they were asking me questions about skills that the recruiter had added to my resume without my knowledge. Even PDFs aren't safe. If you're really worried about this, you can digitally sign your resume and add text to that effect somewhere like a footer.
|
# ? Jul 7, 2016 00:26 |
|
i've had internal recruiters at huge companies gently caress with my cv too, a lot of internal recruiters have aggressive quotas they have to hit
|
# ? Jul 9, 2016 07:04 |
|
guess I should post in this thread, instead of the Newbies thread, since I have 2+ years of experience now. I’m just looking for a bit of advice on how to avoid feeling so burned out already about software development. That's the tl;dr version, here's the long version: A bit of background, I got into development a bit later (I’m 31) and my first job was pretty nice. I worked on a huge .NET healthcare web application and learned a ton. It got a bit stale since after a while I was doing was writing the same type of backend C# over and over, but it was great for a first job. I was there for a year and a half. After that, I moved to another city with my wife, to settle down closer to family, and so I took a job with a big defense company, which was a horrible disaster. There was almost no structure, no clear requirements or any way to clarify what was wanted, the other developers seemed to not know almost anything, and on and on. I also was unable to work for the first three months since they only had one project for me to work on and the initial requirements were delayed. Anyway, after 6 months there, I started a new job at a software company, about a month and a half ago. I’m working on a WPF business management application. And it’s…ok. But I find myself feeling really burned out and not at all excited. The code base seems kind of sloppy and disorganized, they use stored procedures for everything, and the whole thing just seems so blah. Every small change seems to require slogging through a lot of spaghetti code, but maybe I just don’t understand the code base well enough yet, and I realize that every job and company is going to have its issues. I certainly can’t jump jobs again, at least for couple of years, so I’m just going to stick it out and see how much I can learn. Has anyone gone through similar situations or feelings and have advice and how to proceed?
|
# ? Jul 19, 2016 21:57 |
|
Three job-hops in a short timespan is pretty problematic, yeah. It's unfortunate that you've had bad luck with the jobs you've landed. My advice though is that you can't power through burnout; you'll just end up making the problem worse. So I'd suggest trying to see what you can change about your work to make it more palatable. Can you lead an effort to refactor the code and make it easier and more streamlined to make improvements? Pitch it to management as a way to improve project completion time and responsiveness. Of course they might still say no, but better to ask and be rejected than to not ask at all. Mind, you don't want to be the new guy who comes in and says "okay cool, now let's rip it all out and start over". Make certain your pitch identifies how to get from where you are now to where you want to be, and that there's as little time as possible spent with a "broken" system waiting for you to replace some critical component. Ideally there will also be clear gains at each step along the way, and you start with the biggest pain points so the greatest gains are realized as quickly as possible. Also, for future reference, these kinds of things are the stuff that you want to be asking about when you're interviewing somewhere. Talk to their devs and find out what their workflow and project management is like, ask what they think of the tools they're using, ask to look at some of their code (they may refuse or require an NDA, but it doesn't hurt to ask), ask for examples of the kinds of projects they've been doing lately and what their completion rate is like. Devs won't be able to directly say that they're not happy, but you can usually tell if someone doesn't like their work -- and if they aren't able to satisfactorily answer your questions, then that should be a huge red flag. I'm not saying that you should have known better than to take the job, just that one of the things you can learn from this job (and your past other jobs) is how to avoid getting into a similar situation in the future.
|
# ? Jul 19, 2016 22:09 |
|
Doghouse posted:The code base seems kind of sloppy and disorganized, they use stored procedures for everything, and the whole thing just seems so blah. Every small change seems to require slogging through a lot of spaghetti code, but maybe I just don’t understand the code base well enough yet, and I realize that every job and company is going to have its issues. I certainly can’t jump jobs again, at least for couple of years, so I’m just going to stick it out and see how much I can learn. I would also welcome advice on how to deal with this type of codebase - in my case, it's relatively new, but very very poorly architected and untested. If it were just me and I had 3-6 months, I could probably refactor it into something more legible, but I'm working with two devs that are new to the framework (and in one case, language).
|
# ? Jul 19, 2016 22:38 |
|
vonnegutt posted:I would also welcome advice on how to deal with this type of codebase - in my case, it's relatively new, but very very poorly architected and untested. Of course, this led to "2-worlds"; I didn't love having to fix things in the older code base, but for any task where I could justify it, it served as a way to rewrite, or in-place-upgrade, the existing code. It was an easy sell to management given this approach allowed us to scale better (application servers instead of web servers), was more reliable, and functionally made sense. It has been working far better than the old monolith. If your team doesn't really have a certain level of experience, I'm not sure it will be easy. These are the kind of architecture decisions that only come from many years in the industry.
|
# ? Jul 19, 2016 23:56 |
|
Refactoring old or unfamiliar code? Pick up this book if you haven't done it before. I try to understand the codebase as much as I feel like I should to be able to be productive, and one of the easiest ways to get acclimated to a codebase is to write or fumble with existing tests. If you don't have any tests, you can't break anything, after all. If you're modifying test code, then you should start getting a feel for trivial cases then edge cases as you modify something you don't think you understand. Almost nobody is all that productive with a codebase they haven't had a hand in for at least a week in my experience. Once you have a sufficient number of tests, you can start to refactor functions and components. This may take months, maybe even years, but if you keep adding at least a few tests per week and can catch up to the number of publicly available exported functions, you should actually finish. Of course, this usually doesn't make sense to do alone, so you can try to carve out a component and gain authority and leadership over it and prove your component as quite reliable and easier to maintain. Nobody should give you authority unless you've proven capability, after all. Architecture decisions should be a last resort and are something I view as a form of premature optimization. You probably don't need MongoDB or some other NoSQL database for your pet fart mobile app backend, and even if it does become an overnight sensation, scaling these systems horizontally and vertically is super-well known and can be Googled pretty darn easily with basically step-by-step instructions. Unless your MVP more or less involves performance guarantees with really high minimum level of scale proven (say, some data crunching system that's supposed to replace an existing one that's already massive) YAGNI applies strongly. If you're feeling burned out, you probably need to work on some things outside work more to impact your attitude and malaise at work given it's mostly about attitude than anything else. As a warning, a lot of people will re-write code perpetually mostly because it doesn't seem "modern enough" even among experienced developers. One company I was at before had about 3 generations of teams mostly independent from each other look at the same codebase across maybe 12 years of ups and downs with multiple lay-offs, and each team re-wrote what the previous team did for basically no new features the whole time. For starters, it started out as a Java application with CORBA and RMI cobbled together, then became an ASP (not ASP.NET) application, then a Silverlight-based application, and last I heard it was being converted to use WPF. This dynamic mostly happened because there was nobody that knew the codebase each time a new team was formed after the company sat dormant for maybe a year while new funding was sought.
|
# ? Jul 20, 2016 01:13 |
|
necrobobsledder posted:Refactoring old or unfamiliar code? Pick up this book if you haven't done it before. I try to understand the codebase as much as I feel like I should to be able to be productive, and one of the easiest ways to get acclimated to a codebase is to write or fumble with existing tests. If you don't have any tests, you can't break anything, after all. If you're modifying test code, then you should start getting a feel for trivial cases then edge cases as you modify something you don't think you understand. Almost nobody is all that productive with a codebase they haven't had a hand in for at least a week in my experience Thanks! That makes a lot of sense, I've always worked on heavily tested codebases so finding out that this one ...didn't...have...any really raised some alarm bells. My first reaction was to set up a testing framework, so at least it will be possible to backfill the tests, even if it takes forever. I guess my main issue is, I don't know how to communicate to the other devs that this all needs to happen - the ones on my team are on board, but the team that originally started the project are the ones who didn't think tests were important and are fine with the status quo. Is this something that can be fixed or is this a sign to start updating the old resume?
|
# ? Jul 20, 2016 14:19 |
|
If someone is against test code and they're reasonably not insane, they usually are coming from a perspective where it's reasonable. I, myself, felt this way oftentimes for a lot of projects where each line written, including test code, was code reviewed by committee that I just didn't want to deal with that crap and didn't write anything besides integration tests that served as "how to use this library" code. I'm against writing new code unless I must, so writing a new framework sounds like a Bad Idea without any other knowledge. You wind up having to document it and spend more time writing docs than actually coding - why not use an already-documented framework like TestNG, JUnit, etc. for Java or Specs2 for Scala, ad infinitum? Even with embedded C code I found a test library and used it to better test some of my inner loops for performance and outer loops for missing tests of exported functions (nevermind that some of these tests wouldn't work unless a device was attached and configured a certain way, so repeatability went out the window). One way I explain tests to people that don''t believe it's worth the test coverage and TDD approach is that tests provide a living document for how to use your codebase at the very minimum (it shows potential bugs encountered in the past, tips and tricks, etc.) - it is documentation for other programmers that should stay current. High-level documents where architecture is explained lives outside code and is best outside it, but the nitty gritty should stay as close to the code as possible. Programmers often complain about why someone did X and Y, and tests give us a way to redeem ourselves to some degree at least. I don't care so much about unit tests in statically typed languages but starting with an integration test that exercises a bunch of stuff together isn't a bad start and can help isolate bugs across different components.
|
# ? Jul 20, 2016 15:08 |
|
You can look for another job, but most likely the codebase will also be lovely. The codebase is always lovely, and the coworkers usually are too. The main things that'd keep me at a job are good pay, respect for normal work hours, and the opportunity to improve my skills and broaden my knowledge while working on the company codebase. At every place I've ever worked, the company was hiring because the codebase was lovely. Either the old developers had disappeared or they needed more people to work on software that was spiraling out of control. It's always some combination of actors. On the one hand, there's ignoramus developers who couldn't do a good job on anything because they don't read books about software design. On the other hand, there's bad managers who put things on impossible timelines because they don't respect their technical staff and don't know how to plan anything.
|
# ? Jul 20, 2016 15:10 |
|
Thanks for all the advice, good stuff.
|
# ? Jul 21, 2016 02:40 |
|
necrobobsledder posted:
Just to be clear, when I said I set up a test framework, I meant I added a preexisting test library and a config file and wrote some example tests. I'm not crazy enough to try to roll my own! I took a look at one of Michael Feather's talks about working with legacy code last night, and it makes sense. Don't start changing existing code immediately, add any new features properly (follow language and framework conventions, test thoroughly) and isolate them from the legacy code base, and start writing tests to make sense of what's going on. The codebases I've worked on have been fine up to this point, but I have never seen anything like this. Almost all the code is in one file (in a framework that highly recommends against this) there's dead code all over the place, both commented out and not, and the version control consisted of one massive commit done about once a month.
|
# ? Jul 21, 2016 21:47 |
|
|
# ? May 13, 2024 11:36 |
|
vonnegutt posted:Just to be clear, when I said I set up a test framework, I meant I added a preexisting test library and a config file and wrote some example tests. I'm not crazy enough to try to roll my own! I would recommend purging all commented dead code. No telling how long that's been there or what's changed in the interim. I'd then remove other provably dead code. Good luck with it.
|
# ? Jul 21, 2016 22:01 |