Ask HN: What does a C++ fullstack mean to you?
Recently I was contacted by a recruiter on LinkedIn who asked if I was open to a C++ job.
These are his words "I wanted to send a quick message to see if you or anyone you know might be interested in a Direct Hire full stack C++ job"
Doesn't fullstack mean having experience in different domains like frontend, backend, machine learning, data mining, mobile dev, operations etc. ?
16 comments
[ 9.5 ms ] story [ 73.8 ms ] threadYou are witnessing the inception of a meme.
honestly, this means to me that the recruiter doesn't know what he's talking about.
Realistically, though, it's probably just a misinformed/careless/hopeless recruiter. Most likely misinformed, or inadequately informed. The recruiter's client probably has something specific in mind when if the asked for a 'full stack' C++ developer.
Since you'll find C++ running in everything from embedded devices to phones to cars to airplanes to mainframes, there are so many 'stacks' that one could be referring to when talking about 'full stack'. Usually, full stack developer is used to describe someone who does both front and back end web development. While you could be a full stack dev who writes C++ on the back end of a web app and JS on the front end, it's not a very common combination.
[1] http://www.codeproject.com/Articles/8571/Writing-Extended-St... [2] http://cppcms.com/wikipp/en/page/main [3] https://github.com/kripken/emscripten
Here is the full extent of the "Desired" requirements from the message which are usually supplemented by minimum requirements.
I searched for these on Google and found multiple posts with almost exact match.This begs the question, are majority of the job positions out there an over exaggeration of the requirements?
Should one apply to job postings even if they do not possess all the required skills?
I read "desired" requirements as "here's the magic pony that could immediately fill any void with no ramp up time in our org" - and is likely out of their price range ;). It's not even that they're exaggerating per se, it's just that everyone wants everything. Doesn't mean they won't be happy with someone who only knows half the stuff - or less.
> Should one apply to job postings even if they do not possess all the required skills?
Worst case scenario, they'll simply say no.
So... sure, why not? Even if their list of requirements really is a hard list of hard requirements for that position, it's quite possible that's not the only position they're hiring for. And even if it's normally a hard list, if they happen to be short a couple devs, they may care a lot more about not slipping further behind schedule than finding multiple perfect within-budget matches. Most are reasonable enough and realize "perfect is the enemy of good enough", so to speak.
Now, personally, I prefer to be up front about any skill gaps - this way I don't waste my time nor theirs if I'm not enough of a fit. I'm sure one could debate how wise this is, but it's worked out okay for me so far - maybe works out as something similar to a humblebrag? Meh.
For example, I'd point out my linux experience is moderate at best, and stale by a few years - unless you're counting "adb shell"ing into Android phones, or using the command line to script builds for iOS on OS X. I've only written a few hundred LOC of python, and maybe a few KLOC of Java and refactoring Java - all Android. And the only SQL I know is "give me parameterized queries or give me death". I didn't even remember to add password salt or password hash version fields into my last whiteboard schema, IIRC!
its always expected that you "grow into" the requirements somewhat.
It could mean installing wordpress plugins, and someone overheard someone else mentioning they were thinking about doing a new project in C++ and decided to list that in the job posting in case it comes in handy.
It's too vague to mean anything to me.
You could ask the recruiter what they mean. You could go with a vague noncommital "Depends on the job/what you mean by full stack - but sure." You could do both. You could do neither, and avoid going through recruiters.
Here's the full text:
JOB DESCRIPTION
Requisition ID: 24241
Title: Sr Engineer - Embedded Software
Division: Arthrex California Tech
Location: ACT Santa Barbara, CA
We at Arthrex are looking for an amazing Embedded Application Developer with a solid background in modern embedded application development to join our growing team. We are looking for someone who is self-motivated and who strives for greatness in all aspects of embedded development from low level systems all the way to front-end development. You will be joining a talented group of software developers at a global medical device company and deliver products and tools that help surgeons and their staffs provide great surgical outcomes for their patients. This is an opportunity to make an immediate and lasting impact in all phases of the application development lifecycle.
Candidates must take extreme pride in delivering software that provides great value, is scalable, and easy to maintain. Applications are typically written for Linux in C/C++, but we do also use some Python and Java (specifically Android) for our User Interface. We are big proponents of open source technologies and other technologies that we are currently using include SQLite, Redis and JSON. An ideal candidate will feel comfortable contributing to all aspects of our stack. We work closely with all members of the larger team including Operations, Mobile Developers, UI/UX, QA and project management teams.
About You:
Passionate about software development, specifically web technologies and web services Motivated, loves to learn, and thrives in a dynamic environment Has a track record of building applications and bringing them to production Wants to be part of a high performing team that makes a difference Some Details:
Likes to take an active role in all stages of the application development: conceptualize, design, build, test and release Excellent C/C++ programming language skills with Python experience a plus Strong experience with multi-threaded application design Knowledge of embedded programming environment with open source tools Strong Linux operating system skills Java programming for Android would be great, but not required Comfortable using Git Experience with Agile development methodologies About Us
Arthrex is a global medical device company and a leader in new product development and medical education in orthopedics. As the software development team, we create innovative products to help support the company in education and research opportunities for our customers.
Main Objective:
Responsible for full life cycle development of Class I and II medical devices, which includes architectural design, interface design, analysis and simulation, prototyping, design assurance testing, development through production release, and product maintenance. Recognized as technical leader and resource.
Essential Duties and Responsibilities:
Lead software architect and specification developer to ensure robust, sustainable and scalable design approaches that meet design intent. Lead the design & development of various subsystems of complex multi-process architecture. Effectively identify & mitigate potential risks during course of projects Define & develop reliable, efficient & reusable software components in C/C++ for Linux targets Identify key system performance bottlenecks, propose effective and scalable strategies to address them, and incorporate these strategies into a programming environment, with emphasis on run-time software layers including drivers, middleware, and APIs. Architect, develop and maintain defined software interfaces with hardware components and firmware. Design optimization through modeling, simulation and analysis. Experience with agile methods as they relate to software development and SCM practices. Input and direction to other members of the engineering staff to assist them in their assignments and provide them...