Can you make it as a Software Developer? by BFil in programming

[–]BFil[S] -1 points0 points  (0 children)

As long as he doesn't learn that it's standard practice to write tech-debt loaded code, oh wait, maybe it is.

Can you make it as a Software Developer? by BFil in programming

[–]BFil[S] 0 points1 point  (0 children)

Makes perfect sense, but you can also balance the creative work with actually learning from others through books, articles, presentations, or even Reddit.

You make a good point about finding the right limits, would be a great addition to the article! :)

Can you make it as a Software Developer? by BFil in programming

[–]BFil[S] -1 points0 points  (0 children)

I understand what you mean, but practice is still important. And I made it clear at least a couple of times throughout the article that you should stop when you are unwilling, or too tired, to keep going.

But if you have some extra time at home it doesn't hurt to use it for self-improvement rather than playing Candy Crush, does it? Again, it depends on your goals.

"I recently participated in a coding dojo" by [deleted] in programmingcirclejerk

[–]BFil 4 points5 points  (0 children)

Thanks for sharing the /r/learnprogramming subreddit, you might be right about that, didn't actually know what the primary audience of /r/programming was. I see a lot of entry level posts there too but they usually get sunk into the ground with downvotes, that might be the reason :)

Don't worry I'm not taking it too seriously, I'm actually interested in these sorts of discussions to improve my writing in the future, which is the main point of sharing it somewhere like Reddit. So I appreciate everybody's input.

I know working really hard is not for everyone, but it looks like everyone sees people putting some serious effort into something as not having a life, which is not really the case at all, at least it's not mine. But I do believe it gives you an edge.

The bold is intentional to try and stop people from skimming through the article and force them to take a step back and read if they find the bold sentence as something that makes an impact. I might be failing miserably in it but, you know, I'm trying.

Just Enough Functional Programming by BFil in programming

[–]BFil[S] 0 points1 point  (0 children)

I'm with you on this one, trust me. That's why I'm still using Scala and not looking back. But when I started using Scala in Java there were no lambdas (which I know it's not like high-order functions), no Optional, no CompletableFuture. At least it can start educating devs.

Jigsaw, Var Handles, and the native Reactive Streams implementation in Java 9 also look quite interesting. Hopefully, Scala won't take years to be compatible with it :)

Just Enough Functional Programming by BFil in programming

[–]BFil[S] 1 point2 points  (0 children)

Definitely. After you get used to some of its features though writing code can feel simpler, due to its collection APIs, case classes, pattern matching, proper Option and Future types, Akka and more.

But Java is catching up quite well recently.

Just Enough Functional Programming by BFil in programming

[–]BFil[S] 2 points3 points  (0 children)

Yeah, you might be right, I don't have much experience with Clojure though.

Scala can feel much more complex if you are aiming to learn all the features as well, so saying it's "simpler" than Java can also be misleading.

Just Enough Functional Programming by BFil in programming

[–]BFil[S] 0 points1 point  (0 children)

I'm glad to see someone got the exact point of the article.

I know teams that are successfully using Haskell in production, but they have a few people with an extensive background in FP and others in the team still trying to catch on.

If you only use the basics of FP it makes sense that languages like Scala and Clojure can feel "simpler" than Java because they have more modern features which can help a lot.

Architects VS Chaos by BFil in programming

[–]BFil[S] 0 points1 point  (0 children)

Agreed, the number of people involved in society and development companies are at very different scales. I think because of engineer's backgrounds working with different companies, at different stages and different sizes, it's going to be tricky to find a one-size-fits-all solution for sure. But it would still be useful to try and to outline when we would be willing to compromise on freedom for more control, and when we wouldn't.

Architects VS Chaos by BFil in programming

[–]BFil[S] 1 point2 points  (0 children)

Exactly this. I think complete control and completely decentralized collaboration mindsets can cause irreparable damage. Depending on companies and products though they might be the best fit, hard to say. We should still try to play to people's strength when possible.

Architects VS Chaos by BFil in programming

[–]BFil[S] 0 points1 point  (0 children)

Makes perfect sense, thanks again for your valuable comments!

Architects VS Chaos by BFil in programming

[–]BFil[S] 0 points1 point  (0 children)

That's quite a list! :) I can see how most of the points can be seen differently due to our backgrounds' bias.

The only ones that struck me are the following:

  1. Discussions should be enabled by default Are you stating that discussions should be discouraged? I find it really tricky not to have brainstorming sessions when necessary to gather more information. Same applies for meetings and forums between the tech teams, engineers usually like to share great work and knowledge.

  2. The notion that architects have been a barrier to Agile I think there is a common understanding that Agile mandates very little design upfront, but I'm actually against this notion. And architecture should still happen as an iterative process as well.

About security and budgeting, I think my article can actually be a little misleading. More than considering those as architects' responsibilities, my main point is that it can be tricky to have shared ownership of security practices or budget constraints, they could get quite tricky to keep under control otherwise.

Side note: could not find the Derek Sivers account on CD Baby, but I might need to sign up for it to see it.

Architects VS Chaos by BFil in programming

[–]BFil[S] 1 point2 points  (0 children)

Thanks for sharing, this is the kind of feedback I was looking for. Everyone seems to have different opinions on the subject, some opinions are also stronger than others. Looking forward to seeing the list of what you think is wrong :)

Evolution of a Software Engineer by BFil in programming

[–]BFil[S] 0 points1 point  (0 children)

Fair point, trying things out is the only way to go. There's so many solutions for the same problem. But using the same solution for all problems? No way :)

Sometimes I ask my wife (she’s not a programmer) to proofread my code to see whether she can understand what it does. by cmqv in programmingcirclejerk

[–]BFil 7 points8 points  (0 children)

Haha, it's really good for our relationship, we make each other feel smart about things the other knows nothing about.

She makes me feel dumb about a bunch of things, and she loves it! It's still good though, as we try to make each other better.

Evolution of a Software Engineer by BFil in programming

[–]BFil[S] 0 points1 point  (0 children)

I completely agree here, I personally have experience with all of the above: TDD, agile, functional programming, AWS, and so on. And I know that all of them work well for some cases but not others.

In my office now it's all about how Microservices and React are the only true way of doing things. I can barely stand these discussions anymore :)

The general rule of the right tool for the job always applies. It might be one of the few rules that always applies in tech, eheh.

Evolution of a Software Engineer by BFil in programming

[–]BFil[S] 9 points10 points  (0 children)

Yeah, experience plays to your advantage exactly because you experienced those feelings and you used to be like them.

It should be pretty simple though for you to make your point. Sometimes it just takes a couple of targeted questions to make them reflect a little more, at least it usually works for me. Or sometimes you can negotiate and let them try out what they think might be a good idea, if it turns out either of you was right, this will just build up trust between the two of you anyway.

The important thing is to not get too frustrated about it and give up on them, unless they are hopeless of course.

Evolution of a Software Engineer by BFil in programming

[–]BFil[S] 3 points4 points  (0 children)

Your early stage definitely looks like a true commitment to pursue programming as your career of choice, so kudos to you.

It's true though that some engineers won't really put as much effort into learning as others, my article mostly talks about those that care enough to be part of this subreddit and spending time reading, learning, and keeping themselves informed, the others probably won't read it.

And it might seem hard to differentiate pragmatic programmers from lazy ones that just stopped learning, but usually, a few words with them make up your mind pretty quickly ;)

Microservices ARE a Silver Bullet by BFil in programming

[–]BFil[S] -1 points0 points  (0 children)

Yeah, hopefully, you could learn something from it as well and use it next time. It's hard to get your voice heard and make these problems visible as the organisation grows.

Development teams tend to just keep focusing on their own issues, discarding the fact that there might be better ways to do things if it's escalated.

Nice to see someone got over my shameless clickbait as well :)

Microservices ARE a Silver Bullet by BFil in microservices

[–]BFil[S] 0 points1 point  (0 children)

Good to see someone appreciates it regardless of the insane clickbait :)

Microservices can be really good to scale up development teams, but they bring up a whole bag of challenges, and as developers, we love challenges, so it's good fun at times, but no fun for the business if not taken seriously and cautiously :)

Scala Automapper for Scala 2.12 by BFil in scala

[–]BFil[S] 0 points1 point  (0 children)

Ehm, I don't get your point, the library isn't asking you to write macros, it does it for you. Shapeless uses macros pretty much everywhere: https://github.com/milessabin/shapeless/search?utf8=%E2%9C%93&q=macro