S
Simple Programmer
simpleprogrammer.com · Personal blog · on HN since 2010
Simple Programmer is John Sonmez's blog on software developer careers, learning, podcasts, and opinions about programming culture.
What HN saysHN commenters link it for career and productivity advice, but give little opinion of it; one pushes back on an attitude they read in a post.
72HN people shared it
18linked it in comments
203stories submitted
1.5Kstory points
2 years agolast shared
2010people per year2026
Most-shared posts
- 1The 2016 Software Developer Podcast Awards5 people · 13 points · first shared 2016 · discussion on HN
- 2The Ultimate List of Developer Podcasts3 people · 8 points · first shared 2014 · discussion on HN
- 3I Was Wrong About JavaScript (2013)3 people · 4 points · first shared 2013 · discussion on HN
- 4The Hacker News Generation (Afraid of Hard Work)2 people · 284 points · first shared 2013 · 213 comments on HN
- 5Why C++ Is Not "Back"2 people · 130 points · first shared 2012 · 142 comments on HN
- 6Calling Someone's Baby Ugly2 people · 79 points · first shared 2012 · 56 comments on HN
- 7How Religion Destroys Programmers2 people · 57 points · first shared 2013 · 57 comments on HN
- 8The Myth of the Super Programmer2 people · 57 points · first shared 2012 · 52 comments on HN
- 9My Secret Non-Software-Developer Life2 people · 27 points · first shared 2013 · 22 comments on HN
- 10The Joel Test for programmers2 people · 6 points · first shared 2015 · discussion on HN
- 11Why I Don't Do Code Katas2 people · 5 points · first shared 2013 · discussion on HN
- 127 Mistakes You’re Making in Your Programming Career2 people · 5 points · first shared 2015 · discussion on HN
- 13The Ultimate List of Programming Books2 people · 3 points · first shared 2015 · discussion on HN
- 14Tie your shoes and pull up your pants2 people · 3 points · first shared 2012 · discussion on HN
- 15Ultimate list software developer blogs2 people · first shared 2022
What HN people wrote when they linked it
musicale · 2025-05-03
There is a difference between invention and innovation. Apple is often late to the party (mp3 players, smartphones, tablets, smart watches, wireless earphones, ...) but when they arrive they often shake things up with category-defining products.
There is a good argument to be made that Apple introduced the modern smartphone (Android switched to multitouch and a virtual keyboard in response to the iPhone[1]) and app store ecosystem.
It is an extraordinary achievement, especially considering the skepticism expressed by dominant incumbents such as Nokia, Blackberry, Palm, etc. in 2007. iPhone would, at best, have less impact than Windows Mobile.
[1] https://simpleprogrammer.com/history-internet-part-15-android/
taphangum · 2020-09-27
Diagramming.
I'm serious.
The more I (as a developer trying to master design) delve into the product design space. The more I see that there is no more fundamental skill in design than that of constructing 'information architectures'. Essentially, mapping (or diagramming) the most important pieces of a design that you are making.
It is literally the key to creating a great design.
I wrote more about this in a guest post here: https://simpleprogrammer.com/information-architecture-developers-learn…
Think about the design of Apple products, is it really just the way they look that makes you love them. Or is it more subtly, the way the work (of which UI is a component), and how that makes you feel?
Definitely worth thinking about.
samhunta · 2017-11-17
I would love to learn more about machine learning as a web developer, but simply put it's a different industry with entirely different constructs.
I found a great article[1] that at least helped me build a simplistic understanding as a modern developer.
[1]. https://simpleprogrammer.com/2017/10/02/machine-learning-modern-web-de…
brad0 · 2017-08-24
This kind of attitude frustrates me. It takes the stance that the world should change to make it best for your own personal situation.
Take charge of your own decisions and work out what actions you can do to make your situation better.
https://simpleprogrammer.com/2016/10/10/salary-negotiation-software-de…
proximacentauri · 2017-04-28
For me it's a iterative process of read->apply->get stuck->read->apply.
I focus each morning on working on the number one thing I have to do that day, in the afternoon I can attend to other less important tasks.
Josh Kaufman has some good tips (https://first20hours.com/).
Also as John Sonmez (https://simpleprogrammer.com/) would say - trust the process. Don't focus on immediate results, focus on the process of reaching your end goal
jsonmez · 2016-09-16
Great question. I like how you think.
The catch in, IMO, is that you need the right knowledge to pull it off. It's not as easy as it looks and it does take some cojones--like you said.
Most people say, "sounds like a good idea" and never do anything.
There are very few people who will teach you how to do it without ripping you off and selling you some scam.
Honestly, that is why I put my course together.
Yes, it's $500. But if you actually follow the advice, it's dirt cheap and I'm not selling you a bunch of get rich quick BS, like most real estate "scammy" stuff.
Here is the link if you are interested: https://simpleprogrammer.com/products/simple-real-estate/
williamkennedy · 2016-09-16
I have actually written about this a lot as it is one of those topics that I am fascinated with. The trick is not to try and motivate yourself but to build systems and processes to get things done regardless.
For me, it boils down to 3 things. Pre-planning, habits and elimination. I have written about each separately on my blog http://www.new2code.com/2016/06/deep-work/
I plan a lot of stuff on my Google Calendar. My whole days are planned in advance including free time. When I am learning a new language, I set aside time for study. If a friend asks me to hang out, I can just check to see if I have prior commitments. I also have the regular gym slot and after 2+ years, I am simply routine when it comes to exercising.
Next, learn how to build habits and routines. This saves a ton brain power. There is a great video on habit building
http://www.youtube.com/watch?v=AdKUJxjn-R8
Also, check out a book by Charles Duhigg called The Power of Habit.
Finally, cut out the news and as much information as possible. Not watching the news added a ton of happiness to my life. This also cuts out distractions. Check out something called the Low Information Diet which goes into more detail as well as a book called Deep Work by Cal Newport
I also wrote a guest post on the blog Simple Programmer that goes into more detail on the willpower.motivation side of things https://simpleprogrammer.com/2016/09/07/limited-willpower/
I hope that helps. Largely I don't believe in long-term…
hauget · 2015-05-10
Questions:
- what kind of career do you want?
- What specific job market are you currently in?
- You mention the pay is great but dislike the work. How much time can you dedicate on projects you're curious/passionate and capable of doing?
Regarding unhappiness at work, I was in your situation some years ago and found that the solution to my problem was putting in the required hours at work and then going home and working really really hard on the things that mattered to me. Also I found that having a daily exercise routine helped a lot with my productivity and mood!
Regarding leaving your country, I'd start by marketing yourself better. Your site doesn't give specifics on what your ambitions are and does not showcase why I'd want to hire you. Perhaps, if you SHOWED me what projects you can do for me, I'd be more inclined to see where you'd fit in my organization. A great example of good marketing was this kid's portfolio that sprung some weeks ago: http://www.hostmeinca.com/
Another way to leave is by getting a masters in another country. Look for masters in a field you're curious about and then search for scholarships. There are tons of scholarship resources out there (google Fullbright, Daad, Gates Millennium Scholarships, UK council scholarships). A masters is also a great way to network and meet potential employers or even future coworkers that might end up giving you a recommendation down the line!
Some other advice (and I know the HN crowd will probably…
Pr0ject217 · 2022-02-07
EDIT:
Paste this hacky snippet into your browser's console to save all of the links into your clipboard:
(() =>
{
let result = [...document.querySelectorAll('td a')]
.map((link) =>
link &&
!link.href.includes('ycombinator') &&
!link.href.includes('javascript:void')
? link.href
: ''
)
.filter(Boolean);
result = [...new Set(result)];
result.sort();
copy(result.join('\n\n'));
})();
Just to help, here's a compiled-list of all of the links shared here so…
hooby · 2022-02-07
taggenblu · 2019-12-17
I used to be in a similar situation, with multiple notebooks for different things and apps for others - became totally unmanageable.
I've gone totally offline with my note-taking now, using a variation of the bullet journal concept. I've found it very useful for keeping track of the day to day notes and tasks, along with longer term ideas and plans (technical or otherwise).
Anecdotally, having a single notebook for everything has made me feel more in organized and in control of my notes as everything is there, indexed into a single notebook.
- https://bulletjournal.com/
- https://simpleprogrammer.com/bullet-journal-productivity-programmers/
xadoc · 2017-08-09
I have not, thanks for sharing it is nice that also collects links from Reddit.
Other similar websites
Most mentioned in StackOverflow http://dev-books.com/
Most mentioned in Hacker News
http://hackernewsbooks.com/top-books-on-hacker-news
http://ramiro.org/vis/hn-most-linked-books/
Recommended books by guests in Developer on Fire podcast
http://developeronfire.com/book-recommendations
Personal lists
Jeff Atwood:
https://blog.codinghorror.com/recommended-reading-for-developers/
Joel Spolsky:
http://new.joelonsoftware.com/navLinks/fog0000000262.html
DHH:
https://signalvnoise.com/posts/3375-the-five-programming-books-that-me…
Steve Yegge:
https://sites.google.com/site/steveyegge2/ten-great-books
John Sonmez: https://simpleprogrammer.com/2015/03/23/the-ultimate-list-of-programmi…
alashley · 2014-01-17
js2 · 2013-10-03
Counterpoint - http://simpleprogrammer.com/2013/08/26/dont-code-katas/
tl;dr: doing the same thing repetitively only improves your skill to a point after which you need to increase the difficulty of the task if you are to continue to improve.
albion · 2010-12-01
This is a pretty good description of what an agile tester is http://simpleprogrammer.com/2010/06/16/agile-testing-is-different/
seadan83 · 2025-05-03
It's almost the argument of programming vs computer science coming out here.
This is math:
{x | x.id = 1}
OTOH, a SQL query is a SQL query.
This thread is hilarious though. It's like
- Cashier: here is your change.
- Customer: you did math!
- Cashier, no, I gave you change.
- Customer: that IS math!
- Cashier: You mean, I used math to give you change?
- Customer: No, giving change doesn't use math, it IS math!!!!" [2]
= D
Moving along.. FWIW, indeed SQL was created to model set theory (relational algebra and tuple calculus), the close relationship is no accident of course [0][1])
> No one is moving goalposts
I feel too they are.
First goal post:
> Coding IS math. >> No, not always. Quite a lot of high-level code doesn't require any math at all. It doesn't take math to perform CRUD operations
Second goal post:
> CREATE, READ, UPDATE, DELETE are fundamentally mathematical in nature
CRUD is closely related to SQL, and SQL is closely related to various mathematics. Are they identical and therefore equivalent? No - because your database is not going to like it when you write "{x | x.id = 1}", and the Oracle DB might not like something that you can write for your Postgres DB.
[0] https://simpleprogrammer.com/mastering-sql/
[1] https://en.wikipedia.org/wiki/SQL
[2] To quote: """Not "coding uses math", I mean it is math""" @ https://news.ycombinator.com/item?id=43872771
mwcampbell · 2013-08-23
You seem quick to denigrate JavaScript, and programmers who willingly choose it, wherever you can. But with regard to the kind of complexity the OP discusses, which roughly translates to added cognitive load, it's not at all clear that JavaScript is worse than C++ -- and I have real experience with both.
To avoid dismissing C++'s complexity too easily as simply the price of flexibility and performance, let's review what C++'s complexity looks like in practice. For example, read this:
http://simpleprogrammer.com/2012/12/01/why-c-is-not-back/
Memory stomping bugs; all the ways to initialize a variable of a primitive type; copy constructors; overloaded assignment operators; move semantics; smart pointers; value versus reference semantics; the list goes on. Against the cognitive load imposed by complete control over memory management, and lack of verifiable memory safety, JavaScript's warts seem quite minor to me. I imagine that many programmers who work in "managed" languages would agree.