Anybody who thinks the hackers from Duke/UNC consistently outshine the hackers from NC A&T is a damn fool.
I was regularly FLOORED by the skills and raw programming chops from peers at NC A&T. Some of the smartest young men and women in the CS field.
I worked in a small research group at NC A&T. Maybe 10 undergrads. Last time I checked, there were something like 6 MS in CS folks from that group and a couple of PhDs.
When I was an undergrad at NC A&T, we had a weekly colloquium for all CS students. We regularly had alumni from NC A&T and other HBCUs on stage who talked openly about navigating the hiring world, which companies you could expect racism in, and what the working world of programming was like for "people who look like us."
If some shitty recruiter event occurred, we all knew about it.
Want to score some of the best engineers from HBCUs? It's easy. Hire the best ones you can convince to take your mega-FAANG package from. Then send them back every freaking year with a corporate card and tell them to impress people.
I hate these "stupid recruiter" stories. Somebody should get their ass fired.
I think that's pretty awesome. I went to Elon, and the only time that we heard about the A&T CS program is the time that I participated in an ACM programming competition. We heard more about the Duke program than anything else. (Research related). I knew a little about the UNC Chapel Hill program because I had a connection with Fred Brooks.
In terms of CS, it's NCSU that regularly produces the most accomplishments of the NC higher education universities, but it doesn't have the same national standing because the humanities departments at NCSU are a complete joke. What Duke and UNC-CH do well is that all their departments are generally considered rigorous and that increases their standing in the rankings.
Can you do the same for say Duke? Even Googling, I couldn't find an obvious CS superstar name or practical everyone-knows-them Jeff Dean-type. And the whole point of the article is exactly that in the insular tech circles and parties we move in, we don't get to hear or see from the NC A&T folks.
I was just looking for some reasonable way to decide if the OP's claim about NC A&T grads was true.
I asked about noted accomplishments simply because I couldn't think of any better way (within reason) to evaluate OP's claim. I'd be happy to hear other approaches.
I can understand why one would think this. That assumption is part of the reason I shared the story. If that were true here, the A&T students would have had the experience of the Duke/UNC group.
I think this a much more nuanced question than a yes-or-no answer can cover.
Looking at LinkedIn or indeed.com with just a simple search for Clojure with no geographic qualifier (in the US), we see a very small number of listed openings - 252 over the last month at LinkedIn or 44 in the last 14 days at indeed. A plain google job search on Clojure jobs in the US returns an even smaller number.
Some of those job listings will almost certainly have Clojure listed as part of a "laundry list" of technologies and the actual job will probably not be Clojure oriented.
So just from a raw numbers perspective, the job sites to suggest that there aren't a huge number of opportunities. Comparatively speaking, there are like 60,000 Java job postings on LinkedIn in the last month.
However, if you attend a Clojure/conj (one of the "primary" Clojure programming conferences), you will find that many attendees are part of some (not super-large?) number of companies that use Clojure.
My best advice on building a Clojure career (that I failed to follow) is that a programmer who wants to make a Clojure career path is to be prepared to spend a significant amount of time trying to make connections inside the Clojure community. On top of that, you probably need to build a portfolio of project experience that you at minimum blog about and preferably speak at Clojure conferences, user groups, or meetups.
<edit: removed off-topic thought>
I would gently observe that long-time Clojure developers are maybe too close to the tree to see the forest when it comes to judging Clojure career opportunities.
But I would love to be wrong about my impression of Clojure job opportunities! Perhaps fellow-HN readers could post (anonymous?) numbers of Clojure job openings for their company to give us a better idea?
I was unable to bring Datomic in-house. Mainly because our organization has a huge agreement with Oracle and all our database servers are essentially "free" to teams.
So I cheated. I created some schema designs that were immutable. I added a GUID, timestamp, and a deleted flag (value of 'Y' or 'N') to tables. Basically, all selects are against views that are defined over the tables to select the tuple associated with the max(timestamp) for that tuple along with the tuple having a deleted flag value of 'N'. This means that any select only sees the most recent tuple value for a GUID if it hasn't been "deleted".
There was a little bit more hiding in there to handle dirty writes.
But this worked very well for my requirements. By really only doing inserts, I was able to do similar "point in time" looks at the db as an immutable value.
Would you be willing to have an email chat about that? I'm thinking about doing a similar strategy with our relational database and wanted to get your experiences with that.
Congratulations to Cognitect. Hopefully the acquisition will help Rich's retirement funding. (see 'History of Clojure' for the not-so-insider joke here)
I have had the pleasure of "using Clojure in anger" and for a few years was very dedicated to learning how to use it effectively. This was a significant step up for my general programming skills and the simplicity of the language often saved me from myself with respect to bad design or choices in code. Whatever programmer "maturity" I can claim is probably due to Clojure and teaching introductory programming and databases (not with Clojure and Datomic to be clear).
This acquisition is more abstractly interesting to me in that a VERY dedicated Clojure/Datomic company made it. We didn't see here, for lack of a better example, a FAANG company grabbing Cognitect. That may have been a choice! Maybe Cognitect went with an acquisition where they retain a high degree of autonomy with the benefits of being acquired.
I never made the leap into a larger organization with Clojure at its core. I was able to use Clojure only in my small shop where I have a small degree of autonomy on development language choice. For a few years, I was somewhat actively seeking an opportunity to join a larger Clojure-oriented team but struggled to gain much traction when applying to openings. It seems possible to build a Clojure career, but I've not been very good at that.
(for anyone who doesn't get it, Rich funded Clojure development via his retirement savings from 2005 until he ran out in 2009 https://dl.acm.org/doi/pdf/10.1145/3386321)
He did a community drive in 2009/2010 or so and a lot of us pitched in a little. Then he joined forces with Relevance to create Cognitect and that has funded his Clojure development since. Hopefully he gets a nice payday from this acquisition too.
I think much training for dog aggressiveness is more about helping people to understand drives and managing "triggers" than training them out of the animal . . . it seems underappreciated by many normal dog owners.
My last dog had super high-prey drive and was also a fear biter.
Both drives were incredible. You could play train her to do almost anything in a very short period of time with classic behavior shaping. It was unfortunate that her fear drive was higher. But this mostly meant proper space management and patience were required along with never assuming that a situation was "ok" by default.
We worked with a number of animal behavioral specialists (including university veterinary behavioral practices), all of whom concluded it was just her default personality. Much of our success in keeping her with our family was building environments that minimized her fear drive impulses.
Still a great dog in many situations. She passed after a pretty healthy 15 1/2 years and I'm currently on a break from pets.
64GB memory
8 GB GeForce RTX 2070 Super with 2560 CUDA Cores
A couple of NVME SSDs.
I install Centos as the OS. Setup, including Nvidia drivers was very easy.
Probably could be built from components cheaper, but I appreciated just making an order and having a box show up later.
My past machines have been Thinkpads, then six years with a Macbook Pro that I wiped and installed Debian on. I made the move back to desktops for a variety of work-related reasons.
Tax policies to reduce smoking rates seem to show reasonable effectiveness:
"the rule of thumb in the United States is that a 10 percent price increase on a pack of cigarettes results in anywhere from a 2.5 percent to a 5.0 percent overall decline in smoking, with most studies showing an average 4.0 percent drop" from https://www.healthaffairs.org/do/10.1377/hpb20160919.471471/...
Data and analytics for this are worth reading about - I find geographic issues (low-tax areas across state lines, total numbers of retail locations selling tobacco products, etc) along with concepts of price elasticity to be interesting modeling problems.
To maximize tax collected on cigarettes prices rise every year with a few percent which compounds to doubling the price in 10 years. If you want people to stop smoking a government would double the price over night, but that would hurt their ability to collect tax and we can't have that happening can we?
I remember being at the first Clojure/conj - I had just spent some time learning a bit of Common Lisp and stumbled onto the conference announcement somehow.
This was very fortunate for me - after attending the conj, I was able to use Clojure at work to sneak in some FP on the readily-available JVM platforms. I later used it to do some internal REST-API work. The code for that project has run for years without modification or error.
For whatever reason, I also discovered that thinking functionally with Clojure worked so much better and naturally for me than object-oriented design methods. While I have drifted away from Clojure over the last couple of years, I find that my problem solving mind is much better in other languages because of the time spent thinking functionally with Clojure.
"The code for that project has run for years without modification or error."
To follow up on this point, if you ever need ammunition to sell the use of Clojure inside an enterprise level organization, just show your Chief Architect the graphs of code stability over time for Clojure (pg. 71:26) and ClojureScript (pg. 71:30).
After working with JavaScript (not trying to bash) for the last few years, the idea of stability has become top of mind for me.
Looking at it, seems like the Scala code base found some stability in 2011?
This could be a factor:
> On 12 May 2011, Odersky and collaborators launched Typesafe Inc. (later renamed Lightbend Inc.), a company to provide commercial support, training, and services for Scala. [0]
I have enjoyed all of those and the Stockfighter attempt in this space as well. They all seem to have hit a hard obstacle in convincing the general, non-FAANG hiring market that they can provide "better" candidates that any old staffing agency. I have definitely had hiring managers in non-software companies tell me that they will just pick from three resumes from a staffing agency of a standard enterprise developer job without much actual consideration of the candidate's resume or portfolio of previous work.
I do suspect there exists a category of higher-end headhunter agencies with a stable of high-quality, proofed candidates that those agencies can more successfully place than other attempts. Just an anecdote, but I have seen in my area some things that look more like a "small team" placements where that team has some history of helping companies radically improve their software quickly. I am specifically thinking about an actual team that gets hired as a group but into fulltime roles at a company as a unit. This seems to be a prequel to an acquisition of the company that hired them being the end goal. Then that entire team seems to repeat the process elsewhere . . .
But stats like that also can signal being over-selective.
I would gently suggest that it is a mistake to think in terms of unqualified vs highly-qualified candidates and ML for "callback probability". I don't want a good, but not FANG-level, candidate to NOT apply for our standard software engineer opening just because 74 people already did.
Why? We had 60+ candidates for a recent posting for a junior developer role with some experience - think 1-2 years or some good school projects. Somewhere around 45-50 of those applicants were easily HARD-FLAGGED don't interview at all after a quick cover-letter and resume review by a technical person using a rubric. That rubric was scoped only to weed out applicants with absolutely no meaningful experience.
While I also hate the laundry-list approach for job listings (Must Have: Expert Java and C#, Spring ORM and ActiveRecord skills with deep understanding of React internals), I think the best way to attack that is with a short, but focused cover letter. That should include a short paragraph or two about a candidate's hands-on experience and speculate how their experience might apply to the position. I guess what I am driving at is that this idea of ML assigning importance weights to "soft" vs "hard" requirements is, at best, just another low-value signal in job postings that are already full of low-value signal.
Just like on your LinkedIn profile, there would be way more than a simple list of keywords and skills. The keywords would be part of a full profile which includes universities/degrees, certificates, years of experience, accomplishments, etc...some of which are easier for an ML to train on than others, but my point is those are stronger signals than “Java: Yes.” If there is residual fuzziness in the process, the platform can add skill tests (taken at a test center) that can get listed on your profile.
A third party ecosystem of skill tests could emerge, some of which would be more prestigious/respectable than others. Some would have a binary output, and some would give you a score that is benchmarked against the population of test takers. This would only really be necessary for more technical skills. I’m not talking about rinky dinky khaki cubicle test centers. I’m talking about new age corporations with $1B market cap that develop an unparalleled ability to assess skills so that corporate HR departments don’t have to. These testing companies would be part of the ecosystem developed by the theoretical ideal, statistically-oriented, applicant friendly job platform that I’m talking about.
My MS in CS in from UNC-CH.
Anybody who thinks the hackers from Duke/UNC consistently outshine the hackers from NC A&T is a damn fool.
I was regularly FLOORED by the skills and raw programming chops from peers at NC A&T. Some of the smartest young men and women in the CS field.
I worked in a small research group at NC A&T. Maybe 10 undergrads. Last time I checked, there were something like 6 MS in CS folks from that group and a couple of PhDs.
When I was an undergrad at NC A&T, we had a weekly colloquium for all CS students. We regularly had alumni from NC A&T and other HBCUs on stage who talked openly about navigating the hiring world, which companies you could expect racism in, and what the working world of programming was like for "people who look like us."
If some shitty recruiter event occurred, we all knew about it.
Want to score some of the best engineers from HBCUs? It's easy. Hire the best ones you can convince to take your mega-FAANG package from. Then send them back every freaking year with a corporate card and tell them to impress people.
I hate these "stupid recruiter" stories. Somebody should get their ass fired.