|
Been there, lived through that, told 'em to F*** off.
I know precisely the anger and frustration you're feeling now -- especially when you add in that it's not "the perfect job".
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Knowing your value is priceless
and from time to time is so satisfactory...
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
They have the CISSP as a requirement here. It has ZERO to do with any of our jobs, but what the heck - they paid for the useless class (getting me out of the office for a week), paid for the test (which is passable without any sort of studying, if one has had any sort of long-term experience), and the annual "continuing education" requirment is satisfied by the assorted mandatory training they subject us to every year.
I got a cool certificate and a card for my wallet and a pin, though. That totaly made it worth it.
|
|
|
|
|
I have mentioned this to you in the past years, numerous times - you need to stop working for the federal govt.
I know your concerns with that but non-government contract work is out there (remote work that is).
Good luck. I know these are trying times for you right now, but you will be fine in the end.
As a side: why are yo adverse to getting the cert? Just curious.
modified 26-Apr-19 2:42am.
|
|
|
|
|
Slacker007 wrote: As a side: why are yo adverse to getting the cert?
0) Certs in general aren't worth the paper they're printed on.
1) The CSSLP cert in particular is targeted at managers, NOT developers.
2) DoD mandated certs are a scam perpetrated on the government by the cert companies and the DoD personnel responsible for foisting the requirement on the government (I'm positive there's an ex-general somewhere that is making millions off the fact that everyone in the gov involved in the software dev process is required to get this cert. Every three years.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Thanks for explaining. I did not know this cert program you are talking about here was even a thing. Interesting.
|
|
|
|
|
Yeah, the DoD evidently mandated it sometime last year for "all personnel involved in the software development process".
I took a 175-question practice exam last night, and made 52% correct answers. Without any prep at all. I suppose that's reasonable, considering I rushed through it because it was BORING, and I had some coding I wanted to do. The hardest questions to answer are the "check all that apply" kind.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Hang on, if I understand correctly you are a contractor. That means that you are self-employed and your work is governed by an agreed contract. So, was the CSSLP part of the contract requirement both sides signed? If yes, go get it. If not, tell them to go forth and multiply (although you presumably won't be renewing the contact if so).
The way you describe this place it sounds like a cross between a full employment and school!
Is this really how the US federal government does things? If they want people on these terms, why do theu hire contractors instead of full time employees.
|
|
|
|
|
I'm in a shop of 10 devs. I'm the only contractor in the group.
Yes, it's a requirement. My beef is that they want me to get this cert, but they want me to use my lunch time to attend a study group in order to get the required cert.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
> Yes, it's a requirement.
Ah well, in that case if it's a requirement to which you agreed in contract then fair enough: You've got to get (because you agreed to do so).
Also, since you're a self-employed contractor, training and certification is something you would normally have to pay for yourself, isn't it. It's not like being an employee where you could reasonably expect your employer to pay for it.
This is why contractors' daily rates are so much higher than salaried employees; contractors have substantially higher costs since they are a self-employed business.
Overall it seems to me: Why complain? You'll be getting a tick box skill that will increase your daily rate for the next contract.
|
|
|
|
|
I *am* an employee of the contracting company. I am not self employed
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Ah sorry, I misunderstood and thought from what you said that you were a self-employed contractor. In that case then I agree, they are way out of line expecting you to study in your own time for a requirement that they are imposing on you.
(It would have been different if it was a contract term that you had explicitly agreed to, which would only have been the case if you were a self-employed contractor).
All the same, it could be a resumé-enhancing skill. Certainly the kind of thing that would be useful if you do want to move on.
|
|
|
|
|
markrlondon wrote: All the same, it could be a resumé-enhancing skill.
I plan on retiring in four years (age 67). Resumé building is the absolute last thing on my mind.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Oh well, in that case you have certain advantages.
|
|
|
|
|
The only certification that matters is the CodeProject MVP certification
|
|
|
|
|
I stumbled upon this new book and I've completed the intro and first chapter.
Classic Computer Science Problems in Python: David Kopec: 9781617295980: Amazon.com: Books[^]
It's actually quite good.
The author writes clearly and makes a point that he backs up with code.
It covers some nice topics that I've been wanting from an introductory level and then proceeding deeper.
* Search algorithms
* Common techniques for graphs
* Neural networks
* Genetic algorithms
* Adversarial search
Wishing For C#
I've been looking for something like this but written in C#.
So, I've begun re-writing the algorithms in C#.
Here are all fibonacci algos rewritten in C#.
I learned quite a bit from rewriting them.
It's a good example to go from recursion to memoization to for loop to yield.
int fibWithRecursion(int n){
if (n < 2){
return n;
}
return fibWithRecursion(n -1) + fibWithRecursion(n-2);
}
Dictionary<decimal,decimal> d = new Dictionary<decimal,decimal>();
decimal fib(decimal n){
if (n<2) return n;
if (!d.ContainsKey(n)){
decimal x = fib(n-1) + fib(n-2);
d.Add(n,x);
}
return d[n];
}
decimal fibViaFor(decimal n){
if (n == 0) return n;
decimal prev = 0;
decimal next = 1;
for (int i = 1; i < n;i++){
decimal oldPrev = prev;
prev = next;
next = oldPrev + next;
}
return next;
}
IEnumerable<decimal> fibViaIterator(decimal n){
decimal prev =0;
decimal next = 1;
for (decimal i = 0; i < n; i++){
yield return prev;
decimal localFib = prev + next;
prev = next;
next = localFib;
}
}
Grab a free copy of LINQPad - The .NET Programmer's Playground[^] and try them out.
Here's the driver code you can use to try each algo:
for (int x = 0; x<15;x++){
Console.Write($"{fibWithRecursion(x)} ");
}
Console.Write("\n");
for (int x = 0; x<15;x++){
Console.Write($"{fib(x)} ");
}
Console.Write("\n");
for (int x = 0; x<15;x++){
Console.Write($"{fibViaFor(x)} ");
}
Console.Write("\n");
foreach (decimal x in fibViaIterator(15)){
Console.Write($"{x} ");
}
Console.Write("\n");
Output looks like the following (each algo produces 1 line):
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
|
|
|
|
|
Certain things functional programming is also an interesting alternative, for example, tail recursion, which looks like recursion but gets compiled into a loop. You don't suffer the performance / call stack penalty of recursion, but the code is (theoretically) cleaner.
Latest Article - A 4-Stack rPI Cluster with WiFi-Ethernet Bridging
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
Marc Clifton wrote: functional programming is also an interesting alternative, for example, tail recursion,
That sounds very interesting and I would like that as the next example in the fibonacci methods (fibonacci solved via functional programming).
How close is that to the yield one (using the iterator)? I think they may be similar but my knowledge is limited. Thanks
IEnumerable<decimal> fibViaIterator(decimal n){
decimal prev =0;
decimal next = 1;
for (decimal i = 0; i < n; i++){
yield return prev;
decimal localFib = prev + next;
prev = next;
next = localFib;
}
}
|
|
|
|
|
As an aside there is a method for calculating a fibonacci number without calculating all of the previous numbers in the sequence.
If you are interested it was a method proposed by Dijkstra - scroll down to the middle of (search for 'Can we find a quicker method using only integers?' )
http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibFormula.html#section1.3
|
|
|
|
|
That's very interesting. Thanks for sharing. Very cool math.
|
|
|
|
|
It would be interesting to see your C# examples side-by-side against the same problems solved in F#
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare
Home | LinkedIn | Google+ | Twitter
|
|
|
|
|
F# ( glazes over ) does anyone here use it for a living ?
We can’t stop here, this is bat country - Hunter S Thompson RIP
|
|
|
|
|
Dominic Burford wrote: It would be interesting to see your C# examples side-by-side against the same problems solved in F#
Great idea. Maybe someone with knowledge will chime in.
|
|
|
|
|
OK but why make the input to fib a decimal ? This way we can do some party tricks such as calling fib(16.646211646837820914214151535M) (just a hair over 2019) but it's unusual.
|
|
|
|
|
harold aptroot wrote: OK but why make the input to fib a decimal ?
Oh, yeah. That was just so I could do very large Fib calcs.
It's 16 bytes so you can get a really large value.
You can calculate Fib(132) = 1725375039079340637797070384
That's a big Fib, but no lie!
And, yes, I probably should've done some protective coding and truncated any value after a decimal but this was just for my learning.
|
|
|
|