https://old.reddit.com/r/ExperiencedDevs/comments/nmodyl/drunk_post_things_ive_learned_as_a_sr_engineer/ jump to content my subreddits edit subscriptions * popular * -all * -random * -users | * AskReddit * -funny * -movies * -explainlikeimfive * -todayilearned * -gaming * -IAmA * -pics * -news * -worldnews * -aww * -videos * -Jokes * -mildlyinteresting * -askscience * -TwoXChromosomes * -nottheonion * -books * -LifeProTips * -tifu * -Showerthoughts * -science * -Music * -Art * -sports * -gifs * -OldSchoolCool * -dataisbeautiful * -Futurology * -DIY * -Documentaries * -food * -photoshopbattles * -nosleep * -space * -history * -UpliftingNews * -EarthPorn * -WritingPrompts * -GetMotivated * -InternetIsBeautiful * -philosophy * -creepy * -gadgets * -listentothis * -announcements * -blog more >> reddit.com ExperiencedDevs * comments * other discussions (7) Want to join? Log in or sign up in seconds.| * English [ ][] [ ]limit my search to r/ExperiencedDevs use the following search parameters to narrow your results: subreddit:subreddit find submissions in "subreddit" author:username find submissions by "username" site:example.com find submissions from "example.com" url:text search for "text" in url selftext:text search for "text" in self post contents self:yes (or self:no) include (or exclude) self posts nsfw:yes (or nsfw:no) include (or exclude) results marked as NSFW e.g. subreddit:aww site:imgur.com dog see the search faq for details. advanced search: by author, subreddit... this post was submitted on 28 May 2021 6,225 points (98% upvoted) shortlink: [https://redd.it/nmod] [ ][ ] [ ]remember mereset password login Submit a new link Submit a new text post Get an ad-free experience with special benefits, and directly support Reddit. get reddit premium ExperiencedDevs joinleave32,813 readers 1,716 users here now Welcome to the /r/ExperiencedDevs subreddit! We hope you will find this as a valuable resource in your journeys down the fruitful CS/IT career paths. This community leans towards being a specialized subreddit facilitating discussion amongst individuals who have gained some ground in the IT world. For an idea of what is encouraged in this subreddit and what is not (please report anything that does not follow the rules): Rules 1. Do Not Participate unless Experienced This can widely be seen as under 3 years of experience, but by many goes up to 5 years. If you have less than 3 years of experience as a developer then do not make a post, nor participate in comment threads except the weekly Ask Experienced Devs thread. 2. No General Career Advice This sub is for developers. Asking if you should ask for a raise, to switch companies, etc. constitutes general career advice, not career advice based on being a developer. This is better suited elsewhere. /r/careerguidance, /r/AskHR, 3. No Googleable Questions Self explanatory. This includes most equity questions, most salary questions, every FAANG question, most questions about job titles. Interview questions, questions about Leetcode practice, etc. all fall under this banner. Googleable questions are not usually up for discussion. Most of these things are binary, yes, no, this is the exact answer, kind of questions. These are not suited for a discussion format like this sub. 4. No "What tech should I learn" questions No questions like "Should I learn C#?" or "Should I switch jobs into a language that I don't know?" This does not mean no discussion about industry direction or upcoming technologies. Just frame the question as part of a larger discussion, rather than implicitly aimed at yourself and you will be fine. 5. No Disrespectful Language or Conduct Do not be a jerk. Act maturely and respect others the way you wish to be respected. Racism, unnecessarily foul language, ad hominem charges, etc. are not tolerated here. Do not submit posts or comments that break, or promote breaking the Reddit Terms and Conditions or Content Policy or any other Reddit policy. Violators will receive a warning, then a 7 day ban, then a permanent ban. Related Subs CS Career Questions CS Career Questions: Europe CS Interview Questions Learn Programming General Programming Discussion Coding CS Theory CS Education IT Career Questions Telecommuting General Job Discussion Digital Nomads Ask Network Security NetSec Students Career Guidance --------------------------------------------------------------------- created by kormaplsMIT | r/experienceddevsa community for 3 years MODERATORS * message the mods * snowe2010Senior Software Engineer (9+yoe) and Grand Poobah of the Sub * AutoModerator * about moderation team >> discussions in r/ExperiencedDevs <> X 96 * 8 comments Caffeinated post: Documentation, how to do it 74 * 47 comments Super healthy sober post: things I learned as a coding machine in startups 23 * 23 comments A newly hired dev continually challenges my seniority in the company and creates a divide in the team. 43 * 46 comments What languages have you most enjoyed/least enjoyed working with professionally 533 * 164 comments Sober Post: Things I've learned down-leveling my career 36 * 13 comments [it8UcneV] /r/experienceddevs hit 30k subscribers yesterday 1 * 6 comments How to "figure out" if it is a you're ready to ask for a raise? 1 * 1 comment User flats for title/yoe 19 * 14 comments Lead Dev quit within a week of joining, stuck. 45 * 169 comments Debugger users are the best Welcome to Reddit, the front page of the internet. Become a Redditor and join one of thousands of communities. x 6224 6225 6226 Drunk Post: Things I've learned as a Sr Engineer ( self.ExperiencedDevs) submitted 2 days ago by flipstables[SnooClappi][b9ks3a5k7j] [80j20o397j][vu6om0xnb7][Train_silv][platinum_4]2[Animated_H]2 [gold_48]13[xe5mw55w5v][SnooClappi][Rocket_48][Vibing_48]2 [klvxk1wggf]13[5izbv4fn0m]18[silver_48]18[45aeu8mzvs]2[v1mxw8i6wn] [ks45ij6w05]13[rc5iesz2z8][p4yzxkaed5]& 90 more I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years. * The best way I've advanced my career is by changing companies. * Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit. * There's a reason why people recommend job hunting. If I'm unsatisfied at a job, it's probably time to move on. * I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends. * I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks. * If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit. * pour another glass * Qualities of a good manager share a lot of qualities of a good engineer. * When I first started, I was enamored with technology and programming and computer science. I'm over it. * Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all. * The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.) * Related to above, writing good proposals for changes is a great skill. * Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below. * The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me. * If I ever find myself thinking I'm the smartest person in the room, it's time to leave. * I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so little. * We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns. * sip * Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us. * Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty programming language that's good at almost everything. * The greatest programming language ever is lisp. I should learn lisp. * For beginners, the most lucrative programming language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k. * Tests are important but TDD is a damn cult. * Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors. * Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies. * Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade. * Work from home is the tits. But lack of whiteboarding sucks. * I've never worked at FAANG so I don't know what I'm missing. But I've hired (and not hired) engineers from FAANGs and they don't know what they're doing either. * My self worth is not a function of or correlated with my total compensation. Capitalism is a poor way to determine self-worth. * Managers have less power than you think. Way less power. If you ever thing, why doesn't Manager XYZ fire somebody, it's because they can't. * Titles mostly don't matter. Principal Distinguished Staff Lead Engineer from Whatever Company, whatever. What did you do and what did you accomplish. That's all people care about. * Speaking of titles: early in your career, title changes up are nice. Junior to Mid. Mid to Senior. Senior to Lead. Later in your career, title changes down are nice. That way, you can get the same compensation but then get an increase when you're promoted. In other words, early in your career (<10 years), title changes UP are good because it lets you grow your skills and responsibilities. Later, title changes down are nice because it lets you grow your salary. * Max out our 401ks. * Be kind to everyone. Not because it'll help your career (it will), but because being kind is rewarding by itself. * If I didn't learn something from the junior engineer or intern this past month, I wasn't paying attention. * Oops I'm out of wine. * Paying for classes, books, conferences is worth it. I've done a few conferences, a few 1.5k courses, many books, and a subscription. Worth it. This way, I can better pretend what I'm doing. * Seriously, why aren't webdevs paid more? They know everything!!! * Carpal tunnel and back problems are no joke. Spend the 1k now on good equipment. * The smartest man I've every worked for was a Math PhD. I've learned so much from that guy. I hope he's doing well. * Once, in high school, there was thing girl who was a great friend of mine. I mean we talked and hung out and shared a lot of personal stuff over a few years. Then there was a rumor that I liked her or that we were going out or whatever. She didn't take that too well so she started to ignore me. That didn't feel too good. I guess this would be the modern equivalent to "ghosting". I don't wish her any ill will though, and I hope she's doing great. I'm sorry I didn't handle that better. * I had a girlfriend in 8th grade that I didn't want to break up with even though I didn't like her anymore so I just started to ignore her. That was so fucked up. I'm sorry, Lena. * You know what the best part of being a software engineer is? You can meet and talk to people who think like you. Not necessarily the same interests like sports and TV shows and stuff. But they think about problems the same way you think of them. That's pretty cool. * There's not enough women in technology. What a fucked up industry. That needs to change. I've been trying to be more encouraging and helpful to the women engineers in our org, but I don't know what else to do. * Same with black engineers. What the hell? * I've never really started hating a language or technology until I started becoming intimately familiar with it. Also, I think a piece of tech is good if I hate it but I simultaneously would recommend it to a client. Fuck Jenkins but man I don't think I would be commuting software malpractice by recommending it to a new client. * That being said, git is awful and I have choice but to use it. Also, GUI git tools can go to hell, give me the command line any day. There's like 7 command lines to memorize, everything else can be googled. * Since I work in data, I'm going to give a data-specific lessons learned. Fuck pandas. * My job is easier because I have semi-technical analysts on my team. Semi-technical because they know programming but not software engineering. This is a blessing because if something doesn't make sense to them, it means that it was probably badly designed. I love the analysts on the team; they've helped me grow so much more than the most brilliant engineers. * Dark mode is great until you're forced to use light mode (webpage or an unsupported app). That's why I use light mode. * I know enough about security to know that I don't know shit about security. * Crap I'm out of wine. * Being a good engineer means knowing best practices. Being a senior engineer means knowing when to break best practices. * If people are trying to assign blame to a bug or outage, it's time to move on. * A lot of progressive companies, especially startups, talk about bringing your "authentic self". Well what if your authentic self is all about watching porn? Yeah, it's healthy to keep a barrier between your work and personal life. * I love drinking with my co-workers during happy hour. I'd rather spend time with kids, family, or friends. * The best demonstration of great leadership is when my leader took the fall for a mistake that was 100% my fault. You better believe I would've walked over fire for her. * On the same token, the best leaders I've been privileged to work under did their best to both advocate for my opinions and also explain to me other opinions 'that conflict with mine. I'm working hard to be like them. * Fuck side projects. If you love doing them, great! Even if I had the time to do side-projects, I'm too damn busy writing drunken posts on reddit * Algorithms and data strictures are important--to a point. I don't see pharmacist interviews test trivia about organic chemistry. There's something fucked with our industry's interview process. * Damn, those devops guys and gals are f'ing smart. At least those mofos get paid though. * It's not important to do what I like. It's more important to do what I don't hate. * The closer I am to the product, the closer I am to driving revnue, the more I feel valued regardless of how technical my work is. This has been true for even the most progressive companies. * Linux is important even when I was working in all Windows. Why? Because I eventually worked in Linux. So happy for those weekend where I screwed around installing Arch. * I've learned to be wary for ambiguous buzz words like big data. WTF is "big" data? I've dealt with 10k rows streaming every 10 minutes in Spark and Kafka and dealt with 1B rows batched up hourly in Python and MySQL. Those labels can go fuck themselves. * Not all great jobs are in Silicon Valley. But a lot are. Finally, if you really want to hurt me, don't downvote I don't care about that. Just ignore this post. Nothing makes me sadder than when I wrote a long post and then nobody responds. So if you hate this post, just ignore. * 542 comments * share * save * hide * report top 200 commentsshow 500 sorted by: best topnewcontroversialoldrandomq&alive (beta) [ ] Want to add to the discussion? Post a comment! Create an account [-]flipstables[S] 152 points153 points154 points 2 days ago (6 children) Oh man I love the responses. You all are friggin awesome. On the whiteboards: yeah it's not the whiteboard per se. It's the collaboration on a whiteboard. If it's just about drawing something out, then pen and paper is fine. It's the collaboration between two people on a shared workspace where you can easily draw out ideas. It's the "here's my idea but here's the pen what's your idea and shred mine to pieces" workspace. A shared text editor isn't the same. And not everyone has a tablet so that a virtual whiteboard works the same way. Again I'm drunk so maybe I'm just an old fogey. Anyway, thanks for the replies! Glad this resonated with a lot of you! Don't feel so lonely tonight! * permalink * embed * save * report * give award * reply [-]PsychologicalWorld83 8 points9 points10 points 2 days ago (0 children) OP, you should try Miro for tech brainstorming! It's a tool for product/business people, but I feel it's the perfect remote whiteboard experience. * permalink * embed * save * parent * report * give award * reply [-]theclacks 20 points21 points22 points 2 days ago (0 children) Lol, I just posted "I think he means the collaboration" on a whiteboard to someone above, but yeah. As someone who on-boarded remotely during the pandemic and absolutely HATES all the extra barriers to communication, I totally agree. * permalink * embed * save * parent * report * give award * reply [-]moyste 1 point2 points3 points 2 days ago (0 children) Epic post, my dude. My hat is off to you. * permalink * embed * save * parent * report * give award * reply load more comments (3 replies) [-]flipstables[S] 690 points691 points692 points 2 days ago [Timeless_5][Starry_512]2[klvxk1wggf]2[5izbv4fn0m]4[silver_48] [ks45ij6w05]2[p4yzxkaed5]& 4 more (92 children) Oh shit I found beer: let's keeping going. On programming languages: * I once hated a programming language (C#) until I started using it. Now I hated it but think it's useful. * Then I started hating a programming language (C#) and left it and came back. Wow, that programming language has really improved. * The greatest thing about functional languages is that functions are first class and all other programmers know that. * No matter how great or superior a language is, it doesn't matter if people don't use it. * Learning a language isn't hard. It's learning the ecosystem. On coworkers * Pair programming is great, it just takes a lot of time--time that the company usually doesn't want to spend. * Working with smart engineers has made me a better coder. Working with smart non-technical co-workers has made me a better engineer. * Don't spend time outside of the 9-5 working. Unless you want to because you got a banging project and you're in the groove. That shit is awesome. * Happy hours and social hours across teams are 99% just chilling and getting to know coworkers. That's cool. Every once in a while, the 1% is about a critical project with a critical piece of code and you're glad you brought up work in a social setting because shit would've hit the fan otherwise. I'm not saying that I should hang out with other teams outside of work because of this. I just want to bond. But it sure as hell is a nice perk. On working from home * If the company is half remote and half on-site, it's important to determine if the remote people aren't treated as second-class citizens. If major decisions are made "at the water cooler", then it's better to try to change the company culture (hard) or move on to a different company that treats its remote employees as first class citizens. * The second worst major downside of working from home is no whiteboard. * The first major downside of working from home is that it's hard to learn from coworkers. Unless I'm (a) confident and assertive to ask questions and (b) the company has a culture where remote workers are equivelent to on-site workers, I think it was best that I worked on-side for the first 5 years of my career. On technology * Everyone knows that tech changes. The tech landscape of the past 10 years has changed dramatically. But fundamentals don't change very much, especially fundamentals that apply to my field. * Hacker news and /r/programming is only good to get general ideas and keep up-to-date. The comments are almost worthless. * There's a lot of vocal amateurs with strong opinions about technology. Even amateurs published on "respectable" journals and blogs. I found it to keep abreast of the rumors but to figure things out for myself. * I work at a cutting edge startup and we don't use the latest XYZ tech that was present at ABC cutting edge tech company. And it turn out, what they usually present is only a small percentage of their engineering department and that most of them are using the same tech we are. * That being said, it's important to read the signs. If you want to work with modern tech and you're company is still doing the majority of it's development in jQuery, might be time to re-evauluate. On Data Engineering * Fuck it I'm a data engineer so I might as well give more specific, target advice/experience * SQL is king. Databases like MySQL, Postgres, Oracle, SQL Server, SQLite is still supreme. Even if you work with new tech, most of it transfers anyway. * Most companies aren't doing streaming. It's hard and complicated. If you're 10 years into your career and you don't know how to work with 10k records per second, don't worry about it, there's still jobs out for you. * Airflow is shit, yes. There are other products out there, but fuck me if Airflow isn't the most widely used. * Machine learning projects are highly prone to failure. They're complicated and hard to implement. Don't believe me? How easy is it to write fucking unit test a machine learning model? Yeah. * Our field is new. There's no good book on data engineering, just go and "do it". Can't learn it through a bootcamp and shit. This will probably change in 10 years as we all figure out what the fuck we're doing. On Life * People die. Do you want your code to be your legacy? If yes, then spend a lot of time on it because that's your fucking legacy and you go! But if you are like me, your legacy is surrounded with family, friends, and people in your life and not the code you write. So don't get too hung up on it. * Good people write shitty code. Smart people write shitty code. Good coders and good engineers write shitty code. Don't let code quality be a dependent variable on your self worth. * I got into tech and coding because tech was my hobby. Now my hobby is is the same as work and work has ruined my hobby. So now if I want to enjoy tech I need to quit my hobby. Or I need to be OK that tech is no longer my hobby and find new hobbies. * Programming and computer science is like, what, 80 years old? Compare that with any other engineering discipline. Yeah, we collectively don't know what the fuck we're doing. * I'm making pretty good money. Be grateful and appreciate. Also, save. Other shit * I've built large platforms and libraries that are used by multiple teams and people for many years. Yet for some reason, the most proud I was of the code I wrote was the small script that was used by me. * The proudest accomplishment of my career has been helping other people be better at their jobs. That's probably because I'm destined to be a people manager, so this is probably not helpful to other people. * When I was looking for a job, I created an updated my Linkedin. I got shit replies and deleted it. Now I use Linkedin to find other candidates to join my company. Bottom line, Linkedin is a lot of noise. I only find it valuable because now, part of my job is contributing to that noise. * Once, I found out in college that a girl liked me. I didn't believe it because I had poor self esteem, but then she asked me out. I told her I wasn't interested even though she was really cool. That was one of the proudest moments in my life because I as mature enough at 19 to say "no" in a mature way. * /r/cscareerquestions is such a cesspool of ego and misinformation that I don't know what to do about it. Like, WTF. I want to shake all those people and try to explain to them how the world really is, but they wouldn't believe me. On my general feelings right now * I'm drunk and I usually don't drink, so I would think that everything I say is probably cringy or terrible * I feel strongly that people should save and invest money. If you have a 6 figure salary, do your best to max our your 401k please. * I've become what I've always hated: someone who works in tech in a career but avoid tech in real life. Maybe that comes with being old. * /r/ExperiencedDevs is a pretty cool community. Thank you mods. You get way less appreciation than you deserve. Seriously, thank you. * I probably owe my career, my salary, my life to Reddit. Reddit gets a lot of shit but the communities here have lifted me out of poverty (working at a gas station earning min wage) to learning Linux, SQL, python, C#, Python, and others to get me where I am. * Kids are great. I don't have kids by choice. Why? Because I love kids and I'm scared about what kind of father I would be. Oh shit, is that too personal for a post here? * Once, someone asked me who I looked up to and I said Conan O'brien, and they laughed at me. But I was being serous because on his last show on the Tonight Show, he told his audience to be kind and work hard. It happend during a difficult period of my life, and when I watched him say that, I said, you know what, I'm going to do just that. Because what would I have to lose? And you know what? I've met some brilliant people who I've learned from over 10+ years because I was kind to them. And I've grown a lot by working hard and not being afraid to try new things. And my life is infinitely, infinitely better because of those words. So yes, it might seem silly and even ridiculous to say that I've achieved a level of fulfillment in my life because of a late night talk show. But you know what, fuck it, it's my life and I will proudly say that I owe any success I've achieved because a fucking comic on late night television. I'm highly intoxicated so please disregard anything I say. Also apologies for ranting. * permalink * embed * save * report * give award * reply [-]Kaono 58 points59 points60 points 2 days ago (2 children) Our field is new. There's no good book on data engineering, just go and "do it". Designing Data-Intensive Applications is a pretty damn good book * permalink * embed * save * parent * report * give award * reply [+]AlexCoventry 4 points5 points6 points 2 days ago (0 children) Yeah, I had the same thought. * permalink * embed * save * parent * report * give award * reply [+]Diosjenin 1 point2 points3 points 20 hours ago (0 children) Oooh. I'm considering transitioning from generalist backend work into data engineering (the projects I've loved most in my career were functionally ETL tools) and really wasn't sure where to start learning the ropes in what is clearly a very new subspecialty. This is exactly the kind of resource I was looking for. Thanks so much! * permalink * embed * save * parent * report * give award * reply [-]SealClubb3r 153 points154 points155 points 2 days ago (8 children) This is gold. I want more of this on Reddit * permalink * embed * save * parent * report * give award * reply [-]LastSummerGT 45 points46 points47 points 2 days ago (7 children) Seriously. I would donate to a beer fund for Drunk Devs Rants like these. 10 YoE minimum just like OP. * permalink * embed * save * parent * report * give award * reply [-]FriendlyDisorder 3 points4 points5 points 21 hours ago (1 child) Time for r/DrunkDevs? Edit: oops, that exists. r/DevRants? Yep, that's available. * permalink * embed * save * parent * report * give award * reply [-]LastSummerGT 3 points4 points5 points 9 hours ago (0 children) I feel that if someone was inclined to they could take over /r/ drunkdevs since it's been abandoned. * permalink * embed * save * parent * report * give award * reply [-]thunder_jaxx 2 points3 points4 points 2 days ago (0 children) I would totally put money in that fund * permalink * embed * save * parent * report * give award * reply load more comments (4 replies) [-]DargeBaVarder 146 points147 points148 points 2 days ago (1 child) /r/cscareerquestions is such a cesspool of ego and misinformation that I don't know what to do about it. Like, WTF. I want to shake all those people and try to explain to them how the world really is, but they wouldn't believe me. /r/ExperiencedDevs is a pretty cool community. Thank you mods. You get way less appreciation than you deserve. Seriously, thank you. No real comment, just wanted to highlight these two points. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]TehBeege 20 points21 points22 points 2 days ago (2 children) Hey, this rant is great. Make a blog post out of it. Then send me the link so i can translate it into Korean. Shit is fucked over here at most places. I'm lucky to be at a good place right now, but circulating something like this could go a long way in improving the ecosystem here. I'll get it translated into Korean anyway, but I'd love to back link to your blog. * permalink * embed * save * parent * report * give award * reply load more comments (2 replies) [-]ApatheticDino 12 points13 points14 points 2 days ago (1 child) Thanks for sharing your thoughts and that Conan clip. I'm glad there's people out that aim to be better every day * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [+]EuroPolice 11 points12 points13 points 2 days ago (0 children) Dude, I'm a Junior dev really unhappy on my job. You may have been the very thing I need to leave my job and keep studying * permalink * embed * save * parent * report * give award * reply [-]ToxicPilot 31 points32 points33 points 2 days ago (0 children) Get some more beer. Drunk you just.... just gets me. * permalink * embed * save * parent * report * give award * reply [-]AetherAlex 69 points70 points71 points 2 days ago (21 children) It's not illegal to buy a whiteboard for at home. If the advice is invest in good ergonomics, invest in the tools you need at home too. Writing down stuff won't be going out of style. If the other half complains, stick some art to the back of it and flip it around when you're not working. * permalink * embed * save * parent * report * give award * reply [-]theclacks 94 points95 points96 points 2 days ago (20 children) I think he means joint whiteboarding with a team. I know there are apps for that, but it's not the same as one person presenting Pepe Silvia-style + others at random intervals standing up and asking for the pen. * permalink * embed * save * parent * report * give award * reply [-]roodammy44 14 points15 points16 points 2 days ago (1 child) Yeah, this is the one thing I really miss when WFH. Everything else doesn't matter. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]elus 5 points6 points7 points 2 days ago (13 children) Is there a smart board system that can mirror the contents of other whiteboards that it's connected to over the internet? I'd pay for my team to have that and we can send each other hand written notes and doodles all day. Also would be funny to exploit. Shit I really want this to be a thing. And I'm not on a contract right now. * permalink * embed * save * parent * report * give award * reply [-]metaconcept 6 points7 points8 points 2 days ago (3 children) Yea, we have them and they suck. The pens don't have enough resolution and it makes your handwriting look like crap. * permalink * embed * save * parent * report * give award * reply [-]elus 2 points3 points4 points 2 days ago (2 children) I'll wait for v2 * permalink * embed * save * parent * report * give award * reply load more comments (2 replies) [-]elgrovetech 4 points5 points6 points 2 days ago (2 children) We use Miro for this. It's not as good, obviously, but it works just about. * permalink * embed * save * parent * report * give award * reply [-]elus 1 point2 points3 points 2 days ago (1 child) Neat. Does it allow playback or highlight who made what change? * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) load more comments (6 replies) load more comments (4 replies) [-]8EF922136FD98 21 points22 points23 points 2 days ago (1 child) As a junior dev, I find that's a lot of wisdom. Thank you sir. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]tempo0209 7 points8 points9 points 2 days ago (0 children) I am going through personal issues myself, here I am just solved some problems on LC(dont hate me please), and wanted to check out Reddit in a break. Boy o boy! loved this post! thank you for your words. I have started becoming kind to others, i started to learn what it means to show compassion, be more empathetic, and still be aggressive in pursuing your goals.Thank you! * permalink * embed * save * parent * report * give award * reply [+]beefz0r 2 points3 points4 points 2 days ago* (0 children) Finally someone that can say SQL is king. I came across multiple people that said relational db's are old, slow, have no future and you should use document db's instead. They. Mustn't. Be. Compared. They both have their purposes. Also lol on 'I work in tech but avoid tech' so relatable !! * permalink * embed * save * parent * report * give award * reply [-]DrMcRobot 2 points3 points4 points 1 day ago (1 child) On kids. Since you've dispensed wisdom, this is the wisdom (I hope) I can offer in return. I spent most of my 20s and 30s adamant that I would never have kids. I don't remember exactly why - probably that it was simply too much responsibility, too real and too big - too risky - a change from what was current and comfortable. My girlfriend at the time was the same. She knew she never wanted kids. But for her it was a critical component of her self identity. All her friends wanted kids, whereas she almost defined herself by her lack of interest in kids. And so when kids came up, I was indifferent - but she would be anti kids to an extent that sometimes made me uncomfortable. She'd express annoyance whereas I'd be like "They're just being kids, albeit I'm glad they're not my problem". Eventually my girlfriend and I split up. And for a while, I felt like "Finally! Fort the first time in, like, forever I can do what I want to do!" And I did. I watched telly. I played all the videogames. I had no responsibilities to another human being and for all of a few months it was, indeed, grand. Then I got the point where I'd cleared the backlog of games, I'd caught up on the telly, and I found myself stuck in a rut. I'd come home after work, and I would just... be bored. I wouldn't know what to do to keep myself occupied until I went to bed. I realised that all this stuff, this media that I thought was so important to me... Wasn't. And it was then that I started to really think about what was genuinely important. What I wanted my life to actually be. 10 years later I'm married to an amazing woman, and I have 3 kids (8, 6 and 2). I can't imagine what the me of 10 years ago would think of my life now. Possibly I needed to got that low point to really understand the value of what I have now. My kids are the most amazing shit. They get in the way of me watching telly and playing games... But on the other hand one of them is super into Harry Potter and experiencing it through her is somehow more enjoyable than when I experienced it for myself. And the 6-year old can be an Olympic-level asshole, but he's essentially living evidence that predilection for Transformers/Pokemon/videogames/toilet humour is genetic, and all he wants to do is enjoy it with me. And the smallest one, when he's sad, comes for cuddles and it melts my fucking heart. And even though looking after them is a fucking ballache, it doesn't feel like an insurmountable one, like it did when the fear of having kids was all mixed up with the fear of the unknown. I, like so many fathers before me, have figured it out as I've gone along, and - again, like so many - realised that (luckily for our species) it's not actually as difficult as it might look from the outside. You make it work. And some days you don't, and you feel like shit. And then you remember that your own parents were assholes (i.e. human) sometimes, and they still managed to raise you, right? And your kid still comes to you for a cuddle, and you realise that every time you fuck up, you get a chance to put it right, and that this isn't a one off test but something you can keep working on for - literally - a lifetime. I'd never tell someone to have kids. You never know enough about them or their situation. But I would say that sometimes people - like I did - need that little nudge to realise that while "I never want kids" may have been true - and valid - for a long time, that doesn't mean you can't change your mind when you're ready. Loved your post. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]bladekill97 8 points9 points10 points 2 days ago (0 children) I like you. * permalink * embed * save * parent * report * give award * reply [-]S106104981310 1 point2 points3 points 2 days ago (0 children) No matter how great or superior a language is, it doesn't matter if people don't use it. reminds me of this thread * permalink * embed * save * parent * report * give award * reply load more comments (41 replies) [-]fzammetti 59 points60 points61 points 2 days ago (10 children) Work from home is the tits. But lack of whiteboarding sucks. Several years ago, while I was away on a business trip, my wife had a contractor come in and panel my home office in whiteboard paneling. Seriously... every wall, floor to ceiling, is a whiteboard in my office now. She didn't do the ceiling or floor, hey, but that'd just be overkill after the like 480 square feet of whiteboard I have now, right?? I love that woman dearly sometimes :) * permalink * embed * save * report * give award * reply [-]ReaderRadish 19 points20 points21 points 2 days ago (8 children) There's also whiteboard paint... * permalink * embed * save * parent * report * give award * reply [-]sea-gherkin 19 points20 points21 points 2 days ago (0 children) Yeah, but textured walls. * permalink * embed * save * parent * report * give award * reply [-]AuroraFireflash 8 points9 points10 points 2 days ago (1 child) There's also whiteboard paint... Which is okay, but it eventually gets dirty and has to be repainted. We have it in our office area. As I understand it, glass whiteboards are still the gold standard (easy to clean, the ink doesn't permanently stain the wall if left on for a few days/weeks, etc.). * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]fzammetti 4 points5 points6 points 2 days ago (0 children) Not sure she knew that (I know I didn't). But, given what was on the walls before, it wouldn't have worked... or, more realistically, would have probably doubled the cost of the job at least. She's pretty frugal too :) * permalink * embed * save * parent * report * give award * reply [-]IlllIllllllllllIlllI 3 points4 points5 points 2 days ago (0 children) Which sucks if your walls aren't perfectly smooth. Showerboard from Home Depot is a good whiteboard alternative. * permalink * embed * save * parent * report * give award * reply [-]LastSummerGT 1 point2 points3 points 2 days ago (0 children) My walls are a little bumpy, and I've seen the full-wall paneling before in college. I don't blame OP, it's nice. * permalink * embed * save * parent * report * give award * reply [-]dexx4d 1 point2 points3 points 2 days ago (0 children) I've tried whiteboard paint before, now I have whiteboards hanging in front of it because they work better. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) load more comments (1 reply) [-]cstoner 44 points45 points46 points 2 days ago (3 children) The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.) Someone told me about https://www.plainlanguage.gov/guidelines/ and I honestly think that it's a fantastic resource with regard to writing good documentation. * permalink * embed * save * report * give award * reply [-]ccricers 1 point2 points3 points 2 days ago (1 child) There are particular jobs in other fields of engineering that are mostly dedicated to technical writing. Doesn't seem to be enough of that with software, unless it's some big time company that aims to write software for end users (as opposed to software used internally by the company). * permalink * embed * save * parent * report * give award * reply [-]cstoner 4 points5 points6 points 2 days ago (0 children) I think that in part this is due to the fact that for most other engineering disciplines, things are a lot harder to change after they're built. This means there's a lot more up-front design and as a result you end up naturally with a lot more technical docs. I believe firmly that if bridge builders could refactor their design on the fly as easily as software engineers can that they would. We'd likely end up with much worse documentation as a result. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]woodland__creature 109 points110 points111 points 2 days ago (15 children) I'm a full stack webdev! I probably don't know what I'm doing most of the time. But I agree I want to be paid more! * permalink * embed * save * report * give award * reply [-]i-can-sleep-for-days 43 points44 points45 points 2 days ago (12 children) It seems odd that there is a market for full stack. When a projects gets big enough usually people pick back or front and stick to that. It's great there are people that can jump in and do dB work and next do some html. But why? Even if the person is a god there is a limit to how fast he/she can type. So if you got enough work you need to hire more engineers and at that point instead of hiring full stack you can go 1 front and 1 back and probably get more depth than 2 full stack. Anyone work on teams with only full stacks? What is that like and why did it stay that way? * permalink * embed * save * parent * report * give award * reply [-]RussellFighter 35 points36 points37 points 2 days ago (3 children) I work at a startup with 7 engineers, all of them are Full Stack (including myself). We have some team members that are more skilled in front-end so they're seen as the "go to front-end gal" and some who are "go to back-end guy". I think the reason we've stayed an entire full stack company is because we are so small and we all work so closely to the product that we all need to be comfortable solving issues and reviewing both front end and back end code. * permalink * embed * save * parent * report * give award * reply [-]pm_me_ur_happy_traiI 9 points10 points11 points 2 days ago (2 children) My first job was like that. I was the frontend guy but there were sprints where there wasn't frontend work to do or some backend task was a higher priority. * permalink * embed * save * parent * report * give award * reply [-]i-can-sleep-for-days 1 point2 points3 points 2 days ago (1 child) This might be the answer that makes the most sense to me. Organizationally speaking there are lulls in the back but busy in the front and you wish you could have more people for just two weeks or so. That does make sense. Still I feel like you don't need a team filled with fullstacks. Maybe 1 person for that flexibility. * permalink * embed * save * parent * report * give award * reply [-]pm_me_ur_happy_traiI 1 point2 points3 points 2 days ago (0 children) Totally. We enjoyed the opportunity to become more well-rounded. * permalink * embed * save * parent * report * give award * reply [-]AcidHurrah 21 points22 points23 points 2 days ago (0 children) Benefits of full stack: 1) Understand the whole picture and design a system that works well together rather than having multiple silos that may not coordinate well. 2) Efficiency gains - can build end-to-end without stopping and waiting for dependencies. Can debug end-to-end rather than ping ponging issues between different specialists. 3) Elasticity of headcount. If there is more high priority front end than backend work, or vice versa, the full stack engineers can be flexed to where they are most needed. * permalink * embed * save * parent * report * give award * reply [-]woodland__creature 18 points19 points20 points 2 days ago (0 children) I think these are valid criticisms. l personally love the variety in my day to day. I'm really just a backend dev who's also pretty good at frontend and also likes automating ci/cd things. Most of my "full stack" team are really just backend devs who knows enough about other realms to be competent. We all have our strengths and weaknesses and also consulting with "specialists" in the areas of frontend/DevOps/ whatever. There's definitely a benefit from a velocity and efficiency standpoint to having a single person carve out and delivery entire slices of functionality on their own. I personally don't think I'd take a role in the future that didn't have a full stack element to it. * permalink * embed * save * parent * report * give award * reply [-]felixbr_ 10 points11 points12 points 2 days ago* (0 children) Anyone work on teams with only full stacks? What is that like and why did it stay that way? I'm a backend dev (used to do frontend many years ago, though) in a product-team with only full-stack devs*1. The interesting part is that 4 years ago it wasn't that way. When I was hired, it had the typical distinction of some devs being backend, some being frontend, and like 1 or 2 that could do both but only did if they had to. One of the reasons was the big api-gateway between the microservices and the frontend. A giant rest-api. If you changed something in the api and fucked up, it would usually cause a downtime, so it required PRs with multiple sign-offs (which was never needed anywhere else; we use trunk-based development). 2-3 years ago we started a new gateway built on graphql and used code-generation in the frontend to map to its schema. This means that it's really hard to make a breaking change because the graphql schema is strongly typed and tells you about breaking changes directly (instead of costly integration tests). Now we have "end-to-end" type-safety and it's really hard to fuck up and break the api accidentally. Because of this more and more frontend-only devs started to write the backend code for their features as well, since the connecting piece was no longer scary and tedious. I'm basically the only non-fullstack dev now*2. Features can be fully and autonomously developed by a single dev, which increased our development throughput quite a bit. *1 Everyone still has their specialties, of course. "full-stack" for me means that a single dev can build a complete feature (database queries + backend business-logic + API + user-facing UI) *2 I despise css/js and agree with OP that any engineer trying to build quality software with it should be payed extra for mental damage :P * permalink * embed * save * parent * report * give award * reply [-]gallon_of_bbq_sauce 2 points3 points4 points 2 days ago (0 children) Every fullstack dev I've 'et (including my self) has really been a backend dev that knows a little front end. They don't really know all the semantic tags, accessibility stuff, or browser quirks off the top of their head. * permalink * embed * save * parent * report * give award * reply load more comments (4 replies) load more comments (2 replies) [-]pl9870 159 points160 points161 points 2 days ago (1 child) this is a godly post. I love the authenticity. * permalink * embed * save * report * give award * reply [-]fried_green_baloney 42 points43 points44 points 2 days ago (0 children) Catches the contradictions in software dev. Except being decent to the woman and the Black engineers. Then you're doing God's work. For realz. * permalink * embed * save * parent * report * give award * reply [-]bentreflection 80 points81 points82 points 2 days ago (0 children) i didn't intend to read all of that but here i am having read it all and enjoyed it. Thanks for the wise words/rambling. * permalink * embed * save * report * give award * reply [-]U235 74 points75 points76 points 2 days ago (18 children) As an engineer of 6 years I agree with nearly everything you've said. Except the dynamic language appreciation. Where we throwing down at? * permalink * embed * save * report * give award * reply [-]flipstables[S] 43 points44 points45 points 2 days ago (15 children) Hahahaha, I knew that would be controversial. Let's do it! I'll bring the pistols, you bring the compilers and the extra 20 lines of code that you need to write to get your program to work. Cheers! Seriously though, one of my favorite languages is F#/OCaml and I do think it's a fantastic language especially with it's well thought-out type system. Sometimes I wish Python had a type system like it, but a lot of times I'm glad it didn't. Doesn't mean strongly typed dynamic programming languages are bad. I've just come to appreciate dynamic languages a lot more now. * permalink * embed * save * parent * report * give award * reply [-]EsperSpirit 17 points18 points19 points 2 days ago (10 children) If all dynamic languages were as well-designed and robust as Clojure/ Elixir, I'd go back to dynamic as well. But many people say "dynamic" and mean JavaScript or say "static" and mean Java. There's much more to it than just one axis :) * permalink * embed * save * parent * report * give award * reply [-]pm_me_ur_happy_traiI 5 points6 points7 points 2 days ago (6 children) But many people say "dynamic" and mean JavaScript How much of the JavaScript hate is just a meme at this point? I'd eager most of it. The language has evolved a lot in the last 6 years. I love working in JS. The tooling is amazing, the ecosystem is broad and diverse. Mostly I like how expressive the language can be. You can program according to whatever paradigm you want. Sure there are some stupid language quirks, but they are easily avoided. People who complain about == or 1 + "1" or floating point math are just repeating the meme. * permalink * embed * save * parent * report * give award * reply load more comments (6 replies) load more comments (3 replies) load more comments (4 replies) [-]metaconcept 15 points16 points17 points 2 days ago (1 child) I spent years in Smalltalk (dynamically typed). It's an amazing language but I got sick of dynamic typing. What parameters does this method take? Who knows! Who calls this method? If it has a common name, you'll never know! What goes here... inside this complicated data structure? Try something and see if it breaks! What methods can I call on this object? I guess you'll better start reading code, because autocomplete is gimped without typing information. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]flipstables[S] 26 points27 points28 points 2 days ago (2 children) Update: I'm sober now with a slight red wine hangover. I don't remember writing half of this so it was a trip to read what drunk me wrote. Man, that guy is pretty smart, but he tends to overshare when he rambles. * permalink * embed * save * report * give award * reply [+]PipMasterFX 1 point2 points3 points 1 day ago (0 children) He's freaking awesome! Don't become an alcoholic or anything please but man was drunk you something else. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]revrenlove 117 points118 points119 points 2 days ago (10 children) It's a shitty programming language that's good at almost everything. Definitely gonna remember that * permalink * embed * save * report * give award * reply [-]navatwo 26 points27 points28 points 2 days ago (8 children) Honestly, it's why Kotlin makes so much sense. It's better Java and maintains full absolute cross compatibility (unlike languages like Scala) * permalink * embed * save * parent * report * give award * reply [-]wFXx 4 points5 points6 points 2 days ago (1 child) I'm not super familiar with the JVM environment. Could you please teach me on why kotlin is maintaining compatibility while scala isn't? * permalink * embed * save * parent * report * give award * reply [-]navatwo 7 points8 points9 points 2 days ago (0 children) Unless things have changed over the years, Scala happily consumed Java libraries but struggled vice versa. It meant it was incredibly awkward to work with it from Java. However with Kotlin they explicitly designed it to be bidirectional. My Scala experience has fallen off over the past few years. * permalink * embed * save * parent * report * give award * reply [-]itsaworkalt 9 points10 points11 points 2 days ago (5 children) The gap closes by the Java release though. I suspect ten years from now kotlin won't have much on Java besides some syntax sugar. * permalink * embed * save * parent * report * give award * reply [-]__jemma 9 points10 points11 points 2 days ago (1 child) Yes, especially once Java gets features that Kotlin doesn't really have, live pattern matching. That being said, the "lambda as last argument syntax" is really sexy to me and allows building some really nice DSLs that require ugly builder patterns in Java and always will. * permalink * embed * save * parent * report * give award * reply [-]navatwo 1 point2 points3 points 2 days ago (0 children) The nice thing will be that Kotlin gets to inherit those features! * permalink * embed * save * parent * report * give award * reply [-]snowe2010Senior Software Engineer (9+yoe) and Grand Poobah of the Sub 10 points11 points12 points 2 days ago (2 children) People keep saying this and yet I haven't seen it. The features Java is adding aren't really equivalent at all, and will never make up for the proper support for things like streaming, reified types, etc. * permalink * embed * save * parent * report * give award * reply [-]valkon_gr 1 point2 points3 points 1 day ago (1 child) Also they are not adapted as fast as the release cycle of Java. Plenty of companies still consider Java 8 "new". Java 24 could be the messiah but it would need another 6-7 years to become the standard. I see a potential issue here as well, I think it will lead to a "Java 2" or something like that. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) load more comments (1 reply) [-]BeastKiller450 20 points21 points22 points 2 days ago (28 children) What would you get with the $1K for carpal tunnel and your back? * permalink * embed * save * report * give award * reply [-]ApatheticDino 39 points40 points41 points 2 days ago (14 children) Ergo chair, monitor arms, split keyboard, and a gym membership and physical therapy if you're already experiencing pain. Got most of mine off Craigslist from warehouses that bought office equipment from failed startups. Just like a 401k, you gotta fight to keep yourself healthy in a world that makes it really easy not to. * permalink * embed * save * parent * report * give award * reply [+][deleted] 2 days ago* (11 children) [deleted] [+]cswinteriscoming 9 points10 points11 points 2 days ago (3 children) Split keyboards are the bomb, I can't go back to normal keyboards anymore. Say no to ulnar deviation. For alternative ergo chairs, the Capisco Puls is an interesting take. It pretty much forces you to have good posture. The downside is that you cannot really lounge or relax on it, so it gets tiring after a while... * permalink * embed * save * report * give award * reply [-]turturtles 5 points6 points7 points 2 days ago (0 children) An alternative for an ergo chair is to buy a used Herman Miller off craigslist or directly from a liquidation company. For $300-400 , they're not a bad deal used if you don't feel like dropping $1500 for a new one. After working from home for 3 years, it has been one of the best investments in my home office that I've made this year after going through a few chairs. Also, I second that split keyboards are the bomb. It's weird at first to get used to, especially if you have some bad typing habits like I did. Also columnar/ortholinear keyboards are up there as well. It's nice having all the weird characters you need without having to go more than one row up or down from the home row of keys. * permalink * embed * save * parent * report * give award * reply [-]PMmeYourFlipFlops 1 point2 points3 points 2 days ago* (1 child) Can you recommend a good split keyboard THAT'S NOT MECHANICAL? I share my space with a bunch of people and I'd drive them insane. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]ItsthejokerSr. Software Engineer 3 points4 points5 points 2 days ago (2 children) The Aeron is AWESOME. I use an Embody, which is a bit pricier, but it's amazing if you have back problems. It's like a 7/10 comfiness, but it stays the same 7/10 all day long which I I've never experienced with any other chair. * permalink * embed * save * report * give award * reply load more comments (2 replies) [-]PMmeYourFlipFlops 3 points4 points5 points 2 days ago (1 child) Junior engineer that bought an areon 4 months ago: My back still hurts and I'm gonna sell it and get a leap. * permalink * embed * save * report * give award * reply load more comments (2 replies) load more comments (2 replies) [-]ColdPorridge 8 points9 points10 points 2 days ago (5 children) For a little more: Uplift desk ($700 or so) and Herman Miller Embody ($1300-1500). Some people like the Aeron, but Embody fits much nicer IMO. * permalink * embed * save * parent * report * give award * reply [-]ReaderRadish 2 points3 points4 points 2 days ago (3 children) +1 on the Embody. I have a Steelcase Leap at work but I like my home Embody better. That thing is crazy adjustable. I'm 5 feet and tiny and comfortable in it; my husband is 6 feet and also comfortable in his. * permalink * embed * save * parent * report * give award * reply load more comments (3 replies) [-]reboog711 2 points3 points4 points 1 day ago (0 children) True story: We bought an Embody late last year for my wife's home office. The local dealer gave us a price that was hundreds of dollars less than you could find on-line [including direct from Herman Miller]. Additionally--and this seems crazy--my 8+ year Embody was squeaking and I Sent them a video and they built me a new chair to my exact specs. * permalink * embed * save * parent * report * give award * reply [-]ReaderRadish 7 points8 points9 points 2 days ago (2 children) Ergo mouse (where your hand is sideways) is great too. * permalink * embed * save * parent * report * give award * reply [-]UpDownCharmed 2 points3 points4 points 2 days ago (0 children) It really is. Was skeptical, at first - but they're much better. After I tried the first one for a week, I bought 2 more, for my other machines. No more strain on your wrist for long periods of time. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [+]AlexCoventry 2 points3 points4 points 2 days ago (0 children) I've been using Kinesis keyboards for a couple of decades. They're good (for me, at least.) * permalink * embed * save * parent * report * give award * reply [-]mrcrassic 2 points3 points4 points 2 days ago (0 children) * Kinesis Mechanical Split Keyboard ($159) * Memory Foam armrest raisers ($30) * Logitech MX Vertical ($89) * Herman Miller Aeron (>$1000 new, <$500 used) * permalink * embed * save * parent * report * give award * reply load more comments (2 replies) [-]DargeBaVarder 62 points63 points64 points 2 days ago (4 children) just do Java. It's a shitty programming language that's good at almost everything. LOL. Fuck pandas. This could be taken out of context really easily lol. * permalink * embed * save * report * give award * reply [-]VuongP 10 points11 points12 points 2 days ago (3 children) Can someone explain the pandas to me O_O? Edit: its just some python library/tool * permalink * embed * save * parent * report * give award * reply [-]DargeBaVarder 6 points7 points8 points 2 days ago (0 children) Edit: its just some python library/tool You got it! :) * permalink * embed * save * parent * report * give award * reply [+]Life_Of_David 1 point2 points3 points 3 hours ago (0 children) just some python library. * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]Fabled-Martin 166 points167 points168 points 2 days ago (30 children) This post should be pinned. * permalink * embed * save * report * give award * reply [-]snowe2010Senior Software Engineer (9+yoe) and Grand Poobah of the Sub[M] 26 points27 points28 points 2 days ago (0 children) I am honestly considering it, if not to stop automoderator from pinning two week old "Ask Experienced Devs" threads. * permalink * embed * save * parent * report * give award * reply [-]similiarintrests 37 points38 points39 points 2 days ago (27 children) Just don't agree with visual version control . Why should I spend seconds typing out stuff when I simply press buttons. Software engineers if anyone should know it's all about efficiency. * permalink * embed * save * parent * report * give award * reply [-]dadofbimbim 34 points35 points36 points 2 days ago* (4 children) 10 years in the industry too. I don't understand Git GUI. Command line is simple. I'm fine with git log. * permalink * embed * save * parent * report * give award * reply [-]AuroraFireflash 8 points9 points10 points 2 days ago (1 child) I use both console and a GUI. The GUI has strengths and command-line has strengths. For the GUI: * Easier to see how the graph is laid out. * Some GUIs let you hide unimportant/other branches to focus on the DAG of the branch(es) you care about. * You can quickly step through and view differences in each commit with one or two mouse-clicks. * More information is available at a glance. * Right-click context menus show you what is possible. * It's easier to assemble a few different lines/hunks across multiple files into a single commit (instead of one big catch-all commit). * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) load more comments (2 replies) [-]flipstables[S] 47 points48 points49 points 2 days ago (4 children) Ah, you do you!!! If you find GUI tools for using version control more productive, that's great. I prefer the command line because that's how I learned. It's just personally frustrating to help other devs with their local repo because I'm not sure what their "save" button in their favorite IDe does. That doesn't mean I don't like to help though! Just some ramblings of a drunk dude who's still new at programming who thinks he know a lot. * permalink * embed * save * parent * report * give award * reply [-]similiarintrests 6 points7 points8 points 2 days ago (1 child) Yeah this makes sense. If you know the commands on the top of your head it's faster than having to learn all the different version controls, I can buy that! * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) load more comments (2 replies) [-]i-can-sleep-for-days 11 points12 points13 points 2 days ago (1 child) Actually I don't find the UI that intuitive and sometimes you ssh into a box and don't have the option of installing a GUI or can't. Also logs with git commands and easier if you know git commands. That said there is no reason why they can't be mixed and matched. * permalink * embed * save * parent * report * give award * reply [-]turturtles 1 point2 points3 points 2 days ago (0 children) They can, I did it for a while with Visual Studio at my last job lol. Sometimes it's just easier to commit, push and pull code to/from the remote repo with the GUI in the IDE than having to type out the commands and enter a message. Is it faster? Depends, but I always end up just using the command line anyways. Especially after I finagled a way to use Neovim and build .net framework mvc sites within git bash lol. Also I don't recommend doing that. It's not fun for the initial set up. * permalink * embed * save * parent * report * give award * reply [-]Advanced_Ad_3868 61 points62 points63 points 2 days ago (3 children) ah, so you're the one that is always using "fix" as the commit message ;-) * permalink * embed * save * parent * report * give award * reply [-]Mouglie 19 points20 points21 points 2 days ago (0 children) added stuff break keyboard * permalink * embed * save * parent * report * give award * reply [-]similiarintrests 8 points9 points10 points 2 days ago (0 children) A tiny tap on the spacebar will usually suffice ;) * permalink * embed * save * parent * report * give award * reply [+]isleepbad 1 point2 points3 points 1 day ago (0 children) Everyone wants more documentation. But no one wants to document anything. Go figure lol * permalink * embed * save * parent * report * give award * reply [+]dpash 3 points4 points5 points 2 days ago (1 child) I'll use my IDE's 'commit and push' functionality, but if I'm doing anything more complicated, I'm gonna use the command line. (git rebase --interactive is amazing, but it's the equivalent of wearing dynamite shoes) * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]Fanboy0550 4 points5 points6 points 2 days ago (0 children) I find the GUI(JetBrains) very useful during merge conflicts * permalink * embed * save * parent * report * give award * reply [+]cswinteriscoming 2 points3 points4 points 2 days ago (1 child) Not having your hands leave your keyboard is efficiency! A click saved is a click earned. * permalink * embed * save * parent * report * give award * reply [-]MrSquicky 1 point2 points3 points 2 days ago (0 children) Not having your hands leave your keyboard is efficiency! Ctrl-Alt-K opens my git gui and puts my cursor in the commit message. Another Ctrl-Alt-K commits and opens the push dialog. Alt-P pushes. But if I need to see more of what is going on, I love me some gui to navigate diffs, exclude files from a commit, etc. * permalink * embed * save * parent * report * give award * reply load more comments (6 replies) load more comments (1 reply) [-]Kawaii_Sauce 132 points133 points134 points 2 days ago (23 children) Amazing. Great post. The shout out to women in tech is nice. We don't get that enough. I work on a team with 10 dudes and I forget about the gender thing sometimes. A female intern joined this past week and it made me realize how much I miss representation. I hope to be a good role model to her because I wish I had a female mentor. * permalink * embed * save * report * give award * reply [-]theclacks 31 points32 points33 points 2 days ago (0 children) High five/thumbs up from one female dev to another. <3 * permalink * embed * save * parent * report * give award * reply [-]elus 12 points13 points14 points 2 days ago (0 children) My last team had eight people. Two women, one Chinese and the other Vietnamese. Four males, two Filipino, one Iranian, and one Punjabi. Plus two white males. It was fantastic having such a broad range of talent and diversity of experience. * permalink * embed * save * parent * report * give award * reply [-]Pineapple-dancer 28 points29 points30 points 2 days ago (0 children) Same! I get so excited on the inside the more women I meet in tech. Yeeeee happy dance! * permalink * embed * save * parent * report * give award * reply [-]thewallris 23 points24 points25 points 2 days ago (17 children) As a male dev, what's the best way I can support my female coworkers? My process thus far has been to treat them no different than I would a male coworker, but if you have any ideas I'm all ears! * permalink * embed * save * parent * report * give award * reply [-]lainonwired 59 points60 points61 points 2 days ago* (15 children) Great question. I can't speak for all women but for me: When you address a group of devs, say "guys and gals", don't just say guys. If you're in an environment where projects are given rather than volunteered for, ensure that the female coworkers are getting a fair shake. Women are less likely to speak up, but that doesn't mean they don't deserve the best projects commensurate with their proven abilities and sometimes even when they speak up they're ignored. Hire. More. Women. Don't listen to the "they arent a great fit" bs. If you think it's even sort of possible they can learn the skills just hire them. They'll work twice as hard for half the pay, it's a no brainer. Btw it's infinitely more effective to hire two women at once than one, they will meld and you'll get 4x the engineering within 2 years. I don't know why this is but I've seen it happen. In team meetings, watch for guys who routinely interrupt and rephrase what a woman said and speak to the guy privately after. This happens alllll the time but you'll miss it if you're not looking for it. Same with group chats. Also in team meetings, when women share an idea, especially a good one, watch how it gets ignored by the group and then accepted later when a man says it. Call out that shit in a neutral way - "Oh, so like what Mary was saying earlier? Yeah I like it!" Specifically invite the women in the office to the afterwork beers. Like literally walk up to their cube and tell them you're going. The point isn't to pressure them to say yes, it's to ensure they know they are welcome. When seeking ideas as a lead/manager you will often get better ideas from women if you approach them privately and specifically ask them in a low pressure scenario. Read up on imposter syndrome - it's more common in women but if you want to be a great technical leader you need to know what this is and how to get the best out of your employees anyway. My greatest employees have often been the least outspoken. Start seeing differences as strengths instead of weaknesses. What I mean by this is, it would be a mistake to think that "women should just speak up" and "women should just adapt to how men are". Having differences is a GOOD thing, even if it makes you adapt. EDIT: Forgot the most important thing. Once or twice in your life, go to something that tends to be predominantly female and focus on how you feel when you're there. I went to a party that ended up being all-black to support a friend and realized how uncomfortable I felt. Sometimes you need to experience how it is to have to meld into a group of people that aren't like you to have the job you want. Life changing. * permalink * embed * save * parent * report * give award * reply [-]__jemma 17 points18 points19 points 2 days ago (9 children) When you address a group of devs, say "guys and gals", don't just say guys. This might seem affected to some, but "folks" or "y'all" are also great alternatives. Unfortunately, most women default to "guys" now, so this is probably a losing battle, but it really bothers me as well. * permalink * embed * save * parent * report * give award * reply [-]LurkingArachnid 7 points8 points9 points 2 days ago (4 children) Yeah something inclusive without calling out women would be nice. Especially awkward when they say "ok guys...AND GALS HAHA!" like they're emphasizing that they remembered women exist. Just act like it's totally normal that a group includes women * permalink * embed * save * parent * report * give award * reply [-]greghuels 6 points7 points8 points 2 days ago (0 children) I'm a fan of just using "all" or "everyone" * permalink * embed * save * parent * report * give award * reply [-]lainonwired 1 point2 points3 points 2 days ago (0 children) Completely agree. It ruins the effect if you laugh like somehow having women devs is funny. * permalink * embed * save * parent * report * give award * reply [+]AmandaPandaPie 1 point2 points3 points 16 hours ago (0 children) Yes I hate this... I'm the only girl in my dept of 30 people and when our manager says 'Guys... and girl' it's so awkward. The pause specifically. Like just commit to 'guys', which I view as gender neutral now, or say 'guys and gals' in the same breath... * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [+]Brannikans 2 points3 points4 points 21 hours ago (0 children) I didn't know I hated "gals" until it was used to point out I was the only one on a meeting. Just use team or something gender neutral. * permalink * embed * save * parent * report * give award * reply [-]LaurenYpsum 1 point2 points3 points 1 day ago (2 children) This might seem affected to some, but "folks" or "y'all" are also great alternatives. It felt really awkward for me to transition to "folks", but it's becoming a lot more natural now. As a midwesterner, I still feel weird saying "y'all" though. I've been using "friends" a lot too, as in addressing a group on Slack with "Hi friends!". * permalink * embed * save * parent * report * give award * reply [+]bank_aardappel 1 point2 points3 points 20 hours ago (0 children) I've never even been to the US and I often use "all y'all" to address my team. :') * permalink * embed * save * parent * report * give award * reply [+]intermediatetransit 1 point2 points3 points 3 hours ago (0 children) Friends is a bit informal; just go with "business buddies". * permalink * embed * save * parent * report * give award * reply [-]MrSquicky 7 points8 points9 points 2 days ago (2 children) In team meetings, watch for guys who routinely interrupt and rephrase what a woman said and speak to the guy privately after. Most of that I agree with but this particular thing I don't. It is more effective to do this in public, in the meeting. "You mean, like Sue just said?." or "Yeah, I agree that Courtney's idea was a good one too." * permalink * embed * save * parent * report * give award * reply [-]lainonwired 7 points8 points9 points 2 days ago (1 child) Publicly shaming people for doing something that was probably unconscious doesn't put them in a frame of mind that is conducive to learning. You might feel better but it actually pulls equality backward even farther. * permalink * embed * save * parent * report * give award * reply [-]MrSquicky 4 points5 points6 points 2 days ago* (0 children) I don't see how those are publicly shaming anyone. You are simply pointing out that that person was mentioning something that has already been brought up and publicly crediting the person who actually suggested the idea. It's the gentlest of redirections for a problematic behavior that also redresses the actual problem. Your way, the person you would take aside still gets credit for the idea and the person whose idea it was sees this happen without anyone sticking up for her. I don't see how this would be preferable. It requires a confrontation, which often gets people's hackles up, keeps the reward for doing this in place, and does not actually make the environment a more welcoming/equitable one. You are completely ignoring the person wronged. For myself, I try to boost my people as much as possible, so I'm going to call out a good idea even if no one else tries to take credit for it, and what I'm suggesting doesn't really change my behavior. Honestly, I think not boosting your people is itself a cultural problem. When you are dealing with a culture issue, it is important, when you can, to take it publicly. This especially true in cases, like here, where a person or group of people's contributions are routinely being routinely discounted/stolen in public. They need to see that someone has their back and other people need to see that their contributions are valuable. * permalink * embed * save * parent * report * give award * reply load more comments (2 replies) load more comments (1 reply) [-]i-can-sleep-for-days 20 points21 points22 points 2 days ago (0 children) In my 10+ years in tech I have ever had one job where my team had a female engineer. And no black engineers. And definitely no black female engineers. 10+ years later it's the same and actually probably worse. Those woman engineers I think were older and probably grew up during the Cold War and when the country valued science, math, and engineering because that's how you beat the soviets to the moon, and be a step of them in weapons, etc. back then I don't think there is such an anti-science and anti intellectualism in the mainstream as what we have now, and hence going into engineering was more accepted than today. I could be totally off but that's my guess. * permalink * embed * save * parent * report * give award * reply [+]Lrostro 1 point2 points3 points 22 hours ago (0 children) I was lucky enough that my first eng team consisted of four women and two men. I realize how rare that is. * permalink * embed * save * parent * report * give award * reply [-]renc17 51 points52 points53 points 2 days ago (2 children) "It's not important to do what I like. It's more important to do what I don't hate." Preach my guy preach * permalink * embed * save * report * give award * reply [-]ViolaSwag 10 points11 points12 points 2 days ago (0 children) Yeah, the counter to "Do what you love and you'll never work a day in your life" is "Do what you love and the thing you love begins to feel like work". Realistically, I think it fluctuates between those extremes on a day to day basis. If you find something where you feel good about yourself (and aren't exhausted) at the end of every day, and it doesn't feel like it's sucking your soul, that's a pretty good place to be * permalink * embed * save * parent * report * give award * reply [-]8EF922136FD98 6 points7 points8 points 2 days ago (0 children) That has been the motto of my life. * permalink * embed * save * parent * report * give award * reply [-]Advanced_Ad_3868 47 points48 points49 points 2 days ago (3 children) Awesome post, nodding all the way. Except for > The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me. Oh... it's ON. \raises fists** ... no but seriously, I've been programming in python for 20 years and the older the get the less I have time for runtime errors that a compiler could trivially catch. It just feels like busy work now. Nothing beats dynamic languages for data exploration and interactive coding, but as soon as I have to put anything into production, give me types please! * permalink * embed * save * report * give award * reply [-]flipstables[S] 22 points23 points24 points 2 days ago (2 children) Oh dude I hear you! I HEAR you! The number of times I wished a compile could catch my dumb mistakes that I make... wow! I love types too (well to a point, I still don't 100% get monads and shit). Here's the reason I wrote that though. I am constantly frustrated by the runtime errors I get when writing Python that could have been compile time errors. Even when writing code, man the number of times I wish I knew the return type of a function or the interface of an argument... wow, it's infinite. But way more times, i've been burned by misreading or misunderstanding a spec or product requirement that types wouldn't have helped. And there's been a few times where duck typing in Python has made code more readable when working with non-technical analysts writing code, and it's great not having to explain good software engineering practices and it being "obvious" by default. Again, personal experience. Doesn't mean yours in invalid, and I think strongly typed static languages are awesome. I'm a big fan of functional languages myself. It's probably just a difference in experience, mostly because I have analysts writing pull requests and boy is nice that I don't have to explain which GoF principles they're violating. * permalink * embed * save * parent * report * give award * reply [-]Advanced_Ad_3868 5 points6 points7 points 2 days ago (1 child) Makes total sense, and while I like my types, I'm pretty sure monads are just made up and don't really exist ;-) * permalink * embed * save * parent * report * give award * reply [-]DjexNS 1 point2 points3 points 1 day ago (0 children) Monads are just monoids in the category of endofunctors :-)))) * permalink * embed * save * parent * report * give award * reply [-]juli1 42 points43 points44 points 2 days ago (2 children) "Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all." I approve this message. * permalink * embed * save * report * give award * reply load more comments (2 replies) [-]low_burning 14 points15 points16 points 2 days ago (0 children) "those energetic little fucks " . Thanks chief , I am going to be an intern in a month or so. * permalink * embed * save * report * give award * reply [-]hopets 35 points36 points37 points 2 days ago (2 children) If they've been a third party recruiter for more than 3 years, they're probably bad. Recruiters make significantly more money if they're not internal, so I disagree with this. * permalink * embed * save * report * give award * reply load more comments (2 replies) [-]null587 20 points21 points22 points 2 days ago (0 children) You should get drunk more. This is awesome. * permalink * embed * save * report * give award * reply [-]optimal_random 20 points21 points22 points 2 days ago (1 child) If the guy writes like this after pouring a glass, well shit, pour the guy another one, and let's see what other words of wisdom he comes up with! :) Nice post, nice post indeed. * permalink * embed * save * report * give award * reply [+]comfort_bot_1962 1 point2 points3 points 2 days ago (0 children) :D * permalink * embed * save * parent * report * give award * reply [-]CathieWoods1985 6 points7 points8 points 2 days ago (1 child) I'm more of a systems / infra guy but do I want to learn webdev so bad * permalink * embed * save * report * give award * reply load more comments (1 reply) [-]MasslessStaff Software Engineer 5 points6 points7 points 2 days ago (4 children) Awww, I really like TDD. That said: you do you, but PRs should include tests. * permalink * embed * save * report * give award * reply [-]AuroraFireflash 2 points3 points4 points 2 days ago (2 children) I suspect the "cult" jab is for those that take it too far. * permalink * embed * save * parent * report * give award * reply [-]hopbyte 3 points4 points5 points 1 day ago (1 child) Worked with a dev that drank the kool aid. He wrote a test to make sure a class was subclassing from another class. * permalink * embed * save * parent * report * give award * reply [+]cerved 1 point2 points3 points 4 hours ago (0 children) that's not TTD, that's DIWD * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]pyrrhicvictorylap 12 points13 points14 points 2 days ago (1 child) I've learned to be honest with my manager I told my manager yesterday I felt like a human centipede. Not giving a fuck is liberating. * permalink * embed * save * report * give award * reply load more comments (1 reply) [-]RedbloodJarvey 4 points5 points6 points 2 days ago (1 child) Fuck, someone please teach me how to write good documentation. I stumbled on this video which was very eye opening: https:// www.youtube.com/watch?v=t4vKPhjcMZg tl;dw: There are 4 types of documentation. They overlap each other, but if you can keep them separated it will help your users. 1. Tutorials: learning oriented. Exact step by step instructions to accomplish an exact task. 2. How-To Guides: Problem oriented. Like a cook book, guides user through steps for common problems. 3. Discussions: Understanding oriented. Explain the overall design of the tool, Gives some background and context. 4. References: Information oriented. Technical description, no need to explain why, just how things work. * permalink * embed * save * report * give award * reply load more comments (1 reply) [-]tajava 4 points5 points6 points 2 days ago (0 children) I read most of it.. and a lot of it is spot on. The one that REALLY REALLY resonates with me.. being an older 50+ dev.. is this bullshit full stack engineer that gets paid shit money. Some do make good money.. but fuck.. you couldn't have said it any better. Why the fuck a manager wants engineers to work front, back, deployment, sql, database, network, security, etc.. its utter shit. It's WAY WAY too much in way too little time. When I Started out.. what is a fullstack today was 7 roles each earning 100K+.. so I have to agree.. it's pure shit that a developer in a startup is hired to do full stack.. and not get paid at least 250K a year plus benefits, 401K, stock, etc. Now.. I will tell you.. one benefit of becoming a full stack engineer.. is that you can more or less bootstrap your own ideas.. possibly in to a company that you run. When you stick to one area.. and you want to start your own company or what not.. you have to find engineers, etc.. or learn it all at that point. So being full stack early on.. at least it gets you to a point where you can build a MVP or prototype idea of yours on your own. * permalink * embed * save * report * give award * reply [+]Scary-Pause-3872 10 points11 points12 points 2 days ago (1 child) Spunky female intern - that's me! * permalink * embed * save * report * give award * reply [-]flipstables[S] 12 points13 points14 points 2 days ago (0 children) You go! Seriously, I'm rooting for you! It must have been difficult enough to get where you are! Please please please use any available resource for women in technology. There's a million ways women in tech are disadvantaged so please use every resource available and don't feel bad about it. * permalink * embed * save * parent * report * give award * reply [-]a_Tick 15 points16 points17 points 2 days ago (8 children) Maybe I just have Stockholm syndrome, but I don't get the git hate. Sure, it's got a crummy UI, but it's got a good model behind it. * permalink * embed * save * report * give award * reply [-]flipstables[S] 17 points18 points19 points 2 days ago (5 children) Yeah, we devs work with the interface behind it, not the model. So if the interface is crummy, well that's not nothing. I'm being overly harsh. I probably couldn't creating something as brilliant as git if I had 150 years to work on it. So I guess I should be grateful that it exists instead of anything worse, but hell can a dev dream of an intuitive version control system? * permalink * embed * save * parent * report * give award * reply [-]CubicleHermit 5 points6 points7 points 2 days ago (4 children) What's the better alternative to git? I hate git. But I hate it no more than Mercurial, and quite a bit less less than RCS (yes, I'm that old), CVS, Subversion, Perforce... and don't even get me started on Microsoft VSS or TFS. I mean, VSS could be excused 22 years ago but TFS basically sucks just as bad today. I've never worked with Bitkeeper or Clearcase, but I know some people who loved both back in the day. * permalink * embed * save * parent * report * give award * reply [-]RotsiserMho 2 points3 points4 points 2 days ago (1 child) I worked briefly with Clearcase. I hated it. A lot. Git is truly the least worst option. I've spent so much time helping juniors with Git alone, just due to the interface. And I've seen some really strange issues on Windows. But that is ultimately a small price to pay for everything else it does better than everything that came before it. * permalink * embed * save * parent * report * give award * reply [-]CubicleHermit 1 point2 points3 points 2 days ago (0 children) I found Mercurial pretty comparable, although I've used git a lot more. Both of them are kind of 'incomplete' and having a decent management system or workflow around them; git I've used with Stash/Bitbucket Server, Bitbucket Cloud, Github, and a patch-based workflow with Phabricator. Mercurial I've used only with Phabricator. * permalink * embed * save * parent * report * give award * reply [-]AuroraFireflash 1 point2 points3 points 2 days ago (0 children) I think it depends on the use case: what you are storing, whether you value decentralization, if disconnected from the network is important, etc. I also highly value open-source and not having to deal with license fees. Mercurial/git and some others are really good if you're doing source-code work, lots of branching/merging, and need decentralized/ distributed. A good GUI layered on top makes some things much easier (selective staging, visual diffs, fast exploration of the timeline). I think it's a toss-up between Hg/git, but if most companies use git then you need to have a passing familiarity with it. SVN is still my go-to for when I need good binary support, a centralized repo, and users that are less tech-savvy with no need for branches. You can have a 500GB SVN repo and easily bring down just the bit you are interested in. TortoiseSVN was really powerful since it tied into Windows File Explorer. (Used CVS and Visual SourceSafe in the past as well.) * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) load more comments (2 replies) [-]stefanosd 3 points4 points5 points 2 days ago (0 children) We value static vs / dynamic differently (I will not fight you though). Other than that, I find this post absolutely brilliant. * permalink * embed * save * report * give award * reply [-]azzipog 8 points9 points10 points 2 days ago (13 children) What's wrong with pandas? * permalink * embed * save * report * give award * reply [-]PM_4_DATING_ADVICE 52 points53 points54 points 2 days ago (1 child) They eat tons of bamboo and shit everywhere * permalink * embed * save * parent * report * give award * reply [-]itsgreater9000 12 points13 points14 points 2 days ago (0 children) eats shoots and leaves etc * permalink * embed * save * parent * report * give award * reply [-]ColdPorridge 8 points9 points10 points 2 days ago (3 children) I've written about this a lot elsewhere on here when the topic comes up, but it boils down to it being a significant framework that makes absolutely no effort of be pythonic. The zen of Python isn't fluff, it's the reason it's so wildly popular and easy to learn. Pandas basically shits on all of that. * permalink * embed * save * parent * report * give award * reply load more comments (3 replies) [-]AetherAlex 21 points22 points23 points 2 days ago (3 children) Numpy, no joke, is 20x faster doing the same work in the same language. Pandas is an exploratory tech that should never be used in a project touched by more than 1 individual customer ever. It scales like matchsticks. * permalink * embed * save * parent * report * give award * reply [-]diamondketo 2 points3 points4 points 2 days ago (1 child) Yeah.......no...... Try joining a table with numpy on matched on one column, now try two. As a data engineer, half my code starts with joining tables (if SQL isn't available already). * permalink * embed * save * parent * report * give award * reply load more comments (1 reply) [-]somkoala 1 point2 points3 points 1 day ago (0 children) I have personally been part of the team that has written and maintained a pipeline in pandas that optimized flows up to $30M in marketing budget with decent results over the course of 1.5 years. Yes, pandas can sometimes be stupid, but it's the person who writes the code that has to be smart about it. There are also ways to parallelize what pandas does to scale it up. * permalink * embed * save * parent * report * give award * reply [-]flipstables[S] 10 points11 points12 points 2 days ago (0 children) Nothing! The reason I hate pandas is probably because I don't know it well enough. Just a drunken post where the author is nothing thinking clearly. * permalink * embed * save * parent * report * give award * reply [-]sexydorito 9 points10 points11 points 2 days ago (0 children) pandas is overrated imo and the syntax isn't intuitive * permalink * embed * save * parent * report * give award * reply [+]_intentional_focus 1 point2 points3 points 1 day ago (0 children) Pandas has like 30 ways to do the same thing. The forced indexed nature is non-intuitive. I've been burned many many times by null values in integers changing data types (though supposedly this was fixed in 1.0.0). You also write it inside out, compared to something like dplyr. * permalink * embed * save * parent * report * give award * reply [-]yodal_ 8 points9 points10 points 2 days ago (1 child) Titles don't matter. People care about titles so much because often in our field we don't get any other form of personal recognition. That makes it even funnier that titles don't matter and are often made up. Heck, I can't count the number of times I have gotten a "temporary promotion" for an important call with a client just so my title was at a similar level to the client's technical expert. * permalink * embed * save * report * give award * reply [+]cswinteriscoming 5 points6 points7 points 2 days ago (0 children) Money is pretty good recognition... you can even buy fancy shit with it so folks outside the company recognize you too, if you're into that * permalink * embed * save * parent * report * give award * reply [-]Capital-Style-4050 15 points16 points17 points 2 days ago (5 children) Why no comments on kids in the thread. Have kids. Is the point of having kids that you will be an awesome father? Nope, you'll be a pretty average father who makes some of the mistakes your dad made and invent some new mistakes. You'll have kids who have hang ups and screw up plenty and drive you crazy, cos they won't be perfect kids. In other words you'll be a human that gives life and love to other humans. That's it. Nothing else to it. * permalink * embed * save * report * give award * reply [-]mrcrassic 10 points11 points12 points 2 days ago (1 child) It's perfectly fine to not want to have kids IMO. * permalink * embed * save * parent * report * give award * reply [-]Capital-Style-4050 2 points3 points4 points 2 days ago (0 children) agree, I am simply suggesting that fear of being a bad parent is not necessarily a good reason (unless you have some very serious issues yourself) * permalink * embed * save * parent * report * give award * reply [-]zvive 2 points3 points4 points 1 day ago (0 children) After 13 years of failure to conceive I was over wanting kids... We were nearly done trying. We were on our 8th round of IVF, and I wasn't even sure I wanted kids anymore...I was just going through the motions cause that's what wife wanted..... Well rounds 8 and 10 are our two little boys(3 and 2).... Scares me to think we almost gave up.... I've learned so much, changed so much since becoming a dad. I'd recommend it all day all night to everyone even if they think they'd suck at it, my kids are everything important in my life. * permalink * embed * save * parent * report * give award * reply [-]bicyclemom 2 points3 points4 points 1 day ago (0 children) Having kids was some of the best on-the-job training I had for being a people manager. They cry, they whine, they curse you when they don't get their own way. My kids did that too. As I said, great learning experience. * permalink * embed * save * parent * report * give award * reply [+]AlexCoventry 5 points6 points7 points 2 days ago (0 children) Everyone else is having kids, and there are plenty of humans. * permalink * embed * save * parent * report * give award * reply [-]CubicleHermit 2 points3 points4 points 2 days ago (0 children) Love it, thanks for the long bunch of thoughts. Algorithms and data strictures are important--to a point. I don't see pharmacist interviews test trivia about organic chemistry. There's something fucked with our industry's interview process. They've got a pre-grad-school test, a licensing exam, and a degree requirement to to do that. Software engineers, at least in the US, have neither of the former and the last one is so meaningless that basically any bachelors plus a little programming experience will do, and occasionally none. Pair programming is great, it just takes a lot of time--time that the company usually doesn't want to spend. In my experience, it's the single best way to onboard new people quickly, either to a team's whole tech stack or a new project. Onboarding via "here's a task, figure it out" is much more expensive. Speaking as someone who's moved into management these days, telling people to sink or swim in them is much more expensive than actually investing in them. * permalink * embed * save * report * give award * reply [-]Desk1 2 points3 points4 points 2 days ago (0 children) Damn, those devops guys and gals are f'ing smart. At least those mofos get paid though. No we're not. Nobody knows what they're doing in devops/sre either and we're making it up as we go along just like you. Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us. Everybody has imposter syndrome because everybody is an imposter. Make peace with that. Be wary of people without imposter syndrome. * permalink * embed * save * report * give award * reply [-]bytebux 8 points9 points10 points 2 days ago (10 children) Agree with everything. One minor call-out: the problem with diversity in the software industry is not the fault of our industry itself. It's the school systems and cultures that exist that don't do a good job supporting and promoting software engineering within it. The US has done a good job of supporting women in sports, as can be seen by US women's dominance on the global stage. But for instance, the US men are not the best at soccer because it just isn't as prominent in US culture. There is much more emphasis on NFL football, basketball, and hockey. Just a sports analogy. 5 cocktails in. Loved the post * permalink * embed * save * report * give award * reply [+]thekillerdonut 9 points10 points11 points 1 day ago (3 children) One of the female engineers at the school I went to has been making frequent posts about how much of a nightmare it was to just exist at an engineering school full of socially maladjusted dudes. Stalking is such a common thing that it's just understood that if you're a woman at that school, you will have a stalker at some point. Administration does nothing. It starts even before colleges too, because something had to happen to cause that gender disparity in college in the first place. I'm a woman in tech who got started with game modding when I was a kid. The early internet was incredibly hostile towards anybody who wasn't cis, straight, white, and male, and (to a lesser extent) still is. The only gaming communities I can effectively exist in are ones I create and run specifically as safe spaces for people like me. I work at a large, fairly diverse, progressive place, and even then, I am the only female programmer I know of. There are others, but they're so few and far between that I have zero interaction with them. * permalink * embed * save * parent * report * give award * reply [-]bytebux 2 points3 points4 points 1 day ago (2 children) That's scary. I have a 6 y/o daughter who is starting to make Roblox games and obviously I'm fully supportive of it and helping her learn to code (she already types better than most adults lol) It would be really cool if I could pass these skills down to her. My parents had no skills or education and I had to teach myself everything I know. But I'll be supportive of whatever she wants to do and just hope that society doesn't close that door for her. * permalink * embed * save * parent * report * give award * reply [+]thekillerdonut 1 point2 points3 points 1 day ago (1 child) Sorry, I don't mean to give such a bleak image of things. I have noticed things slowly but steadily getting better. I think the biggest skill to reinforce is the ability to stand up for herself and be her own advocate. I see so many young women get pushed out of things because some loud-mouth jerk gets in their head and makes them think they don't deserve to participate. Those are the people closing doors for women in tech, but being able to effectively engage the bystanders around them is what reopens those same doors. * permalink * embed * save * parent * report * give award * reply [-]bytebux 1 point2 points3 points 1 day ago (0 children) No that's really good to know. I didn't have accomplished parents but as a white male I had every opportunity imaginable to get where I am today. I need to be able to help her in those sorts of ways and build her confidence up. She's very opinionated and strong willed but I already see her greatly affected by input and reactions from those around her. I think where society fails to reinforce these good behaviors and ability to deal with things we need to pick up that slack as parents. I appreciate your insight :) * permalink * embed * save * parent * report * give award * reply [-]MakeLimeade 4 points5 points6 points 1 day ago (3 children) Did you mean to say that the industry itself is blameless? I agree that women/minorities aren't given enough support/encouragement/ opportunities to get into the field, but even once they're in, they generally have a shit time. * permalink * embed * save * parent * report * give award * reply load more comments (3 replies) load more comments (2 replies) [-]mrcrassic 6 points7 points8 points 2 days ago (0 children) Here's sober me responding to a drunk you: I've never worked at FAANG so I don't know what I'm missing. But I've hired (and not hired) engineers from FAANGs and they don't know what they're doing either. I've worked at a FAANG. You are correct. I think FAANGs have a lot of BS easy jobs, like any other bigco. But there are some WICKED good people working at FAANGs. They are the ones making ultra-serious bank (thanks to equity) and are impossible to hire. Same with black engineers. What the hell? Also a black/Latino engineer. Definitely not enough of us. Blame systematic racism of the past. It's slowly getting better, though. That being said, git is awful and I have choice but to use it. Also, GUI git tools can go to hell, give me the command line any day. There's like 7 command lines to memorize, everything else can be googled. Yes to command line, no to Git being awful (except for the client having a million command line options). It's the least bad VCS out there; everything else is worse IMO Damn, those devops guys and gals are f'ing smart. At least those mofos get paid though. We're like full stack devs that don't have to worry about browsers and get paid real nice Not all great jobs are in Silicon Valley. But a lot are. COVID-19 and remote work becoming acceptable has probably ended this gravy train; give it a few years. If the company is half remote and half on-site, It will almost always be a bad time for the remote worker unless you don't care about career progression and/or your manager is cool with your situation. Kids are great. I don't have kids by choice. Why? Because I love kids and I'm scared about what kind of father I would be. Oh shit, is that too personal for a post here? OMG CAN WE BE FRIENDS PLEASE * permalink * embed * save * report * give award * reply [+]mousiechika 4 points5 points6 points 2 days ago (0 children) I love this * permalink * embed * save * report * give award * reply [-]kitahey 5 points6 points7 points 2 days ago (0 children) Incredible post. Love the authenticity and the humility that sparkles through * permalink * embed * save * report * give award * reply [-]Sethaman 4 points5 points6 points 2 days ago (1 child) Ah, yes. Developers commiserating. I'll join that party on an idle Friday. *unlocks filing cabinet, pulls out bottle o' whiskey* Where do we begin... * We know drinking is bad for us, but there is something to be said for Ballmer's Peak * How many of you have some form of alcohol stored near or your desk? * XKCD is too often painfully accurate, a lot of humor about our profession is * It's kind of nice that we can all share in it though * I hate programming * I love programming * Programming is amazing... we make the most ridiculous stuff. Seriously it is one of the few professions where "thought becometh thing" feels so close to reality. I mean look at this shit -- someone or some group of gals and guys and non-binary programmers built this thing. Why? Because someone was like "You know what would be rad? If you could be a raindrop and see where you flowed after falling out of the sky". Then someone was like "Huh, I bet I could program that". Does it help society or make money? No idea. It's cool as hell though: https:// river-runner.samlearner.com/ * A job in coding can absolutely suck -- take a look at this humorous (and mostly hyperbolic) post: https://gizmodo.com/ programming-sucks-why-a-job-in-coding-is-absolute-hell-1570227192 * But at the same time, there is so much beautiful and mind boggling engineering going on:https://scienceblogs.com/ sciencepunk/2013/03/20/ dizzying-but-invisible-depth-jean-baptiste-querus-wonderful-essay-on-the-computers-around-us * I should probably stop posting so many hyperlinks * *More whiskey* * Seriously, XKCD is just too accurate sometimes * The Command-Line is the shit... I didn't appreciate it in college or the beginning of my career nearly enough * Same goes for the debuggers built into languages and most IDEs * Seriously, if you don't know how to use your debugger pour yourself a drink, watch a youtube video, and be blown away at how much more efficiently you can debug. You can run them in the terminal if you prefer and most IDE's let you look at the stack in time with cute little expandable menus for all those variables. BEHOLD THE STATE OF THE UNIVERSE! * It is almost like the tool has been engineered for that very purpose or something * But like any tool, they aren't perfect and can't be the only thing we rely on * I still use print statements (or their equivalent) on occasion when banging out some code * I still google the simplest "how-to for loop" question sometimes * Windows pisses me off. At least on Linux, I can usually tell where I broke the computer * Open source software is so important... yet it is not rewarded nearly enough. Do you know what would happen if OSS just vanished? The world would literally come crashing down. I wish there was some way for private companies using open source software to somehow "reward" it. Micro transactions or some shit like that would be great. * Open-source software is so important... yet it is not rewarded nearly enough. Do you know what would happen if OSS just vanished? The world would literally come crashing down. I wish there was some way for private companies using open-source software to somehow "reward" it. Microtransactions or some shit like that would be great. * Your code should follow the HBAB (hit-by-a-bus) principle. Like, if on your way to work today you got hit by a bus, your team and buddies should be able to drop into your code, know how it works, and be able to continue on it without you. Writing code explicitly to be esoteric and hard to understand is b.s. As someone who now hires, I'll fire people for that kind of crap. * Comments and documentation and docstrings are almost as important as the code and "Self-documenting" code is almost always bullshit. If you can't take the time to write a comment about some function, you shouldn't be writing the function. Fight me. * Comments and docstrings and docs are also supremely useful when you need to go back to your own code in 5-months or 8 projects later and fix some screwup you made * That being said you can be over-zealous about them. You shouldn't have a comment for a console.log(...) line... unless it is weirdly complex or you are referencing poorly named variables * Please for the love of dog, name your variables well and place them logically in scope. I hate esoteric h@CkeR crap more than I hate managers asking if we can ship the code sooner by adding more resources * *finishes glass of whiskey* * I should probably get back to work. There are things on the internet to break and build * You're good people. Even you windows users, non-documenting code authors (still f.u.) * Coding/Programming is a craft. It isn't a science. And almost every "Rule" is a rule of thumb or general guideline or agreed-upon state of our current ignorance * Please be nice to new coders or people trying to code or learn to code, the best thing you can do for them and yourself and the industry is to just be human and good to people. That goes for bosses or employees or co-workers or random strangers on the great interwebs. Just be good. These are humans like you afterall. Au revoir dear programmers. Keep the code strong * permalink * embed * save * report * give award * reply load more comments (1 reply) [-]Ligmatologist 3 points4 points5 points 2 days ago (1 child) Since I work in data, I'm going to give a data-specific lessons learned. Fuck pandas. Preach. * permalink * embed * save * report * give award * reply [+]_intentional_focus 1 point2 points3 points 1 day ago (0 children) We phrased this the other day (a bunch of DE and DS people) as pandas is better than nothing, but only slightly. * permalink * embed * save * parent * report * give award * reply [-]austin987 3 points4 points5 points 2 days ago (1 child) Also 10 years in, also drinking, and damn man, wish I had read this years ago (along with 'The Pragmatic Programmer'). Cheers! * permalink * embed * save * report * give award * reply load more comments (1 reply) [-]King5lay3r 3 points4 points5 points 2 days ago (1 child) Its morning here and I can already say confidently that this is THE BEST post I will be seeing all day or maybe even a week. Thank you so much * permalink * embed * save * report * give award * reply [-]kumarFromIT 1 point2 points3 points 2 days ago (0 children) This is going to be top all time post of this sub. Unless we pour OP another glass! * permalink * embed * save * parent * report * give award * reply [-]KaleAway 3 points4 points5 points 2 days ago (1 child) This is like Homer's epic but for programmers. * permalink * embed * save * report * give award * reply [+]Optimus_Oteptron 1 point2 points3 points 2 days ago (0 children) Laughing so hard at this! * permalink * embed * save * parent * report * give award * reply [-]Kaizen321 1 point2 points3 points 2 days ago (0 children) As someone with almost 20yrs in the industry (and still just "developer", no senior but over 6 figures for over 5yrs...and yes by choice), this is the BEST and MOST real post I've read anywhere online. Anyone with plenty of battle scars was nodding their heads, laughing, sad and probably disgusted cus all of this is mad real. Thank you sir for saying everything that's I've been trying to say to others and myself. OP, I salute you!! * permalink * embed * save * report * give award * reply [-]ejustice 1 point2 points3 points 2 days ago (0 children) On the subject of documentation, here is a fun and friendly technical writing course that you can read and practice the basics. I was the same as you; I knew my documentation sucked but I didn't realize how bad or knew how to improve. I feel like I leveled up 2 or 3 levels with this very quick course https://developers.google.com/ tech-writing * permalink * embed * save * report * give award * reply [-]jimmyco2008 1 point2 points3 points 2 days ago (0 children) Mine is that a lot of comments in code is a good thing. If you're doing something complex or frankly worth doing, it's not going to be "self-documenting", no matter how good your write it. The difference is in what you're documenting with your comments. I like to comment things like why I did something a certain way, not for OTHERS but for ME when I come back to the code in a month or a year, so I can remember what I was thinking and why things needed to be done a particular way. The kinds of comments you probably should not put are comments that describe what the code is doing, like "// get all users from database" when the line of code is literally "userRepository.GetAll()". I don't comment for others. I comment for future-me. And I know exactly what future-me is going to be wondering about so that's what my comments are about. Comments don't make you a bad dev and a lot of comments doesn't mean your code is bad. It's not like someone couldn't figure out what your code is doing but I find the comments make that process easier and faster. * permalink * embed * save * report * give award * reply [-]penuserectus69 1 point2 points3 points 2 days ago (0 children) This was soul cleaning. Like listening to an awesome song and the lyrics are uniquely applicable. * permalink * embed * save * report * give award * reply load more comments (206 replies) * about * blog * about * advertising * careers * help * site rules * Reddit help center * reddiquette * mod guidelines * contact us * apps & tools * Reddit for iPhone * Reddit for Android * mobile website * <3 * reddit premium * reddit coins * redditgifts Use of this site constitutes acceptance of our User Agreement and Privacy Policy. (c) 2021 reddit inc. All rights reserved. REDDIT and the ALIEN Logo are registered trademarks of reddit inc. [pixel] p Rendered by PID 29776 on r2-app-00ae4ddcb4ece22af at 2021-05-30 23:00:30.935715+00:00 running 897d781 country code: US.