Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
StumblyWumbly
Sep 12, 2007

Batmanticore!

icantfindaname posted:

I feel like that is more intimidating. Does that require like an electrical engineering background? It would be mostly C based system programming type stuff right?

I don't know if embedded is right for you, and I can't say a lot about the entry level embedded job market in general, but I do embedded so here's what I can say:

There's a spectrum of embedded ranging from the bare-metal end of writing code that directly interfaces with microcontroller peripherals and has no built in threading. Then there's the "lovely computer" end where you're running on embedded Linux with tons of RAM. Maybe you could put phone apps into this category, but that's really become a different beast. In between the extremes is a range of systems like FreeRTOS or Zephyr, which provide mutexes and threading but not much else. In all cases, you want to write code more efficiently and won't necessarily have many libraries or tons of RAM to work with, and the systems will generally be tightly constrained to finite hardware and processors.

Being able to read a schematic is pretty useful, but not crucial, and if you come from a CS background people shouldn't expect it. My embedded systems are bare metal, so the big questions I ask entry level folks are: What communication protocols are you familiar with (simple stuff like I2C, UART, SPI), How have you interfaced with MCU peripherals (directly accessing registers is great, using drivers is ok), have you ever used interrupts and what are their pros and cons, and what do you know about DMAs. Places that focus on more powerful systems like the Raspberry Pi may get into more OS specific questions.

I program in C, tons of places do, larger places tend to prefer C++, but its not clear to me how many of the C++ libraries they use now. Rust is a beautiful dream, but I've only seen it once as a nice-to-have in a job posting.

Adbot
ADBOT LOVES YOU

StumblyWumbly
Sep 12, 2007

Batmanticore!

BadSamaritan posted:

So I’ve finagled my way into a collaboration with the software engineering/informatics team in my department (I do specialized application IT work) and have a series of projects to work on with my manager’s blessing, rebuilding some old visual basic programs that we rely on. It’s essentially an internship with the potential for a software engineering role with the group. I have to learn a lot pretty quickly (hi Python, APIs, and Docker!) while still doing my ‘regular’ work. It seems like a fantastic opportunity for someone with no CS degree and I am determined to make this work out.

Any tips on handling this internship while working? How do I get the most out of this without going crazy? It’s normal to feel extremely out of my depth, right?

Key here for you will probably be efficiency, figure out what you want the work to do, probably run the plan by your manager, and then execute to the best of your ability. Your first 100 questions will be something along the lines of "I don't understand docker can you explain everything" but if you ask that folks will write you off. "I'm trying to get docker to run this program and it won't" is a fine question (although that specific one you should google first).

The good news is Python and Docker are very popular things, a lot of folks have written a lot of stuff about them, and there are open source examples of how to do everything you are likely to want to do.

Also, use the right tools. PyCharm is very good for helping develop and debug Python.

StumblyWumbly
Sep 12, 2007

Batmanticore!

leper khan posted:

You're not going to get a clearance as an intern.
I've known people who got, I think, Secret clearance as an intern so they could work directly for the government. This was a while ago and I don't know all the details.

To be clear, Secret clearance is fairly trivial, just don't say you're actively using drugs. Top Secret is harder and folks will probably talk to your friends. SCI is, apparently, harder and will take a long time.

Postings that want someone with Secret will probably accept good candidates who have never applied for clearance, but not folks who've been denied clearance.

StumblyWumbly
Sep 12, 2007

Batmanticore!

Magnetic North posted:

Anyone done contract software development work before? I've interacted with contractors, but only as offshore resources. Can you explain the positives and negatives from your experience? I don't like that jobs are going more to Contract or Contract to Hire but I wonder if I'm unnecessarily cutting off too many jobs from my search.

Off the top of my head:

Pros:
- Great if you're a specialist and can focus on your specialty
- If you charge enough, you will not get stuck with the poo poo work
- Your own hours and rules, maybe?
- Higher hourly rate
- Tax benefits, if you're clever (ie computer, space, learning can all be tax deductable)
Cons:
- Very unfulfilling, you only get called when there are problems
- Handle your own benefits
- Taxes are a pain
- Have fun rustling up work
- You will be the first to go when there are problems

Contract to Hire has a sleazy feel to it, and it can be tense, but it can work out. Just be sure to ask about how many folks have made the transition and/or try to talk with one of them. I would generally not recommend going contractor early on unless you are really good with people, technically skilled, and are not worried about shaking the tree for more work.

StumblyWumbly
Sep 12, 2007

Batmanticore!

Magnetic North posted:

What about mobility? Are they still generally at-will or are you somehow 'locked in'? I got myself into a bad situation and am hesitant to end up in another one.

I don't know what being 'locked in' means. Sometimes there are non-competes or agreements to not leave the consulting group for the client you've been working for. Those are often not legally enforceable, but if company A got you a consulting job with Company B, it will burn bridges if you just jump ship and leave for Company B. But it isn't the end of the world or anything.

StumblyWumbly
Sep 12, 2007

Batmanticore!

death cob for cutie posted:

IDK if this is the best thread for this, but I'm nominally a code toucher so here it goes

I have a friend starting at Grafana, he knows I'm upset with my job (we got acquired, benefits got cut, culture sucks now, etc.) and wants to refer me to something at Grafana. Specifically he thinks I should go for this Senior Technical Writer role, https://boards.greenhouse.io/grafanalabs/jobs/4826598004.

My background: I've been writing curriculum at my job for about a year now - I work at one of the big coding bootcamps. Prior to that I was an instructor at the company for three years. I was also a student of that company - joined it after dropping out of a college CS program but feeling like I needed something a bit more concrete, had some experience as a TA in college, and I love(d) teaching.

My background doesn't strictly meet the requirements but my friend thinks I can convince people during an interview - I've got a lot of time under my belt explaining code to people and writing about code, and I've also got a fair amount of experience hitting the ground running and having to pick up stuff fairly quickly.

Is there anything I can do in the next couple of months to present myself as more appealing for this position, other than the usual tweaking/rewording of the resume? I'm taking over work on a very small open-source project and will be writing up a (small) amount of documentation for that, but I can't think of anything to do to polish my skills otherwise.
Generally, the way of the world is that if someone in the company recommends you, you will get some kind of interview (pretty sure your company is small enough for this to happen).

Are you worried about your resume or actual experience? What do you think you lack? Pretty sure you can set up a local influx db and grafana system and play around with that.

You sound like you'd be a good candidate.

StumblyWumbly
Sep 12, 2007

Batmanticore!
In a better world, knowing pretty much any Python would mean you could get a job updating excel based admin work and just automating everything, even if it does mean you're that 'you should do it in Python' guy

StumblyWumbly
Sep 12, 2007

Batmanticore!
Is it standard to sign an NDA for an interview where you may look at the company's code? Any particular tricks I should look out for?
This is for a senior (but not founder/C-level) position at a startup.

Adbot
ADBOT LOVES YOU

StumblyWumbly
Sep 12, 2007

Batmanticore!
I declined the NDA and the interview is still on. I think they wanted me to check out some code built by a consultant, and they don't have the background to know what is key and what is standard.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply