IT dev that actually improve people lives

IT is similar to Admin jobs
If you are good coder and write clean maintainable code, you are disposable as you cannibalize your own job.
If you are a bad coder and write messy unmaintainable code, your company is forced to keep you.

cguy has a good answer to this, but basically if you work for a company where they would not notice it, the company is as bad as you.

I'd never get away with writing bad, unmaintainable code. First detekt would flag any obvious issues, second my colleagues would catch it during code review.

And if it got noticed that I turned in poor quality all the time that needed endless reviews to get up to standard, it would be noticed and let's just say that I wouldn't get much in the way of responsibility or raises.

There are some very, very experienced programmers above me and they'd notice such things. They'd be difficult or impossible to fool.

Of course, if your boss is non-technical, then yeah they won't notice. You can basically lie about how long a certain task will take and they will never know. I'd prefer to not work in places like that again. They all go nowhere for a reason.
 
If someone pays you to do a job, you are improving at least 2 people's lives.

Your employer/client wins because they get some code that they didn't have, you win because you get some moola that you didn't have.

Good development work follows the same principle as engineering, if people don't notice it working, it is working at its best. The software I have written is currently being used in the North American healthcare market to drastically save money for doctors and their patients.
 
IT is similar to Admin jobs
If you are good coder and write clean maintainable code, you are disposable as you cannibalize your own job.
If you are a bad coder and write messy unmaintainable code, your company is forced to keep you.
It is kinda the problem with functional coding. The stuff is so bug-free and easy to maintain that you write yourself out of a job.
 
Nice to see some people working for healthcare!

I know when you work you make money, and you make other people more money, but that wasn't what I was angling at.

When you work for say, a telecom company, you may make a mobile app that makes recharging data easier.
You are making people's lives easier, sure, but in the long run things worked just fine without it.
 
Nice to see some people working for healthcare!

I know when you work you make money, and you make other people more money, but that wasn't what I was angling at.

When you work for say, a telecom company, you may make a mobile app that makes recharging data easier.
You are making people's lives easier, sure, but in the long run things worked just fine without it.
Rough times ahead though with NHI looming - our stats look a bit bad on surveys of medical personnel wanting to leave.
However we are branching into Africa, and products which will not be catered for under NHI - so slight bonus (?)
 
When you work for say, a telecom company, you may make a mobile app that makes recharging data easier.
You are making people's lives easier, sure, but in the long run things worked just fine without it.

okay, so recently I worked on a web service that allows our clients to make payments at retail stores, so it's helping us as clients payments are more up to date, and the clients have more choices as to where to make their payments. We make use of a payment partner, who supplies the solution at the retails stores, and then interfaces with our web service to affect the payment on our side
 
I worked on medical software which saved lives. Then they needed someone to blame for a project management issue.

If a project is successful the PMs takes credit for its success even if they did 0% . If a project fails because of PM issues then the coder is blamed.

This is South Africa.
Project managers are generally speaking scum if you can get a good one that is one thing. So many of them are completely inept and should never be in that job.

I help business succeed by giving them an online presence, that positive effect is felt throughout the economy.
 
Project managers are generally speaking scum if you can get a good one that is one thing. So many of them are completely inept and should never be in that job.

I help business succeed by giving them an online presence, that positive effect is felt throughout the economy.

As a project manager type, I have to say, I agree.

Too many of them bend to the pipes of management and does nothing to assist the people working on the problems.
 
It is kinda the problem with functional coding. The stuff is so bug-free and easy to maintain that you write yourself out of a job.

A Large Scale Study of Programming Languages and Code Quality in Github
The data indicates functional languages are better than procedural languages; it suggests that strong typing is better than weak typing; that static typing is better than dynamic; and that managed memory usage is better than unmanaged. Further, that the defect proneness of languages in general is not associated with software domains.
 
A Large Scale Study of Programming Languages and Code Quality in Github
That doesn't supprise me one bit.
It is like saying car designed with crumple zones and airbags is safer than other cars.

There is a cost though, I find Java a PITA to work with because there are cases where it is nice to not worry about types.

This is why Typescript is probably my favourite language atm, because whilst typing is heavily recommended, you can effectively turn it off if you want/need.
 
Now if only I didn't sign those non-disclosures.

I've helped individuals make money, start businesses, expand into new markets. I've helped educate students in every major country on earth, I've helped launch 6 youtube channels, free of charge. My errors on a spreadsheet cost a company a client, that they later found out was laundering money.

But my proudest moment, was the joyful tears in a 74 yo man's eyes when my dad and I fixed and restored his ancient mercedes. Why? It is the car he used to take his late wife on their first date, the car that took them all the way past our borders on their honeymoon, the car that carried his children to school and the car he drove when he had to say goodbye to her for the last time.

Giving him that beige land ship back,
Giving him another way to remember the good times in his life.

That, was a good day.

I can just imagine the exciting missionary position sex you have with your average looking wife when you're feeling frisky after you both watched another thrilling episode of Matlock.
 
That doesn't supprise me one bit.
It is like saying car designed with crumple zones and airbags is safer than other cars.

There is a cost though, I find Java a PITA to work with because there are cases where it is nice to not worry about types.

This is why Typescript is probably my favourite language atm, because whilst typing is heavily recommended, you can effectively turn it off if you want/need.
Java & C# being OOP first languages are always going to feel a bit clumsy when it comes to FP.
Scala / Kotlin are good alternatives on the Java byte code.

On the .net side C# is quite capable; however F# is the better option for FP and its syntax shares similarity with OCaml & Haskell, and it has a compiler to JS like Typescript.

Here's some code comparisons of C# vs. F#:
C#:
public static int Square(x: int) {
  return x * x;
}

var sumOfSquare = Enumerable
    .Range(1, 10)
    .Select(Square)
    .Sum();

C#:
let square x = x * x
let sumOfSquares =
  [ 1..10 ]
  |> List.map square
  |> List.sum


C#:
// alternatively you can use list comprehensions
let sumOfSquares =
  [ for x in 1..10 do yield x * x ]
  |> List.sum

F# whilst an immutable pure FP language by default allows you enable mutability where needed and also to tap into OOP; so cross language integration with C# is good.

That only scratches the surface though; because like Haskell and Scala it has built syntax for do block monadic compositions; in F# these are called computational expressions (similar to Linq query syntax); however much easier to create custom conformance for a data type.
C#:
// Either type : discriminated union
type public Either<'l, 'r> =
  | Left of 'l
  | Right of 'r

// Either standalone monadic functions & operator overloading.
module Either =
// pattern matching
  let public rflatmap f m =
  match m with
  | Left l -> Left l
  | Right r -> f r

  let public flatmap f m = rflatmap f m
  let public Return r = Right r

// Custom operator overloading
  let public ( >>= ) f m = flatmap f m
  let public ( =<< ) m f = flatmap f m

// Custom Monadic Computation Expression conformance
type EitherBuilder() =
  member x.Bind(m, f) = flatmap f m
  member x.Return(value) = Return value
  member x.ReturnFrom(m) = m
let public either = new EitherBuilder()

// Computation Expression usage example (similar to Haskell's "do blocks" and Scala's "for comprehensions"
// (unwraps monads m1 to m6 applies (a to f) to function fn
// return monad of result
let public liftM6 fn m1 m2 m3 m4 m5 m6 =
  either { let! a = m1
           let! b = m2
           let! c = m3
           let! d = m4
           let! e = m5
           let! f = m6
           return fn a b c d e f }

// Which is equivalent to...
let public liftM6 fn m1 m2 m3 m4 m5 m6 =
    m1 =<< (fun a -> m2 =<< (fun b -> m3 =<< (fun c -> m4 =<< (fun d -> m5 =<< (fun e -> m6 =<< (fun f -> fn a b c d e f))))))
 
Last edited:
Top
Sign up to the MyBroadband newsletter
X