|
Rocko Bonaparte posted:Top tl;dr here: What kind of stuff would you say a successful Linux kernel developer can do in regular day-to-day stuff? I kind of want to compile a list of skills to move towards. In the embedded space, Linux kernel jobs fall into one or more of these categories: - Take an existing reference driver and tweak it for a specific product/configuration. - Building a Linux system from scratch using Yocto or Buildroot. - Building/configuring a kernel and device tree for a specific platform. - Building/configuring the bootloader (U-boot, hacking in a splash screen, etc.). - Tuning a Linux kernel for use in an Android system. - Reviewing schematics, processor specs, product requirements and advising the EEs and project managers which platforms are suitable for a task and which are not. - Linux application development (who better to do this than the person who already "knows Linux"?). If I were to spitball a number, I'd say that at least 90% of what is out there is going to be building a Linux setup with Yocto, getting a device tree sorted out, and application development. Most of that is coming from a vendor BSP and tweaking it for your use. Most places aren't making custom hardware that requires a unique custom driver, though they may need driver tweaks, so hacking on existing drivers happens from time to time. Ultimately, it is going to be getting the "plumbing" set up and running so that the Linux application developer can do the useful part of the product. There is also the planning of the partitioning/boot scheme, so you can wean yourself off of the microSD card boot of a BSP into an emmc-based boot of a final product. Beyond the embedded space, you're probably looking at straight-up driver work to provide Linux drivers for specific hardware. Once again, this is going to focus on tweaking a reference driver of some sort. On the bright side, the embedded space is pretty awesome. I've crammed Android and Linux onto vending machines, pinball machines, mass spectometers, in-flight entertainment systems, set-top boxes, and at least half-a-dozen personal projects. Skills to learn: - Building/configuring a kernel from source. - Looking through the Linux kernel mailing list (LKML), finding patches, and applying patches to your own kernel. - Hands-on experience interfacing SPI, I2C, GPIO peripherals to a Linux system. Get a Raspberry Pi or BeagleBone and breadboard some circuits together with stuff from Adafruit. - Writing user space Linux applications that use the spidev driver and i2ctools to talk to hardware. - Qt is pretty popular in the embedded space for UI work. That isn't a bad place to start for building embedded apps. - Configuring a kernel to trim out everything that you don't need and statically linking every possible thing that you can. - Debugging for kernel development. The sky's the limit. Logging, oscilloscope, logic analyzer, blinking LEDs via GPIOs? Read some blogs and get some ideas. If someone has guidance for Linux-specific job details on customizing containers, optimizing kernel/filesystem for cloud, etc., throw your two cents in here. I'm only coming at it from the embedded angle. hendersa fucked around with this message at 14:23 on Aug 2, 2021 |
# ? Aug 2, 2021 14:12 |
|
|
# ? May 30, 2024 13:07 |
|
Lol how is web dev considered? Saturated? Boring?
|
# ? Aug 2, 2021 14:21 |
|
Web dev? Psh, I'm doing API backends in http
|
# ? Aug 2, 2021 14:36 |
|
BlackMK4 posted:I kinda lurk this thread, but the general idea is 6 years of experience, useless associates degree, and $145k at a small company (~50 employees, 12 devs) in Phoenix. I started out FE and basically have never said no to anything so I've always been the person that people go to when they need something to get done even if it isn't something I've had experience with. I generally get handed complete features to implement end to end, but the main focus has been BE over the last year and a half or so due to where the company has needed the most work done. We are Angular 12 / .NET MVC API using linq2sql; slowly converting to .NET Core / Dapper. I'm not sure of pay scales or cost of living in your area but this actually sounds fairly decent compensation-wise. Are your annual pay increases competitive or just generic 3% every year?
|
# ? Aug 2, 2021 15:02 |
|
Rocko Bonaparte posted:Top tl;dr here: What kind of stuff would you say a successful Linux kernel developer can do in regular day-to-day stuff? I kind of want to compile a list of skills to move towards. https://www.youtube.com/watch?v=7pmXdG8-7WU BPF is changing the game for Linux observability, networking, and DPDK-like kernel bypass stuff. If you're interested in high-performance cloud applications running on Linux, I expect having a passing knowledge of BPF will eventually become a necessity, and right now would make you quite marketable. You'll need some Linux kernel knowledge to write effective BPF software, but the idea here is that you're not compiling the kernel from scratch or even writing kernel modules that could bring down the entire system. Star War Sex Parrot fucked around with this message at 16:54 on Aug 2, 2021 |
# ? Aug 2, 2021 16:49 |
|
downout posted:I'm not sure of pay scales or cost of living in your area but this actually sounds fairly decent compensation-wise. Are your annual pay increases competitive or just generic 3% every year? I haven't done a ton of research, but I think it is really competitive locally for the experience I have. I have been receiving 10%+ annual raises and they would really like to retain me. This is definitely one of those cases where I could comfortably stay but I'd like to see what else is out there in terms of larger companies and different industries.
|
# ? Aug 2, 2021 16:50 |
So I'm in a weird spot career wise. This is more of a rant.
First off, I don't really like having HR responsibilities at all. I'm not bad at it, but I just feel very stressed trying to manage other people. Helping other developers is one thing, being responsible for their production is different. It's easy with some devs, but anybody could manage them, it's the problem cases that drive me insane. I also dread having to fire/discipline/hold back. Combine this with a lack of ability to offer any meaningful reward(raises and bonuses capped at 2%, promotions and additional raise requests are always rejected) and it's really crushing. Second, from a project management perspective this role is not fun. Priorities change constantly. Seemingly pointless projects are blown up with promises made to clients. Most end up being rush jobs. Vendors are chosen poorly, often providing little benefit over existing in house solutions. Process is also extremely heavy, with a lot of emails going out making sure seemingly meaningless guidelines are being followed despite not really ever being documented. Resources are often tight, not just in development, but in analyst and QA spots as well. Often resulting in rushed requirements, rushed testing, and problems in production resulting from those. Some projects get project managers assigned to them, which is nice, and reduces some of this load. However, a lot of these projects Third, I feel like my skills are stagnating. I'm not going to go too much into this, but I haven't really been able to add anything new professional experience wise in this position at all. Just more years overall. Fourth, I really think that considering the role, my level of experience, etc I could get paid more to do less. I really prefer doing more hands on work, less delegation, and ideally little to no HR type management. But I don't know that for sure. All these things combine to really crush motivation. I still get work done, but it feels like I need to drag myself to do it. I'm trying to up my own motivation by focusing more on tech debt projects where I can develop with new things to keep myself engaged, but priorities often prevent me from doing this as much as I'd like. I think I might just need a change of scenery, and I've started looking around at other jobs. The market seems to be good right now, but it seems like it always is for developers. One thing throwing me off is all the remote jobs that seem to be available now, making it possible to consider a lot more positions rather than just be stuck with whatever is in my area. It almost feels overwhelming. I've been using Indeed to hunt, is there a better place, especially for remote? I'm generally trying to ignore/avoid recruiters, as my past experience with them hasn't been excellent. Is there a particularly good way to gauge salary nowadays, it really seems all over the board looking at advertised salary ranges. I know some of it is region based, but often within the same region it often seems nonsensical.
|
|
# ? Aug 2, 2021 18:07 |
|
wilderthanmild posted:So I'm in a weird spot career wise. This is more of a rant. salary variation is cuz peeps havent gotten w the program of figgieland companies offering figgieland figgies to non-figgieland peeps, really. levels.fyi isn't lying and they take systematic action to not be lying. i mean, it'll make your eyeballs pop if you're gettin 120k w 10yoe but they aren't lyin
|
# ? Aug 2, 2021 18:20 |
|
If you're a manager then you're not going to be able to dedicate your time to much technical development, unfortunately. If you like the technical stuff more than the HR stuff and still want to technically develop people without any HR component, maybe aim for an architect/principal role elsewhere. You're right that you can get paid more doing less, 120k for a manager seems very low.
|
# ? Aug 2, 2021 19:17 |
|
In my experience, I've watched many senior engineer ICs try out management and then return to IC work, either at the same company or as part of moving to a new company. Heck, I've done it myself. Gave management a whirl, wasn't for me, at least not at this time. Got a new job going "backward" to a senior IC and got a big ol' comp increase with it. From what I've seen, there is a near-constant need for good engineering managers, and senior ICs frequently get propositioned to transition into management. Some engineers see it as a "promotion" opportunity, but it's really more like a track change. It also seems like the door is almost always open if you want it, too. The need is just so great. I've only had a handful of great EMs, but a lot of mediocre ones, and several newbies that flamed out before returning to ICs. But management is a different job entirely from being an engineer, which is why I think so many engineers that do try it bail on it after a year or two. And fortunately many top companies have super-senior IC tracks that with a compensation scale similar to middle management. Though the management ceiling is still ultimately higher when you get to director level and above. Anyway, my point is that if you want to dedicate yourself to being more technical you can absolutely do it. Dust off the cobwebs and sharpen the skills a bit and apply for IC roles (and get a big raise while you're at it). I don't think most people will begrudge you for it. Your story isn't that unique. And if you end up wanting to eventually do more management, that will always remain an option, too. Guinness fucked around with this message at 19:34 on Aug 2, 2021 |
# ? Aug 2, 2021 19:29 |
|
Guinness posted:In my experience, I've watched many senior engineer ICs try out management and then return to IC work, either at the same company or as part of moving to a new company. Heck, I've done it myself. Gave management a whirl, wasn't for me, at least not at this time. Got a new job going "backward" to a senior IC and got a big ol' comp increase with it. I'm in this position myself now and I don't want to do management where I'm currently at, so I'm looking at IC and Management at other companies withthe good ol' comp increase across the board. Going from IC to management might as well be considered a new career tbh. Different skills for sure and imo most people suck at it.
|
# ? Aug 2, 2021 19:45 |
|
I applied for a management role at my current job a few years ago and didn't get it. I'm endlessly grateful now, seeing how the program is floundering and the current management are incapable of addressing the systemic problems. I would have had to do my existing tech lead job but also hire and fire and do project planning and budgeting which would be awful. It would have been an ego trip for me but not much else. That being said, the management track at this company is very traditional and they tend to hire career managers with no technical experience so I clearly wasn't a great fit from the beginning.
|
# ? Aug 2, 2021 20:29 |
|
Anyone here have any good advice for bouncing offers off of companies? I am lucky enough to be sitting on about 4-5 offers. Should I try to push for signing bonuses, raise in base pay. What else can I ask for?
|
# ? Aug 2, 2021 20:32 |
|
PaganGoatPants posted:Anyone here have any good advice for bouncing offers off of companies? I am lucky enough to be sitting on about 4-5 offers. Should I try to push for signing bonuses, raise in base pay. What else can I ask for? More vacation. If remote, office equipment reimbursement, internet / cell phone reimbursement
|
# ? Aug 2, 2021 20:43 |
|
Comb Your Beard posted:Man I gotta give up being a primarily php developer. The pay I'm seeing out there is just peanuts. Kinda sad, I like laravel, like the query builder for SQL. I know other tech so I'm not totally lost. PHP has the bad, bad reputation of being the language of Wordpress. And yes, peanuts. You can stay in webdev, just learn golang, python, or even ruby plus a front-end framework and you're there. kayakyakr fucked around with this message at 23:01 on Aug 2, 2021 |
# ? Aug 2, 2021 22:54 |
|
Oh, so also I had a recruiter from Warner Media's coding department reach out to me for a Sr. Manager/RoR Tech lead role. The boring B2B side rather than the HBONow B2C side. I told them how much it would cost to move me from where I'm at and they noped right out. It really isn't that much, either. My ask is a 10% bump on my current TC as base + guaranteed bonus. But it's a reminder that not all major corps are paying worth a drat.
|
# ? Aug 2, 2021 23:01 |
|
Volguus posted:Question for the experienced: do FAANG companies (especially the F one) care if you use their products? I have an interview with facebook lined up and I don't know ... I never used it, never cared about it and I have no idea what they're doing there. Would that matter? Not that I would be able to pass their whatever interviews they have, but that's a different matter altogether, neither here or there. But if they deduct a point for not using FB then I wouldn't even bother. The first call with their recruiter was really short and seemed really focused on him selling FB to me and move on (maybe he's getting a bonus or whatever). Next call I will ask the important questions, but I thought I'd ping those in the know first. Last time I interviewed at Google one of the interviewers was asking me to design a certificate revocation system and he started with, "ok, so suppose your web browser -- what web browser do you use ?" and I said "Firefox" and he just stopped and blinked a couple times before he could remember that that was actually a real web browser still. I didn't get the job, but I don't think that hurt me.
|
# ? Aug 3, 2021 00:13 |
|
Mniot posted:Last time I interviewed at Google one of the interviewers was asking me to design a certificate revocation system and he started with, "ok, so suppose your web browser -- what web browser do you use ?" and I said "Firefox" and he just stopped and blinked a couple times before he could remember that that was actually a real web browser still.
|
# ? Aug 3, 2021 01:28 |
|
Vulture Culture posted:I'm guessing he realized 10 seconds into the question that he didn't know how OCSP worked, and tried to suss out if you'd call his bluff I have no idea either! Maybe I should use this interview question myself.
|
# ? Aug 3, 2021 01:32 |
|
hendersa posted:In the embedded space, Linux kernel jobs fall into one or more of these categories: But a funny thing: quote:Very few Linux kernel positions involve actually modifying kernel subsystems. That work is going to be done by someone with a decade of kernel hacking experience, a domain specific-PhD, etc. I was just like, "what" on this over and over. I tried to watch the video but I just don't have an existing perspective to hang that on.
|
# ? Aug 3, 2021 05:01 |
|
Rocko Bonaparte posted:Thanks. I'm surprised I've actually done a bit of that, but I'm not focusing on embedded. I'm looking here at the ability to work in nearly a cave because my wife wants to move further out and start a flower farm. My take on embedded in particular is that I get tied to some equipment they're uncomfortable sending me, or they're fine sending me but I need to build a lab to deal with it (especially since it'll constantly gently caress up). quote:But a funny thing:
|
# ? Aug 3, 2021 05:49 |
|
Rocko Bonaparte posted:My take on embedded in particular is that I get tied to some equipment they're uncomfortable sending me, or they're fine sending me but I need to build a lab to deal with it (especially since it'll constantly gently caress up). I've been doing embedded for 7 years, and would love to work remote permanently, and I actually have a really well equipped lab. I expect the companies that would be OK with that are super rare, except somebody really small I guess. Rocko Bonaparte posted:I was just like, "what" on this over and over. I tried to watch the video but I just don't have an existing perspective to hang that on. BPF is just a virtual machine the same way the java virtual machine is, but runs inside kernel space. Due to that there's tons of limitations on what it can do for safety and performance reasons but it's really powerful at certain tasks.
|
# ? Aug 3, 2021 13:42 |
|
kayakyakr posted:Oh, so also I had a recruiter from Warner Media's coding department reach out to me for a Sr. Manager/RoR Tech lead role. The boring B2B side rather than the HBONow B2C side. I told them how much it would cost to move me from where I'm at and they noped right out. Not worth going to WM right now at all. Second merger looming as well.
|
# ? Aug 3, 2021 14:41 |
|
hendersa posted:This pops up from time to time, since some companies consider kernel contributions to be a KPI. this is also why linus torvalds is a ball of incandescent rage half the time
|
# ? Aug 3, 2021 15:22 |
|
PaganGoatPants posted:Not worth going to WM right now at all. Second merger looming as well. Yeah, their numbers are just not competitive in a fully remote world. Decent for Metro Atlanta, but outside that, rough.
|
# ? Aug 3, 2021 17:10 |
|
Rescue Toaster posted:I've been doing embedded for 7 years, and would love to work remote permanently, and I actually have a really well equipped lab. I expect the companies that would be OK with that are super rare, except somebody really small I guess. I feel like there's been at least some blow to the requirement of people have to be on-site for everything. I'm not even aiming for an embedded job, so this is my speculating without skin in the game.
|
# ? Aug 4, 2021 08:25 |
|
Rocko Bonaparte posted:What's your take on this with Covid and all? Has everybody had to go into the lab wearing Tyvek suits? The general case for embedded tasks is that you'll probably need a lab at some point, but there's definitely stretches where you don't, and as with a lot of lab based tasks it's often possible, but harder and slower, to do some of the tasks with less equipment. You can also borrow equipment. So there's a spectrum. Some places you might really only be able to work if you're physically present. Some places might have let people borrow some of the lower tier stuff from the lab, or maybe bought them for people with the expectation they'd bring them back eventually - something like a saleae logic analyzer, a usb sniffer, something like that. Some places might have projects that were at a sweet spot based on how far along they've gotten, their capabilities, or the previous dedication to automation and testing that you are in fact just good with not having anything. But yeah some places needed people to come in, and depending on how committed or callous they were or how safe their facilities were people would come in, with masks or respirators or social distancing or whatever. Personally, what happened with me was - I took home a unit, which is a lab robot that's a cube about 3' on a side, and it sits on my desk. Its box didn't fit in the door to my NYC apartment, but luckily the machine itself did. This device involved tasks that didn't really involve electrical or mechanical lab equipment just endless random pieces of biology lab stuff and water - I got some non-form-factor boards mailed to me for a smaller unit prototype, along with some actuators to plug into it. I am experienced enough and got lucky enough with the tasks we had to do that I could get away with just having a multimeter to go through board bringup, USB bringup, basic motor control bringup, basic thermistor bringup. But there certainly was a limit to what I could do without more test equipment, and luckily just as I was getting there I got the vaccine and could go back to the lab no problem After getting vaccinated I was in the electronics lab daily verifying systems on that microcontroller - using oil baths and benchtop DMMs to verify thermistor performance, using oscilloscopes and logic analyzers to check motor performance, having a nice fireproof piece of metal to test heater pads on. Pretty basic lab stuff, all in all probably not more than a couple grand, but I don't want to set that all up in my apartment. And then I spent the next couple of months just at a desk. So all in all it's not necessarily an all day every day of the year thing, but unlike some other disciplines it really is needed sometimes. I think for a really basic home lab for embedded kernel work you would want - A bench with static safety equipment: a grounded antistatic mat and wristband - A cheap benchtop power supply that can supply up to say 12VDC and up to a couple amps, for powering boards - A cheap rigol scope maybe with the software unlocker - A saleae logic analyzer - A computer with a full USB3.0 port for that logic analyzer - Maybe a benchtop DMM, maybe just a fluke for really basic continuity testing - A collection of random wires and stuff - A soldering iron or rework station and a collection of passives to maybe cut down on the number of times you have to mail boards back and forth - A window you can open and a fan in case you let the magic smoke out This will cost maybe a couple thousand dollars all told, and also be useful for personal projects if you're into that. You might find a company that will provide it for you if you show enough confidence, but I think it's unlikely you'd find somewhere that would give you that stuff to keep. Then depending on the industry you might need other stuff, like if you work in radio you might need a spectrum analyzer, a usb protocol analyzer (although the saleae can do a lot of bus analysis you used to need separate equipment for), stuff that can get expensive and that you'll probably want to work with an EE for or occasionally have to go in for. And of course sometimes you work somewhere that's anal about corporate secrets and just won't let you take boards out of the building or out of a secured lab, or that makes something that is really big or needs a lot of power, or a project that's in a phase beyond standalone boards. It's kind of hard to generalize.
|
# ? Aug 4, 2021 13:03 |
|
In one sense it doesn't change that much. We normally don't keep hardware at our desks (static concerns and such). So it just changes the length of the commute from desk to lab. I could realistically keep working from home forever and just go in a couple times a week when needed. But sometimes there's a problem or crunch and I'd be in there for week+ stretches. The few times I've gone in the past year has been off hours or weekends and wearing an N95 even though I was alone. I know people who basically had to work in the office through the whole thing though. Just depends on the team and what you're working on. My issue is not really with my employer but more wanting to move out of the state I live in, which would mean being fully remote or finding a new job. (You could probably guess which state or close enough based on the news these days.)
|
# ? Aug 4, 2021 14:14 |
|
hendersa posted:This pops up from time to time, since some companies consider kernel contributions to be a KPI. I always wondered if "publish or die" existed outside of academia.
|
# ? Aug 4, 2021 16:35 |
|
Blinkz0rz posted:I always wondered if "publish or die" existed outside of academia. I mean, professional writing, technically.
|
# ? Aug 4, 2021 19:05 |
|
I won't get fired for not publishing but I'd start looking for a new job if I couldn't. Does that count?
|
# ? Aug 4, 2021 19:14 |
Blinkz0rz posted:I always wondered if "publish or die" existed outside of academia. I've seen job abs that required active participation in open source or like active personal projects on github. So sort of? Also, I read through the responses and feel confident the right move will be to find a different job, almost certainly getting a raise. I'm not permanently opposed to manager roles in the future, but my experience at this company has soured me a bit on it for now. Now I need to start doing interview prep, tech screens practice, etc since it always feels like I need to refresh a million things so I don't feel like an idiot when I get asked about something I haven't used in years. wilderthanmild fucked around with this message at 19:24 on Aug 4, 2021 |
|
# ? Aug 4, 2021 19:20 |
|
wilderthanmild posted:raises and bonuses capped at 2% Get a new job. Basic inflation means you're losing money every year you stay there.
|
# ? Aug 4, 2021 19:22 |
|
Hey guys, this question may have been asked earlier. I'm new to programming still doing tutorials but if I wanted to design an app that ran on both Android and Apple which would you recommend? Or would I be better off learning swift or objective c and Kotlin or Java?
|
# ? Aug 4, 2021 19:26 |
Bingemoose posted:Hey guys, this question may have been asked earlier. Xamarin with C# is also a growing option. Also easier to port to Windows and MacOS that way if you have a need to do it in the future. Edit: Just a disclaimer that I am not a Xamarin developer, I just work in the .Net space and have seen a lot more buzz about in the past years after it went open source. wilderthanmild fucked around with this message at 19:32 on Aug 4, 2021 |
|
# ? Aug 4, 2021 19:28 |
|
Bingemoose posted:Hey guys, this question may have been asked earlier. If you wanna learn things twice, Kotlin/Swift. If you wanna learn things one and a half times, Flutter/React Native/Xamarin.
|
# ? Aug 4, 2021 19:34 |
|
Interviewed for two teams at a place last week. Yesterday, they asked me to pick which team I liked more. I said "both were cool" and today, less than 24 hours later, got rejected from one. It was the one I liked less but I felt more qualified for and today they fed me the "we found someone with more domain experience" bullshit.
|
# ? Aug 4, 2021 22:28 |
|
pokeyman posted:If you wanna learn things twice, Kotlin/Swift. If you wanna learn things one and a half times, Flutter/React Native/Xamarin. you will still get very very material diseconomies of scale here in either case. you're best off just implementing app twice and having as fat a backend as you can
|
# ? Aug 5, 2021 22:04 |
|
bob dobbs is dead posted:as fat a backend as you can workin on it
|
# ? Aug 5, 2021 23:08 |
|
|
# ? May 30, 2024 13:07 |
|
Bingemoose posted:Hey guys, this question may have been asked earlier. career-wise anyway, I wouldn't suggest learning both Kotlin/Android and Swift/iOS at the same time, I would pick one and focus on it
|
# ? Aug 7, 2021 20:13 |