1. 19

    Maybe not the answer you’re looking for, but I generally don’t go actively looking for new tools.

    If I’m at a job I’ll learn what they use, and sometimes that’s new tech. If I’m on a project and something falls across my desk while researching I might follow up on it. Perhaps most frequently, if people I’m chatting with bring up “oh have you used so-and-so” I might investigate it if it looks promising.

    If I’m really, really stuck on something and I can clearly articulate what my problem is and it isn’t worth it to solve it myself, then I might go looking for a new tool–in which case, polling coworkers, Googling, and so forth is a good idea.

    In general, though, I dislike actively looking for tools because:

    • There are a lot of people selling shovels right now, and every one of them is only a marginal improvement over what I already use.
    • There are massive amounts of posturing and social interaction over tooling and displays about tooling–consider people preening and arguing over vim and emacs, or rust and c++, or whatever…lots of noise, little signal.
    • It’s easy to succumb to the fear of missing out and make bad technical decisions just so you have the latest tools.
    • The work I tend to do (or at least like to think that I tend to do) either tends to be so boring that any old tool will do (and so I’ll just use what I’m quickest with) or so weird that like no tool is really gonna solve my problem.
    • I find that I get more mileage learning about and testing the boundaries of my boring old tools than perpetually hopping from one thing to the next. I can solve most problems with Postgres, for example, and even the other day I learned a neat thing about how query planning works (or doesn’t) with its jsonb type–whereas if I’d just hopped to a new tool I probably would’ve overlooked it.

    Maybe the biggest thing for me is that, at the end of the day, I get enjoyment from actually solving problems and building things, and it is hard to do that if you keep finding strangers in your toolbox.

    1. 16

      If I’m at a job I’ll learn what they use, and sometimes that’s new tech.

      There’s no greater friction than going against the grain of what your organization is built around.

      1. 7

        I find that I get more mileage learning about and testing the boundaries of my boring old tools than perpetually hopping from one thing to the next.

        This really deserves to be repeated more. People are always harping about “using the best tool for the job”, and while that may be true, the best tool might only look like the best tool from a distance. When you get to know the tool better you’ll almost certainly find inadequacies that are (deliberately or not) being hidden. Alternatively, it might be the best tool but the learning curve could be so high that you will only be able to use it effectively after falling on your face a few times, and your current project that needs it might not be the right place or time to learn. With the tools you already know, you will know how to avoid the sharp edges and make the most effective use of them.

        Of course, it’s important that you don’t stagnate, as technology does progress, and you don’t want to be that one dude that keeps clinging to his ancient practices (like for example in the early 2000s when people would be using shared FTP and manual backups instead of VCSes). Although I do find that more often than not, it seems like we as an industry are taking two steps forward, one step backward every single time.

        1. 1

          I’m in this camp. I often find that my hunt for a new tool comes out of laziness. I know full well that I have what I need in front of me, but I can’t summon the ambition to make it work. That’s usually when I’ll take a step back and restate my assumptions about what it is I’m working on.

        2. 2

          solving problems and building things, and it is hard to do that if you keep finding strangers in your toolbox.

          This is a fantastic point (and also a wonderful turn of phrase). Sure, there may be a “better” tool to use but oftentimes the tool you know will help get to a solution more successfully (faster, less bugs etc) than fumbling around with something unfamiliar.

          1. 1

            This is me as well. Maybe it’s because I don’t really bother with software as a hobby (my hobbies are time consuming and not computer related), but I pretty much only focus on the current tool chain in place at my work. That has meant learning new tools (web frameworks, database admin tools, new languages), but I tend to focus on mastering what is in place instead of chasing the next shiny thing (that might never be used at my place of work anyway.)

            I used to worry that this would cause my skills to atrophy, but I’ve mostly found the opposite. Like you say, a lot of what is out there is shovels. I also mostly focus on backend work, so I get more value out of my time understanding design patterns in my language than in searching for yet more frameworks.

          1. 5

            Org is an incredible piece of software, and deserves support. I’ll be throwing some money in the pot when my next paycheck rolls around.

            1. 2

              Just donated myself, I’m not good at eLisp but I really appreciate the work that has gone into org-mode!

            1. 1

              So I use Org-mode daily, about to the depth of this article. But looking around the web, I see some users have elaborate Org workflows based on a hierarchy of Org files referencing each other.

              Am missing out?

              1. 7

                If it works, it works.

                1. 2

                  No idea, I tend to just use one giant org file of doom myself generally. Seems to work out fine.

                  1. 1

                    Depends on your use case if multiple files are worth it. I use the following setup which isn’t as complicated as some I’ve seen:

                     /org
                       work.org // contains global work meetings /processes / PA goals
                       personal.org // sparse on my work laptop, mostly used to keep track of personal agenda items that impact work
                    /org/projects
                       project1.org // Project specific meetings/notes/todos.  Most of my time is spent here.
                       project2.org  // Another project.
                    

                    The nice thing is org-agenda will put the originating filename into the agenda view. It is easy to bill time to specific projects (important use case for me.) I do use an external calendar, but having standing meetings logged in org-mode saves me time when I need to log time against recurring meetings and whatnot.

                    The main linkage is the agenda and clock, which pulls from all of these to construct the daily agenda and my time spent on projects.

                    1. 1

                      I’ve found that org-mode will accommodate your needs no matter how complex/simple you want your setup to be, from a simple list to elaborate triggered structures over multiple files held together with custom elisp.

                      I keep things simple with a single file and various sub headers, coupled with org-agenda.

                      I wouldn’t say you’d be missing out, just that if you find you need some additional capability, org will likely accommodate you.

                      1. 1

                        I think so. I think I’m only one or two steps away from you:

                        I use a main todo list per job in which I track minor notes, time and tickets as link to smaller literate org files per task/ticket. The ticket split arises after figuring that 10k lines cause big performance loss in the main todo list. Those can be easily exported and keep specific files/data generated nicely grouped together.

                        That said, I’ve just started with org-roam and I’ve created the following capture templates:

                        • ppl
                        • tech
                        • companies
                        • tickets
                        • default

                        I guess the beauty of this all is to grow it as you go and learn more

                      1. 6

                        Packing up–we’re moving at the end of the month, so the sooner we get the less used items in boxes the better. We bought a house, and I am so excited for this to be last move for least a decade after 5 years of moving every year to escape rising rent.

                        1. 4

                          Working from home, trying to build out my new routine. Otherwise business as usual at $WORK.

                          • Adding back in exercise, going to go for a run today and do an online yoga class tomorrow. Hoping to cut gym costs permanently.
                          • Cooking at home more–got super reliant on convenience food at work, so I’m trying to get back to less waste and healthier meals.
                          • Keeping up on a clean house–if you’re here more it’s worth the energy to make it extra nice.
                          • Knitting a pair of socks, maybe 30% done. Planning to start a cowl next.
                          1. 2

                            Social Distancing, knitting, movies, walks outside, and a healthy amount of Pokemon!

                            1. 1

                              If you aren’t absolutely sure how the code will be used, don’t write anything until you have had the requestor explain it to your satisfaction. Otherwise you will code the wrong thing.

                              The prototype is not done until tests are written for it as well.

                              Integration tests are good for ensuring the design works. Unit tests are good for tracking down where it doesn’t.

                              Understand investing and pay yourself first. Having the financial freedom to say no to bad jobs/ideas/unethical requests is core to being a ethical engineer.

                              You brain is part of your body, so take care of it. Eat healthy, find some way to be active that doesn’t feel like a chore. Do not expect to have good health in retirement if you spend your working years spending 8 hours in a chair staring at a monitor without any countermeasures.

                              “Everything in moderation, including moderation.” - Lost Horizons by James Hilton

                              1. 3

                                Another thing I like to do is keep engineering notes.

                                Open a blank page and start writing down what you are planning to do. I have WORK.md in my global gitignore. What matters is that it’s very low friction to edit. Keep that page updated with notes related to the task.

                                This has a few nice side-effects:

                                • it avoids re-googling the same things over and over again
                                • it’s much easier to pause and resume the work because the context is left on that page
                                • I find it less tiring to look at the notes than to try to remember every little details
                                • if the manager asks you what you are doing, read from the file
                                • once you are finished, it’s easy to assemble the notes and write a blog post
                                1. 2

                                  I really like this suggestion! Do you ever have to clear blog post contents with your employer? Or do you just go ahead and post?

                                  1. 1

                                    If it’s work-related it’s best to clear it. Since I do devops, the customer generally doesn’t really care because it’s not a trade secret, just overhead for them to build their product. I must admit that this part is also quite aspirational, I don’t do it as often as I would like to.

                                  1. 6

                                    My morning work ritual is to open my computer, scan for urgent email, make tea, and open Lobste.rs. Drinking my morning tea and checking the top stories and recent helps me get my brain in “tech” mode instead of “home” mode. And unlike Hackernews or Reddit, Lobste.rs doesn’t start my day with outrage or a firehose of content. Just enough intelligent articles and comments to get excited about technology and to consume with that one cup of tea.

                                    1. 5

                                      I turn off my network connection.

                                    1. 4

                                      I allocate time to learn new technologies–on the job. I haven’t contributed to open source, but in my experience hiring hasn’t relied on looking at what open source work I’ve done/not done. Hiring wants to know what kind of projects I’ve built on the job and whether or not there is a progression of taking on (and succeeding at) more complex projects. I spend my free time relaxing and recovering from work. So far no complaints.

                                      I also wonder if this is a bit of a split between the Javascript/web dev/dev ops/mobile development and other types of programming? For example, I haven’t encountered this aggressive push to do open source on the side in embedded software, where hardware costs can quickly outpace the hobbyist. And certainly the explosion of open source Javascript frameworks and node packages seems to point at this hyper competitiveness being focused on that arena, where there are more developers competing against each other for work.

                                      1. 2

                                        I allocate time to learn new technologies–on the job.

                                        Is this just something you personally work on over the course of a regular workday, or do you have/negotiate any specific “20% time” with your manager?

                                        I’ve always thought of having that conversation with my manager - several hours a week where I get to do whatever I want. Otherwise my learning ends up feeling like skunkworks.

                                        1. 4

                                          Honestly, even at places that “support” individual development, I have rarely seen people able to negotiate learning time successfully. There’s often a lipservice yes, but the expectation that project X will still be done on Friday, regardless of you spending Thursday learning new stuff. I’ve met maybe two such unicorn managers that actually allow the time and don’t book over it.

                                          What does work for me is adding research and learning time into my estimates on how long it will take to do stuff. Corporate, above all else, cares about good estimates so they can actually plan business launches. The dev that adds 4 hours of learning time into their sprint but finishes their tasks on time is seen as more competent than the dev that doesn’t and misses whatever they committed to. And the first dev is continually adding value to themselves, while the second has to work outside of working hours to get the same benefit.

                                          • Contrived examples are contrived, but it’s held up for my experience.
                                          1. 3

                                            I do this too - I like to prototype my new projects with technology I’m learning and experimenting with, then implement with the standard approach.

                                            I get to learn new things, map out the problem space a bit better, and with luck I get ideas around solving the problem.

                                            And worse case I just throw away my throwaway prototype, oh well!

                                      1. 1

                                        What comes to mind is either an issue tracker or something like Meta StackExchange* (do they allow local hosting?), where individuals can express questions and the community can vote for changes they most care about/questions they most need answered.

                                        In this system, perhaps your representatives play the role of mods, being the go between between management and individual devs. Maybe reps ask questions to provide individual devs cover so they aren’t retaliated against.

                                        What kind of improvements are you trying to drive? Development practices? Project management needs bettwe communication/planning? Leadership out of touch with realistic schedules? That might drive your solution more than anything.

                                        • Ironic to recommend their model given that they are having friction between the users, mods, and owning company, but in your case you wouldn’t have the profit motive.
                                        1. 1

                                          Some StackExchange clone is on its way. With the usual speed it should be available in a year or two. :)

                                          Yes, we have all the problems you mention. Personally, I believe that top management is not the problem but project management is. For example, we need a way to measure technical debt and estimate the opportunity cost to neglect it. “It’s the Right Thing to fix it” is not a good argument against a project manager who wants to please the customer.

                                          A more technical example: Our internal network does not allow outbound ssh. Everybody working with cloud providers had weird local workarounds. Some worked from home. Now there is an official solution. It is not great yet, but there is progress.

                                        1. 2

                                          I tried out several of the recommendations here. My favorite so far is Travis–it was the fastest to get working out of the lot, slick, minimal. (Github Actions took me a bit of trial and error around getting my billing settings right, for just a demo repo.)

                                          But I think I’m still recommending Jenkins for work. We do a lot of ARM builds, and Travis is the only online option that has prebuilt arm targets. But it’s new and still a bit buggy looking, so old reliable it is. Exciting to see so much competition though, and Travis might be worth revisiting again even in a few months.

                                          1. 5

                                            Travis has been bought by a firm known for buying and operating SAAS without making further modifications, so I wouldn’t hold my breath for improvement.

                                          1. 6

                                            I’ve thoroughly tested a lot of CI/CD services about a year back. I finally settled on GitLab CI as best choice. It requires you to host your repository on GitLab though.

                                            1. 3

                                              Interesting! I know a lot of people like GitLab because it’s not part of the Github/Microsoft monoculture. Was that a driving reason, or were there others?

                                              1. 1

                                                I’ve been using GitLab for almost 4 years now, largely for reasons stated in https://www.jvt.me/posts/2017/03/25/why-you-should-use-gitlab/ but also for all the extra stuff they’ve built on top over the years. Originally it was just because of private repos, but evolved into a love of the platform being built in a way that folks can contribute, unlike GitHub.

                                                (https://www.jvt.me/mf2/2019/12/gphsl/)

                                              2. 2

                                                Why was that your choice? What usecase?

                                                I don’t love gitlab CI for the reason it isn’t accommodating of usecase it’s not designed for, and I’m stuck with both. This is obviously very different from the cases where you are in the designed usecases.

                                                And actually one peeve is that it encourages the use of “fat” docker containers.

                                                1. 4

                                                  My experience was the opposite. We went “all-in” on gitlab and love the ci process. Initially we used 2 bare runners, windows and linux, and installed whatever software we wanted on those. CI just called what it needed in those runners. Worked great.

                                                  All the online examples used docker and we found that adding a docker runner allowed us to do more. Now we build our own docker images to use so they aren’t “fat”, they are minimal to what that step needs.

                                                  Ultimately, we found that it was completely customizable to what we wanted.

                                              1. 1

                                                I enjoyed Digital Minimalism by Cal Newport. It vocalized a lot of my discomfort with the way I was using technology in my downtime, and I have worked to reduce my time spent on social media (Reddit, in my case, never got on Facebook.)

                                                I will say if you’ve already read his other books (Deep Work, in particular), you are probably already the sort of person who is auditing their time to focus on what matters to you. I did get a “boost” effect by reading it, though.

                                                1. 2

                                                  When a full stack developer with 8 weeks of training can command a salary comparable to a general practice doctor with 8 years of training

                                                  If this is true, I want a raise, now, or I quit. Full stop.

                                                  (It’s not true, eh?)

                                                  1. 2

                                                    You’re correct that I wasn’t especially rigorous in gauging exact differences. To ensure I’m not too far off base about this, I looked up physician salaries in Seattle (https://www.payscale.com/research/US/Job=Family_Physician_%2F_Doctor/Salary/53da5ca3/Seattle-WA) which look to start from $80k for 10th percentile. Same site says that 10th percentile for Seattle developers is $73k. I don’t think the difference are too great. Especially relative to the differences in training years required.

                                                    1. 1

                                                      I’m more concerned about somebody with 8 weeks of training getting compensation anywhere near what I get with 15 years of legit on-the-job experience. Not to mention it’s more like 25 years if you choose to account for all that time I spent in front of screens before I was paid for it.

                                                      I’m not saying somebody can’t take a course, upgrade their career, and attribute that success to the course.. But I am saying that the attribution might not be deserved. If that person gets $80k, they must have had some previous experience that was somehow relevant.. they must have pivoted from some other technical role.. right?

                                                      Or do I just need a #$^@% raise. :/

                                                      1. 1

                                                        Or do I just need a #$^@% raise. :/

                                                        I’m not familiar with the Seattle market specifically (or your areas of specialty), but that looks like a really, absurdly low rate for 15 years.

                                                        1. 1

                                                          I’m in Omaha, Nebraska.

                                                          1. 1

                                                            The other relevant part of the market is the kind of work that you do.

                                                            In my experience:

                                                            Low pay: Web agency work, videogames development

                                                            Medium pay: Firmware dev, cost-centre corporate work

                                                            High pay: Profit-centre corporate work

                                                            Very high pay: Domain specialist with programming knowledge (someone who does not need an analyst to explain the customers needs)

                                                            1. 1

                                                              State Health Department. :)

                                                        2. 1

                                                          I mean, we should all encourage higher salaries in our profession. If a person with 8 weeks of experience gets $80k, then someone with 15 years should be making north of $150k, right? A rising tide raises all boats.

                                                          If you are making the same amount of money as a new grad in your area, you are absolutely being underpaid and need to consider switching companies.

                                                          I’m in the Seattle area: hired 5ish years ago at $65k, got $20k in raises at $JOB1, got another $20k when I moved jobs. That seems normal in my peer group. (Not working for Amazon out the gate, they can start at $100k).

                                                    1. 8

                                                      For most of human history, information was scarce.

                                                      For a brief moment in the early 2000s, the combined effect of centuries of curated news gathering (think NYT) with great reputations, and the online access of content created a Golden Age - information was cheap, plentiful, and correct.

                                                      Now we’re back in a situation where no-one really “knows” anything, just like a peasant in 14th century France had no idea on what was going on in Paris. Except when there was a dearth of information, filled with rumor and legend, there’s now a glut.

                                                      1. 5

                                                        I don’t agree with your historical analysis.

                                                        For most of human history, information was scarce.

                                                        Why do you think this?

                                                        Except [where] there was a dearth of information, filled with rumor and legend, there’s now a glut.

                                                        Sounds very Vernor Vinge “The Net of a Million Lies,” which was based off ’90s Usenet.

                                                        1. 3

                                                          I define “information” in this case as objective facts, not rumor, demagougic lies, or religious statements.

                                                          Why do you think this?

                                                          Prior to the 16th century, the written word was incredibly expensive to reproduce.

                                                          Prior to the late 19th century, most people could not read.

                                                          Sounds very Vernor Vinge “The Net of a Million Lies,”

                                                          I haven’t read that particular story, but Vinge is prescient about a lot of stuff.

                                                          1. 2

                                                            Prior to the 16th century, the written word was incredibly expensive to reproduce.

                                                            I think you severely underestimate pre-Gutenberg oral tradition.

                                                            Prior to the late 19th century, most people could not read.

                                                            I think you severely underestimate the pre-industrial education literary culture.

                                                            1. 1

                                                              Earlier you wrote

                                                              I don’t agree with your historical analysis.

                                                              I’d prefer if you articulated your objections to my thesis with more than one-liners.

                                                              1. 2

                                                                For most of human history, information was scarce.

                                                                Objective facts were scarce for most of human history? We’ve had cities since at least 4000BC and Göbekli Tepe dates back to the 10th millennium BCE. Complex societies don’t exist in nor produce a scarcity of “information.”

                                                                But, in your thesis, pre-Enlightenment or even pre-mass education doesn’t seem to count. Information was scarce… before the 1800s? The history of bureaucracy, let alone education, newspapers, or even world trade all belie this assertion.

                                                                For a brief moment in the early 2000s, the combined effect of centuries of curated news gathering (think NYT) with great reputations, and the online access of content created a Golden Age - information was cheap, plentiful, and correct.

                                                                I answered this here.

                                                                I’d prefer if you articulated your objections to my thesis with more than one-liners.

                                                                I don’t care about your hypocritical preference.

                                                                1. 1

                                                                  I won’t be continuing this discussion with you as I don’t think you are arguing in good faith. Thanks for taking the time to respond.

                                                            2. 1

                                                              I agree, it used to be expensive to distribute media (as in a newspaper) in physical form, so you had to be at least credible to be profitable and stay afloat. Now anyone can distribute media cheaply, there is no longer that credibility filter.

                                                              1. 3

                                                                Yellow journalism.

                                                                More to the point, newspapers from the beginning have been tools of influence and would be what we now call propaganda. Profitable newspapers, either via ads or subscriptions, is a recent phenomenon.

                                                                I am unaware of any evidence for a time period in which newspapers were credible.

                                                          2. 2

                                                            I’d actually say that it doesn’t matter whether newspapers/the media were ever correct. What has changed is that the public no longer agrees on a set of generally reputable sources to get their “facts” from. 70 years ago the New York Times tells you what to think about WW2 and everyone agrees. Even if you don’t read it, the people who do set political discourse and agree.

                                                            Now you have 20% of the population that thinks the NYT is trustworthy, 20% on Fox/equivalent, 20% on MSNBC/equivalent, and the rest who don’t care but are bombarded with oneliners from various influencing platforms like Facebook. Now everyone thinks they are en expert and can point to a source to back them up, no matter how outlandish their position.

                                                            Too many sources of information arising to serve the market, catering to each customer’s preconceived notions of reality. No wonder we can’t agree on policy.

                                                            1. 2

                                                              Thanks for expanding on this, this was essentially my point.

                                                          1. 35

                                                            There’s this one site called Lobsters. Good community, seems pretty up-to-date when it comes to trends. Would definitely recommend.

                                                            1. 7

                                                              Yup, pretty good…

                                                              …but what do you do to prevent “shallow learning”?

                                                              ie. Just skimming a interesting article without going into depth of why and how and without doing it for real yourself…

                                                              1. 9

                                                                Shallow learning has its uses - there’s no need to avoid it unless it’s displacing real comprehension (which you won’t get from a link aggregator or discussion board).

                                                                1. 3

                                                                  The older I get the more I regret shallow learning and value the bits of deep learning I have done…

                                                                  In retrospect it seldom seems to have been a good decision.

                                                                  In the flow of tasty tidbits in places like lobste.rs it easy to stay shallow.

                                                                  One way I’m trying go deep is actively search for a relatively limited set of topics I’m trying to go deep on… read those and engage and comment….

                                                                  If I make a fool of myself, someone who does know will tell me I’m an idiot and I can ask them what I need to read to be less of an idiot…

                                                                  ….in this way I slowly get deeper and deeper into the topic.

                                                                2. 4

                                                                  Mainly by checking up on something if it’s that interesting. Something about an Emacs trick, something about parsing, something about type systems, so on and so forth. Besides that, reading the comments. Other peoples’ two cents on something tends to get me thinking about the benefits or drawbacks of whatever the article had. Heck, maybe even learn something new there.

                                                                  1. 3

                                                                    I generally look for technologies that are conceptually different than what I’ve seen before. So having learned Ruby, I didn’t bother looking into Python too deeply because they were conceptually the same. Just knowing it existed was good enough (for web app dev). But I picked up Python, since I was doing conceptually different things in machine learning.

                                                                    However, when React came along, it was conceptually different than Backbone, jQuery, Angular, so it warranted a closer look. I’ve found that looking for conceptually novel ideas behind the technology works as a pretty good indicator to look deeper.

                                                                    1. 3

                                                                      Shallow learning is actually usually my goal. I’m not working with WebAssembly at my job…yet. So I don’t want to spend my time getting deeply familiar with it. But I do want a shallow understanding of what it’s for and when I should start deep learning it (if ever).

                                                                      When I actually need to learn something, setting a small hello world project where I can explore the technology is my next step. From there I search for my questions as they come up.

                                                                      Lobste.rs fills this need nicely for me. It has a way better signal to noise ratio than Reddit or HackerNews. It’s the only tech site I regularly visit even when I’m outside work hours.

                                                                      1. 1

                                                                        Mainly by taking on the technologies that interest me on a deep level, and trying to build something using them.

                                                                        I’ve done this for stack based programming languages, Nim, and so on.

                                                                        Deep learning is a lot harder than shallow learning, I find, however, so it happens outside of work less.

                                                                        1. 1

                                                                          I assume that the article is wrong.

                                                                          I examine the premises of the article and what it claims. I inspect those claims to see if I can verify them. I test their durability by mapping them to other domains of reasoning, or building new scaffolding on top of their mid-level results.

                                                                          I also try to make commitments to fully read papers if they are sufficiently interesting. I take the concepts described in the papers, and I imagine them in as much detail as I can.

                                                                          1. 1
                                                                          2. 3

                                                                            Anyone have a good way of filtering Lobsters posts by popularity/comments/upvotes through RSS? I like Lobsters more than HN, but I miss the abliity to filter posts (e.g. only posts with 10+ upvotes).

                                                                            1. 2

                                                                              Coupling Lobsters mailing list feature with an advanced MUA (or sieve) you can at least filter for topics you’re interested and ignore everything else.

                                                                          1. 3

                                                                            I’m not aware of a dedicated competitor (Quora comes to mind, but is of course walled if you don’t join and has its own community issues.)

                                                                            There is Reddit’s AskProgramming forum and CSCareerQuestions, but both are more focused on lifestyle than actual language questions. Individual language subreddits may have better results.

                                                                            Otherwise, there is the mighty DuckDuckGo/Google “My question” and seeing what pops up. 90% of the time it will be a Stack Overflow answer, but you may also run into Medium articles answering.

                                                                            Dev.to allows you to post questions, but it is more of a blogging alternative to Medium than an answer to Stack Overflow.

                                                                            Anyone have any other suggestions?

                                                                            1. 11

                                                                              I swear by my Bullet Journal. It replaced a text file-based system (a sort of pseudo org-mode) that depended too much on having a laptop or other computer.

                                                                              • The friction of having to rewrite todo items by hand helps me keep my lists short. That significantly reduces the stress of giant, “eternal” digital lists.
                                                                              • Keeping it physical means that my phone and all its countless distractions can stay in my pocket.
                                                                              • Marking things as done with a pen feels like more of an accomplishment than tapping a digital checkbox. All the more dopamine.

                                                                              Their app is a big help, too.

                                                                              1. 7

                                                                                I personally found pen and paper to still beat digital note taking software. For some reason I always spend more time tweaking the software than actually using it. Either that or I get distracted by something else. With pen and paper you don’t have much to do but write, so I find it easier to stay focused.

                                                                                1. 3

                                                                                  Exactly this, too. I had a small suite of scripts supporting my text file system. I fell off the wagon with it, in part, because of the effort that would have been involved in setting everything back up after a system reinstall. With a Bullet Journal, I just buy a new notebook and a new pen.

                                                                                2. 2

                                                                                  I do something similar, though it’s far more basic than bullet journaling. I use a fairly thick journal, but it fits into a back pocket pretty easily.

                                                                                  I’ve been eyeing the reMarkable since it was first announced, but their only product is still much too big for my uses. And, honestly, I don’t know whether I’d be okay with something I have to keep charged. But I also don’t like the paper waste I generate, so I guess I’m still eyeing it.

                                                                                  1. 1

                                                                                    An ex-coworker of mine had a reMarkable. She really loved it. I think the key feature for her was the ability to import pdf documents and mark them them up. She also liked how easy it was to organize notebooks for different contexts (as a manager, she was constantly referring to 1 over 1 notes by person, or project notes, or policy deployment notes). She didn’t seem to have issues witht he battery very often–It was a recharge it every other day sort of thing, if I recall.

                                                                                    I personally prefer fancy fountain pens, otherwise I would have considered one myself.

                                                                                    1. 2

                                                                                      I’m a fountain pen person, myself, though I lean towards the non-fancy. Platinum Preppies are an amazing value, for example.

                                                                                  2. 1

                                                                                    I’m back on BUJO as well. I’ve had great success at using org-mode on more complicated projects, but my current project has few tasks, so it is easier to record my few todos in there. I don’t really bother with the calendar very much, I like the push notifications from my work calendar.

                                                                                    Bonuses include being able to doodle in boring meetings.

                                                                                    1. 1

                                                                                      I was using a text file based checklist system that I concocted myself, but moved the todos to Todoist. Which is decent, but I find it difficult to use it for larger projects, or for recording daily activities.

                                                                                      1. 1

                                                                                        Do you use it the way they describe it in their intro video? Or have you made any modifications of your own?

                                                                                        1. 1

                                                                                          Essentially the same, though I don’t really use the monthly calendar feature. (That says more about inattention to time than about that particular feature.)

                                                                                          I do use an ! notation to highlight the 1-3 things that most need to get done in a given day.

                                                                                          The most important thing, I’d say, is to give the base system a try for at least six weeks (so that I you see an entire month through and more) so that you can develop an informed instinct for what you personally want to change.

                                                                                      1. 4

                                                                                        This is an essay that needs a good amount of chewing to get through. But I do think the insights are quite relevant.

                                                                                        On first read, I pulled out these ideas:

                                                                                        • To deeply learn a topic, write flashcards yourself. The act of making them requires you review the material and internalize it.
                                                                                        • Spaced repetition review assists recall. Lots of discussion on how technology can help with it. Surprisingly simple technology, too!
                                                                                        • Using other people’s desks (ala Anki) is a less efficient way to learn. You may not care deeply enough about the topic for your brain to be on board with learning it. You didn’t create the cards, so you lose that opportunity to understand the material more deeply. Spaced repetition still helps.

                                                                                        I think this is an article that merits rereading. It has caused me to reflect on learning I do for $WORK/$HOME and if I can improve my processes there.