
Build stuff - bluemooner
https://why.degree/motivation/
======
Waterluvian
I was a mentor for a scrappy, underfunded robotics team of about 12 9th-11th
grade students until the season was cancelled. One of my favourite parts of
the experience was pointing out the "theory" behind the "practical". "What
you're dealing with is called X and this is why it's important" was an
increasingly common reply I'd give.

One of _many_ examples was when the software lead came to me excitedly and
said he got basic autonomy working, but the robot wouldn't drive the same
distance every time. We talked about open vs. closed loop systems, their wheel
encoders, and PID loops. I'm convinced that when he goes to study any of those
things in university, because of this real-world exposure to them, they will
be far easier to grok.

~~~
AlphaWeaver
In case anyone is curious, this program is called FIRST Robotics Competition
[0], and it is life-changing for the students who get to participate. (I'm an
alum.)

I got my first job through FIRST and was so much better prepared to solve
difficult problems through what I learned there.

You probably have a local team in your area. If you're interested, you should
mentor! The students' excitement is contagious and its a fantastic experience.

[0]:
[https://www.firstinspires.org/robotics/frc](https://www.firstinspires.org/robotics/frc)

~~~
javiramos
I am also an alum -- I started the FIRST robotics team at my high school back
in the day. I was part of a community where being a doctor, a lawyer or an
accountant (nothing bad with that) was the expected norm. Having exposure
through FIRST to technology, engineering and the creative innovation process
led me to pursue engineering. Very grateful for FIRST and the amazing people
that make it happen. Woody Flowers, one of the icons of the program, and a
professor of mine at MIT, recently passed [0].

[0] [https://www.firstinspires.org/about/leadership/dr-woodie-
flo...](https://www.firstinspires.org/about/leadership/dr-woodie-flowers)

------
eloff
I focused on building stuff, and I've never stopped. I've worked weekends and
evenings doing that throughout my career. I dropped out of college because I
wasn't gaining anything from the degree, it would have just been a credential
for me. It made it harder to get that first job, but since then it hasn't held
me back. I have gone further in my career than the very best students in my
classes who stayed and finished their degree with honors, and in some cases
continued on to their masters in computer science.

Now at 35 nobody even asks about the degree anymore. So a degree is not worth
that much in this industry compared to practical skills. However, I think many
people might struggle to learn on their own and might lack the self-discipline
or initiative to guide their own learning - in which case get that degree! But
keep in mind those same skills are required on an ongoing basis to keep up
with this fast moving industry, and you won't get as far without them. I was
home-schooled so for me it's just business as usual - that's actually been the
biggest thing I got out of my schooling.

~~~
hota_mazi
> Now at 35 nobody even asks about the degree anymore. So a degree is not
> worth that much in this industry compared to practical skills.

At 35, maybe.

Before that, a degree is worth a lot.

~~~
eloff
It mattered a lot to my first job, after that almost not at all. I didn't get
callbacks from some very conservative companies, and that may be the reason -
but those weren't great places to work anyway - so I can't say that it hurt me
at all. Sample size of 1 mind you.

~~~
Groxx
Very much the same here. First job is harder, but demonstrate ability and no
recruiter has ever asked since.

School is essentially trash for demonstrating "can program in a business
environment". If you're aiming for a research-heavy position it may help, but
that's an _extreme_ minority of jobs. And after a couple years it's useless
again anyway - you're either continuing your self-education and improving, or
you're stagnant, and your prior education doesn't play all that much of a
role.

------
bluedino
We have a nearby state university with a so-so computer science program. 2-3
graduates every year go to FAANG, a handful go to the local fortune 1000
companies, and we (a < 500 employee company) get to pick through the rest.

They all list C, C++, .NET, HTML, CSS, and Java on their resumes but haven't
done anything except a simple group project in any of them, half the time not
even writing any code for the project. Which means a role in documentation,
testing, etc.

They come with a chip on their shoulder, flaunt their degree, and demand a
salary close to what they think they should be getting, according to their
advisers or statistics or whatever.

To make it worse, they don't have any personal projects to show. I tell every
single person that I interview to create something, even if it's a failure. At
least you can come back and discuss your experience _trying_ to create
something, and you'll learn more about development working on that project
than you did the whole semester you _learned_ Java.

~~~
zcw100
It's a failure of the education system. They want to teach the academic side
but ignore the skill side. They're taught the language but none of the
tooling. When I was in school, which granted was a while ago now, they didn't
teach you subversion, make, how to use an IDE, how to install and use a
compiler, linker, etc. I remember having to logon to a VAX machine so we could
do some fortran assignment. It was a cruel joke. There was little to no
instruction on how to use the damn thing. You just had to make your way
through it. I don't think much has changed. The students who are curious seek
out and learn to use IDEs, git, maven, npm, jenkins, whatever, but there are
others who do what's asked of them and they're not asked to learn these
things. As a result they're unable to even start on anything other than the
trivial assignments they're given in class.

I think they seem entitled because they did what they were told and possibly
received good grades as a result and their attitude may be them saying, "I
bought an education. I was graded and found to be exceptional. If I had needed
it, it would have been a part of my education". Right or wrong you should feel
sorry for these kids. They paid a fortune and got ripped off. They just
haven't realized it yet.

~~~
alharith
> It's a failure of the education system. They want to teach the academic side
> but ignore the skill side.

Common misconception, but no this is not a failure of the academic side. This
is exactly what universities are for. The thinking always was that if you
teach the fundamentals, then the practical applications are a foregone
conclusion. Someone who is well versed in advanced theories of computer
science and electrical engineering: boolean logic, circuits, abstract
computation machines and models of computing, data structures, algorithms,
language design should be able to pick up whatever FooBar FOTM programming
language or paradigm or framework that comes out.

If you think that the situation today is difficult with all the languages and
frameworks we have just know that it was almost the exact same back then as
well, except you didn't have the internet, chat rooms, and robust
documentation and Q/A sites to help you answer your questions. Imagine the,
excuse my frank language here, whining that would be happening right now on
this forum and many others if you were just slapped with an IBM manual and
told to bootstrap things yourself. I could only imagine!

Trade schools are suppose to be the institutions that teach you practical
skills "to get a job". Universities are for expanding your mind and learning.
I don't know why we mixed the two and then act surprised when a multi-century
institution fails at modern workforce demands.

To anyone reading this: Do _NOT_ go to a University to get a job. If your goal
is just to get a job in this field, you can do that in far easier and cheaper
ways (start reading some programming docs and get busy building things). You
go to a university to learn. The getting a job part is a natural consequence
of the learning you have done and are now are able to do.

~~~
zcw100
I don't see the people in the chemistry department saying, "We don't teach
students to stir shit in test tubes we teach fundamentals!". I get it, they're
not there to teach job skills but it's also not an excuse to completely ignore
it. If you want to do gas chromatography you're going to have to learn to use
the machine. You don't just say, "Hey get some trade school person to do it"
and it isn't just a "foregone conslusion" from fundamentals.

~~~
alharith
This is not an apt counter analogy for many reasons, and actually can be made
to argue against the point you are trying to make. I'll give a few examples
here:

\- In a computer science education, you do indeed still use a computer.

\- There are still proprietary techniques, substrates, solutions and materials
that industry chemists use that you almost certainly don't have access to in
your standard university classroom. These would be akin to the variety of
frameworks, tools, and libraries that exist in the programming world, many of
which are open and documented, many of which are proprietary and closed
sourced. Hopefully, however, your university education has taught you how to
learn to learn in order to use these things.

\- Chemistry is not about test tubes and beakers. That's just what it looks
like today. Likewise Programming by typing characters on a screen is just what
it looks like today. To introduce another analogy, just like Geometry is no
longer about rulers and measuring pyramids, Computer Science is about how to
formalize knowledge and it just happens to look like semicolons, braces, and
0's and 1's today.

------
dejawu
I despised the academic parts of school. The work was hilariously irrelevant,
the requirements totally arbitrary, and the expectations set so ridiculously
high that even though I've been in the workforce for a few years now, I still
have anxieties and insecurities about my engineering ability that trace back
to school being set up such that you're expected to fail all the time yet
still somehow graduate. Often, it felt like school was actively working
_against_ me in my drive to become a better engineer.

I quickly learned to give my engineering side-projects a _higher_ priority
than schoolwork. Schoolwork could always expand infinitely to fill as much
time as it wanted, and school was a hideous monster that would swallow every
ounce of effort I put into it, take it for all for granted, and only greedily
demand more of me. If I'd played along with that, I would've had to give up
the drive to build things that made me want to pursue engineering as a career
in the first place.

I had an industry internship every summer while I was in college, and I found
an industry job - which paid more than my program's average undergrad starting
salary - the afternoon after my last final exam. I say this because I want to
emphasize that even by the standards of my school's career department I have
"""succeeded""" \- yet every single one of those positions made absolutely no
use of the things I was forced to do or learn to get my degree, and extensive
use of the skills I learned by ignoring schoolwork and focusing on personal
projects.

I can't say with certainty that school did absolutely nothing for me: my
current manager says that even though he didn't look at my academics at all,
he likely never would've seen my resume if it didn't have a degree on it. But
while I can count on one hand the number of times something at work has been
remotely relevant to my schoolwork, the number of panic attacks and depressive
spirals caused by anxieties rooted in my experience in the academic
environment is beyond countless.

------
LeifCarrotson
People don't expect aspiring accountants to spend their weekends managing
their personal finances or imaginary companies in QuickBooks or (shudder)
Oracle. If they've got a personal budget spreadsheet, and have done a few
studies in school following tutorials with sample data in a few software
packages, but frequently refer to the docs and don't know the keyboard
shortcuts, that's great for an accountant. You teach an accountant the tools
your company uses to apply the basic principles they learned in school.

They haven't spent a whole semester learning Java, they've spent a semester
learning _about_ Java. By writing a group project in each of those tools, they
prove not that they are ready to start knocking out your Jira tickets on Day 1
- they're not, as your experience and their resume proves - but that they are
capable of working on unfamiliar software projects in a group, which is what
they should be doing in your company. Take a student who knows how the
fundamental function your software performs can be built, and _teach them_ the
unique tools your company uses to do that. It only takes a couple thousand
hours for someone who knows how to learn to develop good proficiency in your
particular stack, and there are so many stacks out there that you can't expect
everyone to have invested that in yours.

~~~
jasode
_> People don't expect aspiring accountants to spend their weekends managing
their personal finances or imaginary companies in QuickBooks_

I do understand (and sympathize) why many job candidates disagree with the
importance of a "personal portfolio" and so we get repeated frustrations of
comparing it to accountants, lawyers, pharmacists, etc. E.g. if pharmacists
don't dispense drugs on the weekend "for personal fun", why do we "expect"
programmers to do the same?

The way to make better sense of it is to not frame it in terms of _"
expectation"_ of a job seeker but of _" identification and preference"_ of
employers choosing one job seeker over another. Whether the preference itself
is flawed is irrelevant. The point is that it's human nature to use a
preference as a tie breaker.

Programming, much more so than accounting/law, is an activity that many more
people like to do for personal "fun". Because of this, it's inevitable that
some employers tend to want to identify them and prioritize them over others.

And hiring _preferences_ are not unique to computer programmers. Here's
engineer Ben Krasnow (of popular channel Applied Science) explaining how a
"personal portfolio" helps him stand out and get good jobs:

\- deep link and watch for ~30 seconds:
[https://youtu.be/ihbYtxaEDSk?t=248](https://youtu.be/ihbYtxaEDSk?t=248)

So, if you're an electrical engineer getting angry at the world because
employers shouldn't "expect" you to design circuits for fun on the weekend,
don't be surprised if they hire Ben instead of you.

 __Edit to add another Ben K video covering the same topic but mentioning
Valve & GoogleX and choosing between prospective candidates:

\- deep link:
[https://youtu.be/4RuT2TlhbU8?t=112](https://youtu.be/4RuT2TlhbU8?t=112)

~~~
wolfgke
> Programming, much more so than accounting/law, is an activity that many more
> people like to do for personal "fun". Because of this, it's inevitable that
> some employers tend to want to identify them and prioritize them over
> others.

The fact that I do programming at the weekend for fun _on my personal
projects_ does not in the slightest imply that I have fun at the kind of
project that I have to do for the employer. So, judging by this criterion is a
_really_ bad idea of the (potential) employer.

~~~
devurand
> The fact that I do programming at the weekend for fun on my personal
> projects does not in the slightest imply that I have fun at the kind of
> project that I have to do for the employer. So, judging by this criterion is
> a really bad idea of the (potential) employer.

I am not sure that was the argument being made. I think it was more like "If a
candidate actively uses and develops their skill set in their own time, then
they will be preferred over candidates that don't". Those candidates
demonstrate a higher level of mastery of the skills needed by virtue of doing
something, _anything_ over other candidates who don't, even if the
demonstration is trivial. It can also signal a lower managerial load if the
candidate has demonstrated the skill set to self-start and self-motivate. That
can also mean less ramp-up time to being productive.

~~~
rustyboy
> develops their skill set in their own time

I don't see working on personal projects as doing personal development. What I
do then is riddled with bugs, no unit-tests or documentation, and with no
sense of project or time management.

Don't get me wrong if a personal project to you is production code, well then
to me that is a hobby or maybe you are doing it to pad your resume, in which
case sure it does seem like a good signal.

Overall though you have to have unproductive fun and that's what personal
projects are for me, and this notion that anything tied to code equals resume
is really insidious. Like when do we ever get away from work? Hustle culture
seems to have made it's way into a white collar job, I need to tune out.

------
badams2527
How many civil engineers are building bridges on the side? Why has it become
the "norm" that CS students pay tons of money to attend universities that
leave them ill-equipped to find a job in the real world?

One of the best parts of college is the ability to learn more about yourself,
diversify parts of your life, and experience new things. It's hard to do that
when your life is split between school work and personal work.

I worked my life away at side projects and a part-time programming job in
college and looking back there's so much I would've done differently. CS
programs across the country need a wakeup call.

~~~
microcolonel
> _Why has it become the "norm" that CS students pay tons of money to attend
> universities that leave them ill-equipped to find a job in the real world?_

University industry, unions, and academia more broadly, set the tone that if
you want to do anything "for real" you must go to school. Many companies,
parents, and ordinary lay people are convinced.

My (somewhat limited, I am young) experience tells me that competence is a
completely inadequate predictor of whether somebody went to school for
computing or software, but self-importance is an excellent one.

~~~
codr7
A good CS education will give you a wider perspective, a stable foundation to
build on. Then you need practice, lots of it, to become anything close to
competent. But being able to orient yourself and having been exposed to
several different kinds of problems and languages, and learned an algorithm or
two, definitely helps.

One of my university teachers told us that to become a real programmer, you
have to design and build at least one language of your own. I wouldn't choose
the same words; but having done several, I sort of agree. You need practical
experience before it makes any sense though.

------
clarry
> If you want to be a software engineer and you do not have any code to
> present in an interview, you can not call yourself a programmer.

That's just bollocks for a number of reasons. Maybe you're too busy doing
productive work to build a portfolio. Likewise, employers are often too busy
to look at and evaluate your portfolio. And unless you spend a huge amount of
time working on your portfolio, chances are it's going to have nothing
relevant to your job.

Perhaps this junior developer fresh out of university needs to show up with
real world experience before blogging about it :P

~~~
bluemooner
> If you want to be a software engineer and you do not have any code to
> present in an interview, you can not call yourself a programmer.

You can still call yourself a Computer Scientist, but there's a difference
between the two.

~~~
MaxBarraclough
You can call yourself a computer scientist if you have at least one serious
computer science publication to your name.

You seemed to be implying that the bar for calling yourself a computer
scientist is lower than the bar for calling yourself a programmer. The
opposite is true.

Also, not all computer scientists are in the business of writing code.

~~~
pinkfoot
Nonsense,

People call themselves chemists, geologists, etc. without ever publishing
anything.

Ditto computer scientists.

~~~
MaxBarraclough
I'm aware that some people want to cheapen the word. 'Scientist' isn't a
protected title. Anyone is legally permitted to claim the term. That doesn't
mean that everyone with a science-related bachelor's degree is really a
scientist.

'Scientist' is meant to mean 'person who does science'. Roughly speaking, that
means someone who produces research papers. If someone says _I 've been a
scientist for ten years_, they mean to say they've been doing science for ten
years. They do not mean merely that they were awarded a Bachelor of Science
degree ten years ago.

This is less of an issue in, say, bridge engineering. The term 'engineer' is
(in some jurisdictions) a protected term, reserved for proper chartered
engineers.

If you have a better word for people who make a profession of doing science,
I'd like to hear it.

~~~
pinkfoot
Why? 1) Its the long-accepted term - its what the universities put on your
Bachelor of SCIENCE certificate. Part of our rich oral history if you will.

2) Research chemists don't suddenly start using the term 'chemistry
scientist'. They are all just chemists. No hang-ups.

~~~
MaxBarraclough
> Its the long-accepted term - its what the universities put on your Bachelor
> of SCIENCE certificate

We're not talking about the word _science_ , we're talking about the word
_scientist_.

It is indeed a long-accepted term. _Scientist_ means someone who _does_
science. It does not mean someone with a basic grounding in the field, which
is what a BSc indicates. With few exceptions, scientists hold PhDs. That is,
after all, the point of a PhD.

If you get a BSc in computer science and then make a billion dollars selling
fidget-spinners, your Wikipedia article will describe you as an
'entrepreneur'. There's no way it would describe you as a 'scientist'.

> Research chemists don't suddenly start using the term 'chemistry scientist'.
> They are all just chemists.

Chemists are scientists by definition, and the same thing applies here.
Holding a BSc in chemistry does not make you a chemist. _Doing_ chemistry, and
presumably publishing papers, makes you a chemist.

As with the distinction between computer science and software engineering,
there is a distinction between chemistry and chemical engineering.

~~~
pinkfoot
> Doing chemistry, make you a chemist.

As does doing computer science. I did computer science last week (analysed the
run time complexity of an algorithm).

Hence: computer scientist.

------
32bitkid
for people who haven’t gone to a top-tier college/university for computer
science—especially self-taught developers—I would say that the corollary
advice is also true:

Don’t just build stuff—study stuff!

~~~
JDiculous
Is the undergrad CS curriculum at a top-tier university really that different
from that at a regular university?

~~~
ZeroCool2u
I would say no, but having taken classes at both, _how_ these courses are
taught makes a huge difference. Professors, via their communication abilities,
the level of effort put into making a class more interesting, and accessible
marks a dramatic difference in what students can get out of a class.

~~~
raxxorrax
With the modern net, everyone could benefit from the best professors in their
respective fields at least for lecture. Doesn't provide the possibility of
feedback if you want it to scale ad infinitum, but that sound like it would be
worth it.

------
vibrolax
I graduated with a CSE degree 41 years ago. My tremendous good fortune was
obtaining student employment at the University computing center during my
second year. While my fellow students queued for keypunch machines in the CS
labs, I had my own terminal in the office, documentation for everything, and
maybe best of all, was treated as a full colleague by the regular staff. They
gave us real work to do. The university's budgets were severely reduced during
the mid to late 70's, and the student labs were pathetically underequipped and
overcrowded.

All of the students working at the computing center realized how lucky we
were, and received multiple good offers despite graduating in the middle of a
recession.

------
sarora27
I personally struggled alot in college with the academic stuff. It got so bad
that I was kicked out of the engineering department and ended up signing up
for a degree in economics. After having gone through 2 years of engineering
courses, the econ curriculum seemed like a piece of cake. However, I had a
feeling that that would not be enough to land a job post-college (my GPA was
also very poor).

Instead, I dove head first into trying to work with other people to build
products that people would use. While none of those products ended up going
anywhere in terms of financial success, the experience itself really helped me
in articulating what sort of value I could provide to a prospective employer.
In fact, I would give all credit in getting my first job to the fact that I
was able to talk about the challenges I experienced with an on-campus
recruiter who signed me up for an interview on the spot.

I really think the learning you gain by doing, building, etc really helps you
grok the underlying academic principle. For me, I found that I have to do
first and then go back and read up to learn what I've experienced.

------
taneq
I feel like this is good advice but it creates a false dichotomy. It should be
"study stuff... by building stuff."

~~~
bluemooner
Surely there must be a balance.

~~~
taneq
That's the balance between "study stuff" and "build stuff".

------
otras
Building things is a great way to learn. That being said, the way this is
presented leaves a bad taste in my mouth.

> If you want to be a software engineer and you do not have any code to
> present in an interview, you can not call yourself a programmer.

Additionally, from one of their recent tweets:

> I wonder how many people that call themselves programmers know that there is
> more to coding than just JavaScript

This is unnecessary gatekeeping from anyone, but it's especially unwarranted
from a "junior software developer, fresh out of university." I'd encourage the
author to be less prescriptive when there's so much gray area and so much
variation between experiences.

~~~
XCSme
> I wonder how many people that call themselves programmers know that there is
> more to coding than just JavaScript

I have a BSc in Computer Science, participated in informatic/algorithm
contents/olympiads, created appliactions/games in C++, Java, PHP, JavaScript
and other languages, yet in the last 5 years I programmed mostly in
JavaScript. From my point of view, if you know JavaScript (TypeScript) in
those days you can implement a solution to almost any real-world problem or
application you might have. Yes, there might be better choices in some cases,
but for most of the world what a product does is more important than how it's
made.

I also prefer to know a programming language and its ecosystem really well
instead of having some vague knowledge of 10 different languages. If I
implement something I want to implement it well and to know as soon as I write
a line of code what it does and all its implications, edge cases and possible
performance issues. I am not saying that you shouldn't adapt your toolset
based on the project you are working on, but that it's better to have a tool
that you can always rely on and whose ins and outs don't surprise you anymore.

I am talking from the point of view of someone who builds stuff, creates
products. Just learn a good-enough tool very well and then focus on the
product itself instead of focusing on the tools.

~~~
snazz
Agreed. It's probably a good idea to gain some good depth in one particular
language ecosystem, and JavaScript is a widely applicable choice. That said,
playing with more "mind expanding" paradigms (logic programming, functional
programming, Smalltalk-style OOP) is also good for your skills in any
language.

~~~
hombre_fatal
Interestingly, Javascript has mind expanding properties of its own for people
who have only bounced between Java/Ruby/Python/etc: it's async-everything,
there's sync vs async errors to understand, promises, the event loop.

You don't encounter anything like it in the listed langs unless you somehow
work with Netty/Twisted/asyncio/etc.

------
Beaver117
I'll give my perspective as well.

I've hated school ever since middle school, but I recognized I wasn't
dedicated enough to get a job without a degree. While going through the
motions of academics, I noticed most of the classes were, basically, a joke.
Not at all relevant to industry. I went to a fairly well known school as well,
but didn't feel like any of it was worth it.

However, starting my second year I was working on side projects in full force,
and applying for internships. Sure, my GPA dropped a bit, but I got relevant
experience. Then a black swan event, through a connection I was offered a full
time position at a very large company, solely on my experience from projects
and internships, no degree required. It paid well too (or so I thought). I
very much considered dropping out, but several people in my life (including my
new boss) strongly suggested I get my degree.

I ended up finishing the degree and almost doubling my pay, so I'd say it was
very worth it. However, a degree is not necessary (nor sufficient) for
employment.

------
battery_cowboy
Why is computer science the only career, that I can think of, where I have to
spend my free time doing "personal projects" to improve my skills? What if I
just want to go to work, knock out tickets, and go home? With the emphasis on
spending all our waking hours coding, no wonder we all burnt out.

~~~
Chyzwar
You do not have to!. It is choice, where for many of us side projects are the
pursuit of perfection that help balance shitty codebases of our day jobs,
chance to create something other will use and be grateful, build a startup
idea that can free us from corporate masters or just tire our restless minds.

~~~
battery_cowboy
I really have no choice, if everyone else wants to do it, I can't very well
avoid it.

~~~
Chyzwar
I worked so far with around 80 developers. I could count on my hand number of
people that did any side projects. HN is biased towards people doing side
projects.

------
djhworld
People in this thread (and the original article) emphasise building stuff to
help you get job interviews and do better in your job.

I'd argue that's the wrong way of looking at it, yes having something to show
might be a signal booster on your resume, but it should be a side effect.

Building stuff is only fun if you want to do it, the motivation and passion
has to be there, otherwise you'll just be building something for the sake of
it. Don't get me wrong, it's definitely useful to gain knowledge from
building, even if it's just a toy project, but you'll get so much more out of
it if you're building something you're passionate about.

------
kirstenbirgit
I've always been of the opinion that since the world of (web) programming
moves so fast, a degree is largely pointless. As long as you have a natural
interest in solving problems, learning new technologies and staying up to
date, you should do well. You'll have a natural inclination to create some
personal projects just because you can't stop yourself, and you'll find
yourself having a couple projects that's worth showing off to potential
employers–a portfolio.

------
sbmthakur
Reminded me of _Consume less, create more_ :

[https://news.ycombinator.com/item?id=20781463](https://news.ycombinator.com/item?id=20781463)

------
N1H1L
A few years back I was chatting with a faculty in my field at a conference.
His lab almost invariably produces outstanding graduates who are really apart
from the rest of the field. I asked him how did he do that, and his point was
when hiring postdocs in his lab he never was really bothered about the
publication counts, but he asked only one question, "What did you build in
your PhD?" And if a graduate student could not answer that they were not
graduating.

------
melling
I’ve alway called this the “Producer Consumer problem”, which I obviously
reused.

You can consume a lot of books, TV, movies, games, etc., however, it’s more
valuable to produce something.

~~~
bluemooner
You need to consume a lot in order to be able to produce something. That's why
writers, for example, take their inspiration from other writers.

~~~
snazz
How about this: it's far easier to critique something than to make something
better. I find that this is true with photography: my taste is so much more
sophisticated than my abilities, so when I make art I am forced to be humble.
Consuming others' photography is still crucial to my development.

~~~
disqard
You will enjoy Jad Abumrad's "Embrace the Gut Churn"
[https://youtu.be/8OH9p3hnWCY](https://youtu.be/8OH9p3hnWCY)

------
mrkeen
Agreed.

What separates own-projects from previous job experience is the ownership.

Anyone can be a "valued member of a team", go to meetings, collaborate, open
and close lots of Jira tickets, be super helpful, check in code which "should
fix the problem", etc.

But it's not the same as if you have your own project, which fails or succeeds
based on how much effort and debugging you put in.

------
wy35
I'm having a bit of trouble building stuff to learn in my free time (undergrad
w/ cancelled classes due to COVID-19). I find it very difficult to come up
with an idea that I'm excited about enough to actually keep me motivated. And
I would love to contribute to OSS but the codebases seem so dense and
inaccessible, especially to a non-veteran.

Any advice?

~~~
machiaweliczny
Build me Reddit clone (if you do please make it scale to 100M users - that
will keep you busy) or modify public source to be deployable with 1 click.

EDIT: more ideas

Try to build better Firebase.

Try to build OS that's truly secure and convinient and hackable that allows me
to write integration scipts based on app events and allows me to rewrite any
app UI.

Design App UI building toolkit that puts current solutions to shame.

Build MMO game that will make Blizzard sad.

Build simple and configurable personal assistant.

Build relevant adds solution.

Design better search engine than Google.

Design publishing system that will get rid od ads and will allow to fairly
compensate content creators and make it sustainable.

Design simpler HTML, so anyone can write browser.

Try to build/design language that is both expressive and minimal, with
performance close to C or better, has great errors, no quirks and predictable
memory use. Write it so it's easy for beginners to contribute ;p

------
Datenstrom
> The group projects organised by the uni have always been a joke, thus it is
> time to work on a serious project by yourself.

This always bothered me until a teacher told me they are less about the
project and more about working together as a team which most of the time is
where these projects failed. With this perspective I led my senior design
group project to develop a proof of concept IMSI Catcher[1] detector that ran
on a Raspberry Pi with a software defined radio in one semester. None of the
other students had any prior experience with python, GNU Radio, low-level
networking, or software defined radios.

A good team can accomplish so much more than an individual and you can learn a
lot more with one too.

[1]: [https://en.wikipedia.org/wiki/IMSI-
catcher](https://en.wikipedia.org/wiki/IMSI-catcher)

------
raxxorrax
I created some open source libs that at least some crazy people use. Some mods
for games with quite intrinsic scripting I must say. Painted some pictures and
dabbled a bit with are partially legal version of Logic. I created animations
and models with blender/max. And after all that I got a job.

------
forkexec
So the EE/CS undergrad program I did was heavily-analytical:

\- It included the entire advanced level chem, physics and stats series for
scientists and engineers.

\- It was two elective courses shy of a math degree, including abstract math,
concrete math, and tensor math.

\- Only a few courses shy of a physics degree as well.

\- The entire EE track and entire CS track of course.

\- Writing lots of code for multiplatform portable code including Linux, HP-
UX, Solaris, SGI, and some MINIX 2.

I think they should make it a mandatory combined undergrad /Masters' or /PhD
program to be of sufficient depth into research achievement and breadth of
knowledge to be useful in industry that cannot be achieved in the absence of
an advanced degree. I think most of the undergrad CS knowledge can be acquired
by osmosis in industry or self-study without a degree.

------
bluemooner
I agree that the role of the university is to prepare students for the
industry and most of the universities achieve this quite nicely. Of course
that as a new software developer you need to learn something on the job, but
that is the case with every other field.

------
adamrezich
Personal anecdote but doing over a decade of personal projects in game and web
development, starting in middle school, did nearly jack shit for me as far as
eventually getting a job was concerned. If I were to go back and do it all
over again I would definitely spend my time doing literally anything else. I
was so convinced that if I just followed my fancy, worked hard and made cool
stuff, learning anything and everything I could along the way, then eventually
I would find work doing things I liked, formal degree be damned. It did not
work out that way, at all.

After years of searching for work in the Redmond area and failing to do so
(because, no professional experience, no degree), I randomly happened to find
work by randomly logging onto a forum I hadn't visited in years and randomly
happened to find a thread where a guy was looking to hire for remote webdev
contract work. After that contract was complete, I spent another couple years
looking for further work, and had to eventually move back home away from
Redmond because the cost of living was too high while I was unemployed. After
plural years of searching again, I finally managed to get a second remote
webdev job. I don't like modern webdev and would much rather do almost
anything else but now I've had two jobs doing it and I feel despair—am I
locked into this for the rest of my career? With no degree and only these two
jobs' worth of "Professional Work Experience" under my belt, it sure seems
that way. Recruiters and hiring departments seem to care about little else.
They sure don't give a shit about any personal projects, in my experience. And
this is even in spite of the fact that I more or less picked a new language
and/or framework for each project, which, in my mind, shows an aptitude for
learning new things, being adaptable, and having an above-average "general
programming aptitude" than someone who's made fourteen React projects in the
past couple of years or whatever.

But apparently companies don't see things this way, or maybe I'm just not good
at finding the ones that do, or maybe there's something else to my approach
that has been All Wrong. But as my twenties draw to a close and I find myself
no closer to finding a career than I was a decade ago, at this point I'm kind
of at a loss for what to do about it. And, almost more importantly, I'm
_extremely_ burned out on making stuff just for the fun and intrigue of doing
so.

------
mekoka
The advice given to people who just build stuff would be "don't just build
stuff, also study the theory behind". You _need_ the former to become a useful
craftsman, but _supplemented_ with the latter you will become a master
craftsman. You'll be able to quickly recognize patterns when reasoning about
problems. It will allow you to quickly and almost instinctively orient
yourself toward optimal solutions.

------
znpy
there's an abundance of this kind of webpages. there's so many of them that
it's easy get in the doubt of "should I follow page X recomendations or page Y
recomendation?".

The sad thing is that there is pretty much no equivalent page for other
industries (law, medicine, computer-unrelated-engineering to name a few).

------
userium
True, "Go to hackathons, get involved in open source", and build side
projects. I just created a free goal board tool for remote teams [1], the best
way to keep learning is by building.

[1] [https://teamsuccess.io/boards/new](https://teamsuccess.io/boards/new)

------
adiian
Remind me of Elon's point, you don't need a high school diploma to work at
Tesla. And he has lots of diplomas.

~~~
commandlinefan
The theory behind this mindset is: you're either born smart, or you're born
stupid, and there's really not much you can do (i.e. education) to change
that. The people born stupid get dull, repetitive jobs, the people born smart
get to work at exciting places like Tesla. This sort of eugenicist thinking is
frowned upon in most contexts, but somehow seems to have taken a foothold in,
of all places, software development.

~~~
anthonypasq
believing there is variation in human intelligence isnt eugenics lol

~~~
thethethethe
That’s not what parent is saying. Yes there is likely a an innate variance in
human intelligence, but we can’t believe this is the sole reason why society
considers people to be “intelligent” or “stupid”. Many people with lower IQs
and academic performance would perform differently when raised in a different
environment. People who are of lower socioeconomic status often times perform
worse than wealthier counterparts. People in of lower socioeconomic status are
often in that situation because they have been systematically oppressed. So
saying that people are either born stupid or smart without acknowledging
societal and environmental factors is essentially saying that poor people are
poor because they are stupid, which is certainly eugenicist.

~~~
anthonypasq
So you are mad at people misusing the word intelligence?

~~~
thethethethe
This is an oversimplification of my argument and a leading question. Do you
disagree with my argument? If so, why?

------
mraza007
I love this page

------
ccktlmazeltov
create stuff, on a more general level.

------
rasengan
This paper was written by another author and includes a quote from Tim
Berners-Lee.

The title is slightly misleading.

Edit: Thanks for updating!

~~~
hutzlibu
But at least the quote is indeed from himself ..

