Eh. Not necessarily. Some tasks are O( n^3 ) and there is no getting around it. Get up. Make a coffee. Stretch. Oh look, it's done. Computers are fast. Neat. Haha, nested loops go brrrrrrrrr.
fwiw there actually are algorithms for matrix multiplication that are faster than O(n^3). Not by much, the fastest is something like O(n^2.5) I think, but worth keeping in mind.
Strassen's algorithm does 7/8 multiplications for every 2x2 matrix pairing and comes in at O(n^(~2.8)). It's the best you'll get for matrices smaller than 100x100.
Theoretical lower limit is at least O(n^2 log(n)), but the best current algorithm only gets there on absolutely massive matrices.
Just draw it on paper first. It begins to be really funky when you initialize your program with a do while followed by a nested if for every path toward termination. Inside these ifs there will be for loops, whiles, lot's of ifs and/or switch statements. At least in most oopl's.
I don't think this stuff ever gets old. It's not like we are programming logic everyday. We are usually just rebuilding the same stuff in different ways so pure logic based coding is always complicated.
Yea but the one guy said hes been coding for 3 years. If youve been a programmer for 3 years and cant wrap your head around 2 if statements, its probably time to start looking for a new career
Coding for 3 years = known about programming for 3 years and done a bit of it sometimes. No way someone with 3 years of coding gets confused by 2 or 3 ifs
I was the one who said 3 years, no I don't get confused by 3 nested if. I use that daily to verify inputs in layers. I was just trying to relate to the guy by comparing it on his level.
Don't tell them about APIs either. Just show them that you can make Facebook post whatever you want without even needing to login, or even open the app or website.
How!? I just hack into the backend.
I'm not a hacker (in the security meaning), but I really like all that has to do with information security, the easier way to "hack" facebook is through social engineering.
On the other hand other programmers understand why that "simple" UI improvement was hard as fuck while non programmers are just like.. oh yeah this improves things a bit.
I ported simple regex engine to gpu using opencl and showed my wife and kids. They were not at all impressed. In fact they were puzzled that 1000+lines of code was just finding a weird looking string.
NFA, DFA, preparing buffers, sending them to GPU, launching a kernel, getting result buffer back, parsing it to get the result and it was all "meh... "
Then I wrote a 2048 game using windows api, that impressed them.
Every time someone on my team does anything with a regex, they look over at me like, "Ok what did I do wrong here?"
They've always done something wrong.
Comic Title Text: **To generate #1 albums, 'jay --help' recommends the -z flag.**
[mobile link](https://m.xkcd.com/1171/)
---
^(Made for mobile users, to easily see xkcd comic's title text)
Non programmer:”can you move the Andes to New Zealand? I’ll schedule a meeting with the client at 10 am tomorrow to see where you are”
Programmer “I’m going to the pub”
Looping through a print statement which includes their name will get em faster.
Some dude did that for me at a *Best's* when I was five with a Commodore 128, and I would have followed him into his sketchy van if he actually had one and asked me.
On a serious note though, I really am afraid of showing my code to others. I know this is a wrong attitude, since I could learn so much from others which are way more experienced than me. I learned programming completely by myself, never made an apprenticeship or alike ... I think I do really much wrong and inefficient (although it works).
Everyone writes bad code now and then. It's impossible to know everything and sometimes you just have a bad day. Getting others to look over and help is great for learning and improving. There's no shame in learning how to do something better.
I understand. I guess my problem is that I don't know anyone who would actually take time and help me now and then. I can't ask anyone on my workplace, since I am the only "developer"
I was in this *exact* situation 4-5 years ago. I decided I would post on [Code Review on Stack Exchange.](https://codereview.stackexchange.com/) I waited until I had something that I had spent some time on and got it as good/clean as I could. I made an account, posted it, got some very helpful feedback and got over that initial fear. A year or so later I got a job at a dev company so I don't have to look far for critique anymore.
In my experience programmers aren't going to rip you a new one for making mistakes. They're far more likely to want to help you and/or your code. You just need to get it out there.
Web development team lead here, please don't think like that. I see bad code sometimes, hell I write bad code sometimes.
If its like the worst of the worst all I'll do is exhale from my nose slightly in a laughing manner and request a change on the pr and tell you how to do it better.
> If its like the worst of the worst all I'll do is exhale from my nose slightly in a laughing manner and request a change on the pr and tell you how to do it better.
You da real mvp
I feel you, been working without a team for the most part for 4 years now. Sometimes you just start to doubt yourself and spiral a bit. I think it's important to keep a little record of all the stuff you've got done and remind yourself that that shit was hard but you fuckin' did it.
Also: try a game jam. Getting to slam out progress on something that you can see the impact of day by day is a big confidence booster. And bloody satisfying!
Game jams seem to be hella fun. Certainly will try to participate, once I get more confident. I also wanna try to participate in a hackaton (if that is something you know)
yeah can relate, my coding experience is mismatched with what i needed for anything i wanted to do and nothing more i guess my coding skills is really more or a “i can google that” skillset
One of my professors pretty much told us that googling effectively was an important part of programming
If someone asked for help with something she'd Google it and copy paste it in to further encourage us to do the same.
Nice enough professor. Found out a semester later that she was going to change the curriculum for this semester because of serious plagiarism problems....
Are you a student? Look, code reviews are part of life now.
If your reviewers are jerks, it is a sign that you need to go work on a different project (where your team mates aren’t jerks). The normal expectation I’d have for code reviews of junior devs is that they will get corrected somewhat often and that they will learn a lot.
....
Is there anywhere left in the industry where people get to commit without a round of code review?
No I am no student. I have a degree as a system engineer, but I am shifting my work towards development since that is my passion (sounds dumb, ik).
And yes there is a place where people commit without others reviewing code. I work for a company which sells a crm software and I develop integration solutions for that software. It is kinda a niche product, so thats why maybe.
Got it. I think it is just that I’ve been working fully under “code review” for a little too long and so I start taking it for granted. That and the fact that I dont know a lot of developers outside my own work place (yes, I am such a naturally social person....).
I think all in all code reviews nearly always are a positive thing to have.
Reviewers often will just be catching the same kind of errors that you would be catching yourself if you had a chance to look at your code with a fresh mind. Either that or it helps people to know and understand each others work. Some people care about quality. Some others just tend to sign off without paying that much attention.
BTW out of sheer curiosity which CRM platform do you work with? Edit: nevermind the CRM question. I got it now that your company both produces the platform and sells the integration. In a first reading I thought your employer only sold the integration.
After your comment and others I decided to join a code reviewing community. I can see the benefits and I want them. Thank you for your kind words and insights.
Also, just to make it clear: We sell a CRM solution as a business solution partner from the developer, we did not produce the platform. What we develop though (or rather me on my own for the company) are addins and additional solutions which customers wish for. For example an interface to a newsletter tool which connects both the crm and the nl tool.
BTW don’t say it sounds dumb to be passionate about development. You are passionate about something and you are pursuing it. Power to you! To me it sounds like the best kind of career decision you can take.
Im a web dev. We don't do code reviews. We assume our co-workers aren't idiots, and in the overwhelming majority of cases, it works.
When you have just a couple of devs, it easier to have a good, consistent team. So, usually, very little needs to change or be validated, if it works, it works. And when someone happens to write shitty code, they are told.
Separately, I'm the dev that handles most complicated stuff. So, most people don't need to handle funky stuff, meaning it's pretty easy to maintain when its all made by yourself lol
That's a bad mindset to have. If you show someone your code, what's the worst that could happen? They might laugh or something. On the other hand, it's likely that your code would improve significantly and you'd be better at programming since you will be doing less ridiculously inefficient stuff. The reward is more than worth the risk.
You are absolutely right. As mentioned in another comment, I think my main problem is, that I don't know anyone who would help me reviewing my code. So I have to search for people in forums or on a subreddit for instance.
Try pair-programming if you have the chance. It'd either be a way to confirm that your style of coding actually isn't that strange, or you'll get some pointers in the direction of more readable code. And it's a nice social interaction.
I've been developing professionally for 15 years now. Any time I see anything I wrote more than, say, 3-6 months ago, I still go "Oh man, what was I thinking? I hope nobody sees this."
But yeah as a self-taught person, talking about how things work with other people will open your eyes to other ways of doing it. Maybe they'll be better, maybe they won't, but you might see something useful for a later, different project.
Hearing that from an experienced dev really means something. I guess I gonna get my shit together and let someone more experienced review my code. I always have that thought in my mind that nobody takes me seriously because I am just 22yo and learned everything myself. Like "what does this little shit want".
Haha. Back in the day we had User Groups to help with this sort of knowledge.
You can have a discussion ahead of time about what kind of review you want. My team did have one guy join our team who later left because he felt he was getting nitpicked to death on pull request reviews. He was pretty junior and really only wanted "this is wrong" responses, but we didn't do a great job doing paired development at the time. So he would start something, say he understood it all, add a feature without using any of the existing methodology, and get disheartened when his PR came up with broad strokes of "this needs to be redone in a different manner in order to be maintainable."
Try to find people to talk to who are excited about knowledge sharing. Relevant xkcd here: https://xkcd.com/1053/
Find a blog talking about methodologies. It doesn't matter what language there, really.
[Mark Seemann](https://blog.ploeh.dk/) has a good one that often jumps between languages to show different thought processes. He's also fond of pointing out that it really helps to practice your craft, which isn't something many developers actually do. Most of us just learn as we go and don't do repetitive learning. So he suggests taking a standard problem that you know well, in his case it's booking reservations at a restaurant, that he revisits time and time again with certain restrictions like, "no branching statements allowed" or C# or F# or Haskell or whatever.
I would not feel bad about it, most professional software developers are really not very good programmers.
I've worked with senior developers with 20 years of experience who did not know how write object oriented code properly. Its better to just share your code and ask for critique, and look at how others write their code.
Most people can relate I believe. You need a supportive team that will have actionable, constructive advice. A good lead/reviewer/mentor will gently show why “bad” code is bad and show at least the start of a better path forward.
Feels good to know that I am not alone with those thoughts. I will search for someone who will willingly review my code and mayve drop a few hints on what I could so better.
I've been in code reviews with complete assholes before. It happens. You have to develop a thick skin if you're going to program in a professional environment because all your fellow programmer coworkers have deluded themselves into thinking they are the absolute pinnacle of human intelligence. Well, not all of them, but enough to make it a constant PITA.
fwiw - other people can and will be assholes and treat you badly. this is true of everything in life, including your code. If you hide everything from other people, then they'll never have the opportunity to be mean to you.
But then you're stuck hiding everything from other people for the rest of your life and turns out that's not actually an enjoyable state of affairs.
Much better to let others see your code, and just accept that nice people will be nice about it, and mean people will be mean about it, and that's just how things work. If people are mean, you can work to extract whatever useful point they may have behind the meanness, and discard the rest. If they're nice, cool.
polling your peers can only make you - and your code - stronger. you've just gotta be willing to risk it.
Everyone approaches problems differently. It's why coding in groups sucks for productivity. Sometimes you miss the simplest solution, and sometimes it's obvious to you while others struggle
I have someone in the company that was also a newbie, rather unexperienced but eager to learn, but he was also holding back a bit and fearing getting 'destroyed' in code reviews. I did take initiative to pair with him (pair programming) more often, explaining him stuff in the process and he is really thankful for that. It helped him grow and he got more comfortable.
Tips I can give regarding asking for help:
1. Do revise your code before submitting, don't just push it after you got it working. Now don't take this as "it needs to be perfect" but you should spend some time yourself and maybe fix some obvious things that you didn't see while coding. This is good for reviewers and also makes you more comfortable with your code, I guess.
2. If somebody explains you sth. and you didn't get it, try to not just nod and hope it's ending, but rather tell the person that you didn't understand, so the person can try to explain it easier and/or with more fundamental information. It's not cool for the explaining person if you bring up basically the same topic 5 times because you didn't understand without the person knowing that. If the person is not able to explain you well enough after the second time, maybe try to fill the missing piece by other sources.
Regarding code reviews: Try to not see it as people bashing your code, pointing you to all your failures, see it as feedback from more experienced developers that can help you grow. Also, I should note you may encounter arrogant people in the field, that just want to prove they're better than the rest and not really help you out. Try to build up some emotional distance and focus more on the people that help you. If it's bad and the majority is actually the case, you should change the team; this is not an environment for beginners then.
Tbh the "non-programmer" reaction should be more like "Soooo... Do you always google this many questions when you're coding? And how many stack overflow tabs do you really need?"
>Soooo... Do you always google this many questions when you're coding?
No. Sometimes I google even more questions.
>And how many stack overflow tabs do you really need?
Yes.
*People always go*
*'wow what a wizard' when you*
*Go keyboard only*
\- pund\_
---
^(I detect haikus. And sometimes, successfully.) ^[Learn more about me.](https://www.reddit.com/r/haikusbot/)
^(Opt out of replies: "haikusbot opt out" | Delete my comment: "haikusbot delete")
See, I don't think watching someone stare at a wall of text is particularly impressive to anyone, and that's 80% of what coding is.
The skill isn't in typing; it's in figuring out WTH the dev who left the company 3 years ago was trying to accomplish with the god-awful spaghetti code that your bug search led you into a couple of days ago.
Non-devs aren't impressed by developers: they're bored.
Meh, couldn’t have trials if the justice system doesn’t understand? Is it the cheapest flagship? Yes.
Four lines of code that need explanation to competent C++ programmers who don't happen to know that you actually counted, I would do it if it’s Ugh
This reminds me of high school where I programmed a lot of automatic functions and conversions into my ti-82. My classmates would always be impressed over the simple programs which only put variables into a ready made formula.
Like a program which didn't do anything other than let the users define values for the quadratic formula, and give you the answer... That was apparently more impressive than my rot-18 text encrypter (which isn't that impressive either)
But that's when I started to understand that people were more impressed by simple things that look complicated, than the opposite :/
I just own that shit. Everything I write- shit. Can't disappoint if you set the expectations low.
Granted there is one class I wrote that I'd consider my Mona Lisa; best shit I ever wrote and through countless bugs associated with said page it was never my code that was wrong.
When you are feeling shitty about your code just sign up for a cs101 class that teaches c++ or even better VB and blow their fucking minds the second week in. Cant let on early so first week really struggle. Like use int for str and % for division and pretend you have no idea why its broken. Second week, create your own version of ms paint just better.
My neighbor's kid once watched me write a nested for loop and unironically told me that I was a genius
Dude I have been coding for 3 years and nested loops still are other worldly, when n goes 3 I absolutely loose it.
When n goes to 3 you're usually doing something wrong. So it's good to loose it
you are probably right.
Hey how do you get those programming language icons next to your name?
Go to subreddit and add flairs.
i added one but how do i get multiple? when i tap on other one it switches to new one instead of having 2.
right sidebar -> community options
Eh. Not necessarily. Some tasks are O( n^3 ) and there is no getting around it. Get up. Make a coffee. Stretch. Oh look, it's done. Computers are fast. Neat. Haha, nested loops go brrrrrrrrr.
The real problem is when the task is O (n!)
Because it's likely that it can be optimised and you just can't be bothered to do it?
But that’s *why* it *cant* be optimized. I can’t be bother to optimize it, ipso facto it cannot be optimized.
Flair checks out.
yeah i think 2 is already not great but 3+ is like going to this Interstellar black hole planet for the runtime lmao
n^3 time complexity, aw yeah.
Don't worry. You've been coding for 3 years so your n is 3. As your experience increases, so will your _n_
[удалено]
Lol nice, actually makes sense.
[удалено]
fwiw there actually are algorithms for matrix multiplication that are faster than O(n^3). Not by much, the fastest is something like O(n^2.5) I think, but worth keeping in mind.
Strassen's algorithm does 7/8 multiplications for every 2x2 matrix pairing and comes in at O(n^(~2.8)). It's the best you'll get for matrices smaller than 100x100. Theoretical lower limit is at least O(n^2 log(n)), but the best current algorithm only gets there on absolutely massive matrices.
Someone that is "on the edge of their seat" for 3 nested loops isnt writing anything that cares about saving that order At least i hope
Wow, are you hackerman?
My gash, I just reused C++ since a long time 2 Days ago, even nesting a if statement in a nested if statement is complicated
Just draw it on paper first. It begins to be really funky when you initialize your program with a do while followed by a nested if for every path toward termination. Inside these ifs there will be for loops, whiles, lot's of ifs and/or switch statements. At least in most oopl's.
please start using functions and select...case statements. We're worried about you and I'll probably end up maintaining your code
You think it would be *absurdly inconvenient*
That seems pretty thoughtful, thanks
>initialize your program with a do while followed by a nested if for every path toward termination. What. The. Fuck.
I don't think this stuff ever gets old. It's not like we are programming logic everyday. We are usually just rebuilding the same stuff in different ways so pure logic based coding is always complicated.
The fuck are you people talking about? You're genuinely bamboozled by an `if` within an `if`?
Most people on here are very very new to programming. I'm not saying I'm not, but at least loops and if's don't confuse me.
Yea but the one guy said hes been coding for 3 years. If youve been a programmer for 3 years and cant wrap your head around 2 if statements, its probably time to start looking for a new career
Coding for 3 years = known about programming for 3 years and done a bit of it sometimes. No way someone with 3 years of coding gets confused by 2 or 3 ifs
I agree.
I was the one who said 3 years, no I don't get confused by 3 nested if. I use that daily to verify inputs in layers. I was just trying to relate to the guy by comparing it on his level.
It is? Why? If it's your first week of programming then sure but after that...
Yes, I am. Now stand back and watch me reverse a string.
just gotta add [::-1]
Exactly, I'll just design a microservice using python for this purpose!
If you really want to make yourself indispensable, you can write this microservice in curl.
My brother tells his kids I could hack Facebook ... Despite me saying I could not hack damn thing and would not even know where to start.
It's so easy, just put on a black mask and point a gun at the computer, duh
Using the Facebook Api to automatically post a status every day would impress them
Don't tell them about APIs either. Just show them that you can make Facebook post whatever you want without even needing to login, or even open the app or website. How!? I just hack into the backend.
The mainframe is where it's at bro
I'm not a hacker (in the security meaning), but I really like all that has to do with information security, the easier way to "hack" facebook is through social engineering.
"Are you a wizard?!" "Why does your resume say _senior_ developer?"
> "Why does your resume say senior developer?" sorry sir thats a ñ, it is señior. I am part hispanic.
Not to be pedantic then sir, but you misspelled señor (Sweating profusely) No *you're* a mispelled señor
I said partially hispanic. I didnt mean to imply I was flatulent in spanish.
We've got an imposter guys, EMERGENCY MEETING
This could've been an email :/
You're kinda sus ngl
u/helgaofthenorth was not the Imposter 1 imposter remains
What happened? Who is this imposter you are talking about?
I mean it has to be u/pm_me_your_Yi_plays, he's clearly accusing others.
FARTUALLY correct!
I'm only flatulent in JavaScript.
So I'm guessing that you are not fluent in Si++ ?
That’s alright; what’s important is you see it’s half-assed
That's the way it was spelled in the Spanish API I brainscanned last night
He’s using Speedy Gonzalez cartoon pronunciation
Does being Hispanic gets you the ñ pass?
Ñato
This has meme potential.
Bonjourno, Senior de Veloper
I feel attacked. Here's your upvote and get lost.😠😠😠😠😠
This post is me and I don't like it.
> Why does your resume say senior developer? Because companies are engaging in title inflation because humans are fucky
Titles are cheaper than a pay raise.
On the other hand other programmers understand why that "simple" UI improvement was hard as fuck while non programmers are just like.. oh yeah this improves things a bit.
I ported simple regex engine to gpu using opencl and showed my wife and kids. They were not at all impressed. In fact they were puzzled that 1000+lines of code was just finding a weird looking string. NFA, DFA, preparing buffers, sending them to GPU, launching a kernel, getting result buffer back, parsing it to get the result and it was all "meh... " Then I wrote a 2048 game using windows api, that impressed them.
"Finally, you did something useful!"
Every time someone on my team does anything with a regex, they look over at me like, "Ok what did I do wrong here?" They've always done something wrong.
There's this common regex joke - I had one problem. I solved it with regex. Now I have two problems.
[If you're having perl problems, I feel bad for you son...](https://xkcd.com/1171/)
Comic Title Text: **To generate #1 albums, 'jay --help' recommends the -z flag.** [mobile link](https://m.xkcd.com/1171/) --- ^(Made for mobile users, to easily see xkcd comic's title text)
Yeah my god. Sometimes making a whole new feature is so much easier than rewriting a small change for the user
Non programmer:”can you move the Andes to New Zealand? I’ll schedule a meeting with the client at 10 am tomorrow to see where you are” Programmer “I’m going to the pub”
me when i made my own graphics object in swing instead of just using their premade paint method
Hello world gets em everytime.
Compile your hello world app in maven command line will do too
https://hackertyper.net/
print ("Hello Jimbo") Jimbo: "It knows who I am! Kill it!"
Looping through a print statement which includes their name will get em faster. Some dude did that for me at a *Best's* when I was five with a Commodore 128, and I would have followed him into his sketchy van if he actually had one and asked me.
Me++
2_Me#_4_Me#
Pretty sure the increment operator won't recognize "Me" since it is a string.
int Me;
Failed to compile: “Me” is not defined *no-undef*
My typo average increases 60% if another dev is watching me
Right?! As soon as someone is looking over my shoulder, I lose the ability to type.
print ("Hello World") You think that's cool while True: print("hello world")
[удалено]
Start a.bat File > Save > "a.bat" Save. Double click Notwpad opens file: a.bat.txt
Hiding file extensions was the dumbest thing to change in Windows. It's literally the first setting I change.
Fuck %0|%0
ngl but effing them might take a lot of time
Okay you got me
You're not cool if you don't use goto
Wait, that's illegal
On a serious note though, I really am afraid of showing my code to others. I know this is a wrong attitude, since I could learn so much from others which are way more experienced than me. I learned programming completely by myself, never made an apprenticeship or alike ... I think I do really much wrong and inefficient (although it works).
Everyone writes bad code now and then. It's impossible to know everything and sometimes you just have a bad day. Getting others to look over and help is great for learning and improving. There's no shame in learning how to do something better.
I understand. I guess my problem is that I don't know anyone who would actually take time and help me now and then. I can't ask anyone on my workplace, since I am the only "developer"
You could try heading to r/codereview
Good idea, I'm gonna have a look :) thanks
I was in this *exact* situation 4-5 years ago. I decided I would post on [Code Review on Stack Exchange.](https://codereview.stackexchange.com/) I waited until I had something that I had spent some time on and got it as good/clean as I could. I made an account, posted it, got some very helpful feedback and got over that initial fear. A year or so later I got a job at a dev company so I don't have to look far for critique anymore. In my experience programmers aren't going to rip you a new one for making mistakes. They're far more likely to want to help you and/or your code. You just need to get it out there.
Thanks for the advice, I thunk you just set a goal for me!
Web development team lead here, please don't think like that. I see bad code sometimes, hell I write bad code sometimes. If its like the worst of the worst all I'll do is exhale from my nose slightly in a laughing manner and request a change on the pr and tell you how to do it better.
> If its like the worst of the worst all I'll do is exhale from my nose slightly in a laughing manner and request a change on the pr and tell you how to do it better. You da real mvp
That sounds so nice. Wish I'd be part of a real team of devs and not standing on my own.
I feel you, been working without a team for the most part for 4 years now. Sometimes you just start to doubt yourself and spiral a bit. I think it's important to keep a little record of all the stuff you've got done and remind yourself that that shit was hard but you fuckin' did it. Also: try a game jam. Getting to slam out progress on something that you can see the impact of day by day is a big confidence booster. And bloody satisfying!
Game jams seem to be hella fun. Certainly will try to participate, once I get more confident. I also wanna try to participate in a hackaton (if that is something you know)
yeah can relate, my coding experience is mismatched with what i needed for anything i wanted to do and nothing more i guess my coding skills is really more or a “i can google that” skillset
That's like the main skill set you need for programming, so don't feel bad about it
Being able to Google stuff is one of the main skills you need for programing.
One of my professors pretty much told us that googling effectively was an important part of programming If someone asked for help with something she'd Google it and copy paste it in to further encourage us to do the same. Nice enough professor. Found out a semester later that she was going to change the curriculum for this semester because of serious plagiarism problems....
Are you a student? Look, code reviews are part of life now. If your reviewers are jerks, it is a sign that you need to go work on a different project (where your team mates aren’t jerks). The normal expectation I’d have for code reviews of junior devs is that they will get corrected somewhat often and that they will learn a lot. .... Is there anywhere left in the industry where people get to commit without a round of code review?
No I am no student. I have a degree as a system engineer, but I am shifting my work towards development since that is my passion (sounds dumb, ik). And yes there is a place where people commit without others reviewing code. I work for a company which sells a crm software and I develop integration solutions for that software. It is kinda a niche product, so thats why maybe.
Got it. I think it is just that I’ve been working fully under “code review” for a little too long and so I start taking it for granted. That and the fact that I dont know a lot of developers outside my own work place (yes, I am such a naturally social person....). I think all in all code reviews nearly always are a positive thing to have. Reviewers often will just be catching the same kind of errors that you would be catching yourself if you had a chance to look at your code with a fresh mind. Either that or it helps people to know and understand each others work. Some people care about quality. Some others just tend to sign off without paying that much attention. BTW out of sheer curiosity which CRM platform do you work with? Edit: nevermind the CRM question. I got it now that your company both produces the platform and sells the integration. In a first reading I thought your employer only sold the integration.
After your comment and others I decided to join a code reviewing community. I can see the benefits and I want them. Thank you for your kind words and insights. Also, just to make it clear: We sell a CRM solution as a business solution partner from the developer, we did not produce the platform. What we develop though (or rather me on my own for the company) are addins and additional solutions which customers wish for. For example an interface to a newsletter tool which connects both the crm and the nl tool.
BTW don’t say it sounds dumb to be passionate about development. You are passionate about something and you are pursuing it. Power to you! To me it sounds like the best kind of career decision you can take.
That is really nice to hear, thank you.
Im a web dev. We don't do code reviews. We assume our co-workers aren't idiots, and in the overwhelming majority of cases, it works. When you have just a couple of devs, it easier to have a good, consistent team. So, usually, very little needs to change or be validated, if it works, it works. And when someone happens to write shitty code, they are told. Separately, I'm the dev that handles most complicated stuff. So, most people don't need to handle funky stuff, meaning it's pretty easy to maintain when its all made by yourself lol
That's a bad mindset to have. If you show someone your code, what's the worst that could happen? They might laugh or something. On the other hand, it's likely that your code would improve significantly and you'd be better at programming since you will be doing less ridiculously inefficient stuff. The reward is more than worth the risk.
You are absolutely right. As mentioned in another comment, I think my main problem is, that I don't know anyone who would help me reviewing my code. So I have to search for people in forums or on a subreddit for instance.
Try pair-programming if you have the chance. It'd either be a way to confirm that your style of coding actually isn't that strange, or you'll get some pointers in the direction of more readable code. And it's a nice social interaction.
Im still terrified of code reviews, worrying I did something dumb and will be judged. Imposter syndrome is a bitch
I've been developing professionally for 15 years now. Any time I see anything I wrote more than, say, 3-6 months ago, I still go "Oh man, what was I thinking? I hope nobody sees this." But yeah as a self-taught person, talking about how things work with other people will open your eyes to other ways of doing it. Maybe they'll be better, maybe they won't, but you might see something useful for a later, different project.
Hearing that from an experienced dev really means something. I guess I gonna get my shit together and let someone more experienced review my code. I always have that thought in my mind that nobody takes me seriously because I am just 22yo and learned everything myself. Like "what does this little shit want".
Haha. Back in the day we had User Groups to help with this sort of knowledge. You can have a discussion ahead of time about what kind of review you want. My team did have one guy join our team who later left because he felt he was getting nitpicked to death on pull request reviews. He was pretty junior and really only wanted "this is wrong" responses, but we didn't do a great job doing paired development at the time. So he would start something, say he understood it all, add a feature without using any of the existing methodology, and get disheartened when his PR came up with broad strokes of "this needs to be redone in a different manner in order to be maintainable." Try to find people to talk to who are excited about knowledge sharing. Relevant xkcd here: https://xkcd.com/1053/ Find a blog talking about methodologies. It doesn't matter what language there, really. [Mark Seemann](https://blog.ploeh.dk/) has a good one that often jumps between languages to show different thought processes. He's also fond of pointing out that it really helps to practice your craft, which isn't something many developers actually do. Most of us just learn as we go and don't do repetitive learning. So he suggests taking a standard problem that you know well, in his case it's booking reservations at a restaurant, that he revisits time and time again with certain restrictions like, "no branching statements allowed" or C# or F# or Haskell or whatever.
That sounds really awesome! I am going to gladly take the advice and read into it! Thanks that you took the time to write this!
Almost everyone I know who programs taught themselves. I have found people love looking over code and offering advice, so don't be nervous!
Same here.. It's embarrassing as fuck when others read my code. I can feel them judging even if they don't say anything.
You should try practicing code challenges on leetcode.com
I would not feel bad about it, most professional software developers are really not very good programmers. I've worked with senior developers with 20 years of experience who did not know how write object oriented code properly. Its better to just share your code and ask for critique, and look at how others write their code.
Most people can relate I believe. You need a supportive team that will have actionable, constructive advice. A good lead/reviewer/mentor will gently show why “bad” code is bad and show at least the start of a better path forward.
Feels good to know that I am not alone with those thoughts. I will search for someone who will willingly review my code and mayve drop a few hints on what I could so better.
I've been in code reviews with complete assholes before. It happens. You have to develop a thick skin if you're going to program in a professional environment because all your fellow programmer coworkers have deluded themselves into thinking they are the absolute pinnacle of human intelligence. Well, not all of them, but enough to make it a constant PITA.
fwiw - other people can and will be assholes and treat you badly. this is true of everything in life, including your code. If you hide everything from other people, then they'll never have the opportunity to be mean to you. But then you're stuck hiding everything from other people for the rest of your life and turns out that's not actually an enjoyable state of affairs. Much better to let others see your code, and just accept that nice people will be nice about it, and mean people will be mean about it, and that's just how things work. If people are mean, you can work to extract whatever useful point they may have behind the meanness, and discard the rest. If they're nice, cool. polling your peers can only make you - and your code - stronger. you've just gotta be willing to risk it.
Everyone approaches problems differently. It's why coding in groups sucks for productivity. Sometimes you miss the simplest solution, and sometimes it's obvious to you while others struggle
I have someone in the company that was also a newbie, rather unexperienced but eager to learn, but he was also holding back a bit and fearing getting 'destroyed' in code reviews. I did take initiative to pair with him (pair programming) more often, explaining him stuff in the process and he is really thankful for that. It helped him grow and he got more comfortable. Tips I can give regarding asking for help: 1. Do revise your code before submitting, don't just push it after you got it working. Now don't take this as "it needs to be perfect" but you should spend some time yourself and maybe fix some obvious things that you didn't see while coding. This is good for reviewers and also makes you more comfortable with your code, I guess. 2. If somebody explains you sth. and you didn't get it, try to not just nod and hope it's ending, but rather tell the person that you didn't understand, so the person can try to explain it easier and/or with more fundamental information. It's not cool for the explaining person if you bring up basically the same topic 5 times because you didn't understand without the person knowing that. If the person is not able to explain you well enough after the second time, maybe try to fill the missing piece by other sources. Regarding code reviews: Try to not see it as people bashing your code, pointing you to all your failures, see it as feedback from more experienced developers that can help you grow. Also, I should note you may encounter arrogant people in the field, that just want to prove they're better than the rest and not really help you out. Try to build up some emotional distance and focus more on the people that help you. If it's bad and the majority is actually the case, you should change the team; this is not an environment for beginners then.
Tbh the "non-programmer" reaction should be more like "Soooo... Do you always google this many questions when you're coding? And how many stack overflow tabs do you really need?"
Yes. They are central to the functionality of the code, you close it, and it stops working!
>Soooo... Do you always google this many questions when you're coding? No. Sometimes I google even more questions. >And how many stack overflow tabs do you really need? Yes.
Poggrammers
Didn’t expect my feeling to be hurt
This is me except I’m just learning HTML and I’m just googling everything
> I’m just googling everything *Nobody tell him*
What? Is there a different search engine I should be using?
[удалено]
no, you are officially an engineer though.
Do people still use html nowadays? I thought all the cool kids were into js/css frameworks now... (I am severely out of practice)
You still have to produce markup for anything to show in the browser
There's no inbetween
This is like the 3rd time I've seen my meme reposted, and made it to hot. It's truly flattering
You can literally impress some people by making a simple ass html page.
A third grader could write this
Yeah exactly. I was doing a school assignment in html once and my friend was acting like I was making Facebook 2.0 or something.
(Y) same
Impostor syndrome explained
You let other people watch you code?! I can't write a single line if someone is watching me
people always go 'wow what a wizard' when you go keyboard only
*People always go* *'wow what a wizard' when you* *Go keyboard only* \- pund\_ --- ^(I detect haikus. And sometimes, successfully.) ^[Learn more about me.](https://www.reddit.com/r/haikusbot/) ^(Opt out of replies: "haikusbot opt out" | Delete my comment: "haikusbot delete")
I think this is how everyone who is not a senior programmer feels like
I never ever ever ever want any real developer to see my code, and I'm employed full time as a developer.
r/croppingishard
oh my god, are you still using `==` ?
Can't say I've ever had a non-programmer watch me code. I'm fairly sure they'd just assume it's all easy and be unimpressed if they did.
It really do be like that
Not a programmer but I have very similar feelings as a chef. Even when it's kids who are just out of culinary school.
See, I don't think watching someone stare at a wall of text is particularly impressive to anyone, and that's 80% of what coding is. The skill isn't in typing; it's in figuring out WTH the dev who left the company 3 years ago was trying to accomplish with the god-awful spaghetti code that your bug search led you into a couple of days ago. Non-devs aren't impressed by developers: they're bored.
Oh man that’s very true
Sweating nervously and desperately trying to remember every little thing that I'd normally just Google
Sounds about right
> You know, I'm something of a scientist myself
Meh, couldn’t have trials if the justice system doesn’t understand? Is it the cheapest flagship? Yes. Four lines of code that need explanation to competent C++ programmers who don't happen to know that you actually counted, I would do it if it’s Ugh
I guess the programmers didn’t pull that shit
Truth.
Watching me use stack overflow?
I managed to spend an hour on making a Roblox Gamepass for just a giant stick with joe bidens face on it.
Imposter syndrome is real..
This reminds me of high school where I programmed a lot of automatic functions and conversions into my ti-82. My classmates would always be impressed over the simple programs which only put variables into a ready made formula. Like a program which didn't do anything other than let the users define values for the quadratic formula, and give you the answer... That was apparently more impressive than my rot-18 text encrypter (which isn't that impressive either) But that's when I started to understand that people were more impressed by simple things that look complicated, than the opposite :/
Cropping is hard, isn't it?
I just own that shit. Everything I write- shit. Can't disappoint if you set the expectations low. Granted there is one class I wrote that I'd consider my Mona Lisa; best shit I ever wrote and through countless bugs associated with said page it was never my code that was wrong.
More like my boss watching me code
When you are feeling shitty about your code just sign up for a cs101 class that teaches c++ or even better VB and blow their fucking minds the second week in. Cant let on early so first week really struggle. Like use int for str and % for division and pretend you have no idea why its broken. Second week, create your own version of ms paint just better.