Software Development and Programming Careers (Official Discussion Thread)

PikaDaDon

Thunderbolt Them Suckers
Joined
Oct 13, 2012
Messages
9,361
Reputation
2,355
Daps
25,317
Reppin
NULL
Yeah. It's one thing to copy code. It's another thing to actually understand it. Especially writing it from scratch.

That optimized frontend (especially a web app) ain't no joke.

When I initially started the video I thought, "This shouldn't be hard". I was only thinking of the core logic of his application as there are numerous resources available that cover A* pathfinding (books, videos, tutorials). But then I saw that he used js/react I was petrified. Like when a hot escort reveals that she's a tranny once we go back to my hotel room. I don't fukk with that frontend javascript shyt.

Funny enough given a weeks time I can probably make a desktop gui app in java or c++ very similar to what's in the video. Using javascript to make serious software is just painful to me.
 
Last edited:

null

...
Joined
Nov 12, 2014
Messages
29,244
Reputation
4,894
Daps
46,452
Reppin
UK, DE, GY, DMV
When I initially started the video I thought, "This shouldn't be hard". I was only thinking of the core logic of his application as there are numerous resources available that cover A* pathfinding (books, videos, tutorials). But then I saw that he used js/react I was petrified. Like when a hot escort reveals that she's a tranny once we go back to my hotel room. I don't fukk with that frontend javascript shyt.

Funny enough given a weeks time I can probably make a desktop gui app in java or c++ very similar to what's in the video. Using javascript to make serious software is just painful to me.

I agree that JS is jumbled ill-thought out crap but non-techie management leading the way in the name of money rather than tech itself that is the direction that the industry went in.

Look at Crockford's "Javascript the good parts" and Mosh's React course.

Modern JS dev tries to make some order out of the chaos (ES6).

I hate using weakly typed scripting (for serious tasks) and am not a React dev so those two ^ really helped me.





Weakly typed scripting languages are :trash: but front end devs don't understand and management doesn't care.
 

Obreh Winfrey

Truly Brehthtaking
Supporter
Joined
Nov 18, 2016
Messages
20,852
Reputation
25,252
Daps
131,941
I'm finding I do some of my best work and learning the most when I a problem is sort of nebulous and I have some time to experiment - people aren't dependent upon the work. I'm getting to play with some features of Java that I was previously unaware of (and haven't seen used on my project yet), dealing with concurrency and how to debug those issues, better ways to unit test my code so that shyts not a surprise, finding ways to design my module so that it's understandable and extensible (it's an open source module you could actually go find right now).

It's a refactoring effort I decided to pursue on my own because there has been talk of changing our application architecture, so I wanted to preempt the work that was going to have to happen in several months anyway. The module is an API that acts as a utility for the application and the current code is pretty rigid. I operate on a lot of assumptions that normally need a perfect world to function. Any deviation renders it useless. On top of that, the performance isn't great.

The refactor pulls out the API logic and breaks it up into architecture-centric classes. I have an abstract class that stubs some important methods, and then I systematically went through and created subclasses that define the appropriate behavior. This setup let's the next person come through and create their own class to implement behaviors while the API stays the same. What's more, I found out how to let a user specify which class they want to use in a property file, so they can basically hot swap as necessary with a simple restart (I actually might write another API that let's them change at runtime...). I even have a fallback system in place that will do a cursory check of your architecture and dynamically create the set of behaviors I wrote that should be sufficient for your needs if you don't specify your own.

As far as performance, the current API is all sequential, and a lot of REST calls and JSON parsing is happening. Most of the operations are idempotent, so I made them concurrent using Streams. This led to some errors I'd never seen before, but are to be expected with concurrency. Through the process I even learned a little bit more about how the application handles requests.

For unit testing it's kinda hard, as the module lives in and must be ran by the application, so a shyt load of mocking needs to happen. My current approach has been mock some class dependencies, but expect failures for REST API calls the module makes against the application. I had to revisit how to mock those calls and found a solution that sets up a test web server I can target for the lifetime of the unit tests. So now I want to go back and start creating test cases that are meaningful and will legitimately ensure my code is robust.

Last thing I'm going to do is touch up my readme.md and then write some useful javadocs, then release it into the wild. I'm targeting midweek next week, then that's getting put on my resume, along with a company recognition award I got recently for my contributions to the discipline :win:.
 

Obreh Winfrey

Truly Brehthtaking
Supporter
Joined
Nov 18, 2016
Messages
20,852
Reputation
25,252
Daps
131,941
For unit testing it's kinda hard, as the module lives in and must be ran by the application, so a shyt load of mocking needs to happen. My current approach has been mock some class dependencies, but expect failures for REST API calls the module makes against the application. I had to revisit how to mock those calls and found a solution that sets up a test web server I can target for the lifetime of the unit tests. So now I want to go back and start creating test cases that are meaningful and will legitimately ensure my code is robust.

Last thing I'm going to do is touch up my readme.md and then write some useful javadocs, then release it into the wild. I'm targeting midweek next week, then that's getting put on my resume, along with a company recognition award I got recently for my contributions to the discipline :win:.
Created new unit tests and refactored some of the existing ones. I don't recall the starting coverage, but I'm up to 88% on about 1000 lines, which is way better than I anticipated. I could probably pull that into the 90s, but I'd wind up doing a lot more mocking than I feel like. Actually may have my coworker play with it when I go on vacation since he keeps saying he wants to learn how to write unit tests
tenor.gif

Keep that same energy when I try to sit down with you instead of hitting the :whoa:.

Now I'm getting into writing the Java docs, trying to get used to best practices. I figured just go straight to the JDK source and see how they do.
 

Obreh Winfrey

Truly Brehthtaking
Supporter
Joined
Nov 18, 2016
Messages
20,852
Reputation
25,252
Daps
131,941
Created new unit tests and refactored some of the existing ones. I don't recall the starting coverage, but I'm up to 88% on about 1000 lines, which is way better than I anticipated. I could probably pull that into the 90s, but I'd wind up doing a lot more mocking than I feel like. Actually may have my coworker play with it when I go on vacation since he keeps saying he wants to learn how to write unit tests
tenor.gif

Keep that same energy when I try to sit down with you instead of hitting the :whoa:.

Now I'm getting into writing the Java docs, trying to get used to best practices. I figured just go straight to the JDK source and see how they do.
Just waiting on an approval and that'll wrap up this exercise. 4200 additions, 750 deletions :wow:. Almost like I knew what I was doing.
 

Pyrexcup

Superstar
Joined
Dec 30, 2012
Messages
4,746
Reputation
765
Daps
14,814
Reppin
NULL
programming is actually so fun and interesting when you are learning it to solve a daily problem you have. I remember sitting in class trying to learn algorithms and wanted to sleep. At work we have to manually monitor a page every couple of hours in order to see if orders have closed and shyt is :scust: status as it's so easy to forget to do this incase you are busy with other stuff or you get into a couple of meetings.

My plan is to create a webscraper in ruby as it's the language im learning and have the scraper run 3 time a day (9am, 12pm, and 3pm) and maybe try and see if the output can be emailed to myself or send the output to a slackbot so i dont have to go keep going to the page as it's very slow
 

Jimmy Two-Times™

Coli Mods Catch Me If U Can Forgive Me Imma Ridah™
Joined
Jan 17, 2013
Messages
27,997
Reputation
5,939
Daps
61,741
Reppin
Peckham™ Come Get Me!
programming is actually so fun and interesting when you are learning it to solve a daily problem you have. I remember sitting in class trying to learn algorithms and wanted to sleep. At work we have to manually monitor a page every couple of hours in order to see if orders have closed and shyt is :scust: status as it's so easy to forget to do this incase you are busy with other stuff or you get into a couple of meetings.

My plan is to create a webscraper in ruby as it's the language im learning and have the scraper run 3 time a day (9am, 12pm, and 3pm) and maybe try and see if the output can be emailed to myself or send the output to a slackbot so i dont have to go keep going to the page as it's very slow
What do you do for your day job, if you don't mind me asking?
 
Top