Software Development's Future as Asperger's Heaven
Ichinin
Veteran
Joined: 3 Apr 2009
Gender: Male
Posts: 3,653
Location: A cold place with lots of blondes.
You still can. Its called "junior positions" where you pick up all those things. I also realised that many people lie, i.e. they "play around with it" rather than have worked with it professionally so their resumes look better, technically they are not lying but...
Me, i've learned since i started working with IT back in 1994. Databases from MS Access to bigdata, programming languages (many share features, a thing you learn when you learn more), operating systems (helps having a bit of knowledge here), network protocols (reading RFCs etc) but the real skill and usefulness a programmer can do is learn to listen to the end users and figure out what they want and deliver the right things. There are normal people out there that are totally unable to comprehend the concept of actually delivering what the users wants.
_________________
"It is far better to grasp the Universe as it really is than to persist in delusion, however satisfying and reassuring" (Carl Sagan)
I see software engineering as similar to the work of a translator.
1. You receive requirements in English
2. Then you convert it into a sort of intermediate language - a sort of visual instinctive understanding of how to problem should be engineered. This is not something than can be expressed verbally, but is just a sort of knowing and understanding in the brain.
3. Then you convert this inner understanding into the appropriate programming language.
So there are 2 translation steps. The second 2->3 is fairly methodical. Its the first 1->2 that is rather challenging and is where the skill of programming comes in.
I can't imagine an AI replicating the creative side of programming within the next 30 years. If programming were automatable, programmers would already be following step by step manuals when they received requirements. In fact there are no such manuals. Designing a program relies on skill, knowledge, instinct and creativity.
These long strings of skills you get for jobs nowadays irritate me. As I explained above its the programming instinct thats important, not a long list of soon-to-be-obsolete technologies you might have worked with. If i ran a software company I'd much rather employ someone who knew 1 language but had a coding instinct, that someone who knew 20 but didn't have much creative talent.
I hate to interrupt this discussion, but I am interested in getting into programming and software development.
Could any of the professional or experienced members who have been posting on this thread offer any recommendation as to how best to start? Like, if you had to do it all over again, knowing what you know now?
I worked as a computer programmer for several years.
I did not enjoy it. It can be a minefield of problems.
However, I find being a US 'patent examiner' much more enjoyable as an ASD person.
I've been doing it for many years.
-work from home
-work alone mostly
-set my own hours
-pay is easily over $150,000 per year
- a multi-million dollar pension annuity waiting for me when I retire
I did not enjoy it. It can be a minefield of problems.
However, I find being a US 'patent examiner' much more enjoyable as an ASD person.
-work from home
-work alone mostly
-set my own hours
-pay is easily over $150,000 per year
- a multi-million dollar pension annuity waiting for me when I retire
You have my full and undivided attention.
Naturally, ... from the cursory search I just did on the topic... you need a background in computer science and/or engineering to have done this, right?
What kind of direction is this field heading in? I'm a disabled vet and would love to leverage my background into something like this, but I didn't see a single opening for this on USAJobs when I just searched it.
I did not enjoy it. It can be a minefield of problems.
However, I find being a US 'patent examiner' much more enjoyable as an ASD person.
-work from home
-work alone mostly
-set my own hours
-pay is easily over $150,000 per year
- a multi-million dollar pension annuity waiting for me when I retire
You have my full and undivided attention.
Naturally, ... from the cursory search I just did on the topic... you need a background in computer science and/or engineering to have done this, right?
What kind of direction is this field heading in? I'm a disabled vet and would love to leverage my background into something like this, but I didn't see a single opening for this on USAJobs when I just searched it.
1. As a disabled vet you would get "10 point preference" which would get you to the front of the line. I would think it would get you a job there easily. I am a "vet" too with "5 point preference". About four years ago , we had a program to try and hire vets, specifically.
2. They will transfer your service years. You actually have to "buy back" the years, but the cost is low. I have met vets with 20 years of service, and they don't take their military retirement, but rather, transfer those 20 years to the civilian program, and go for a much larger pension.
3.You need a technical degree. CS degrees might be OK. One problem they have is that some CS programs are at the liberal arts college of the larger college, and may not require Calculus I & II.
Last I heard, those two courses were required.
I think they want you to prove you can do some hard reasoning. I think a 2.8 or 3.0 total avg is required too; it will say on USA jobs.
4. The field has limited opportunity outside government. You develop skills that have limited applicability to the real world. There is an equivalent "real world" job called "Patent Agent" at law firms, pays like $100,000, probably, much less opportunity than software jobs.
However, it's hard to get fired with the union protections, so I don't even think about it. If you have work deficiencies, they give you many warnings that go on for 1 year, so you get like 1 year to correct whatever work deficiencies they see.
5. The new class starts early Aug. so you caught it at a bad time.The next hiring will likely start Oct 1, the new year for the gov. So, that means the job postings with likely appear in late August or early Sept.
If you have are more questions feel free to ask ...
Could any of the professional or experienced members who have been posting on this thread offer any recommendation as to how best to start? Like, if you had to do it all over again, knowing what you know now?
So I went the education way. I studied computers at school then went on to do computer science an university and then went straight into a programming job. That probably is the best way because you have to go to school to learn stuff anyway, so it might as well be programming. In reality I apply very little of what I learned at school in my job, it just made it a lot easier to get my first job. Apart from study and problem solving skills which are very useful.
If you aren't able to go down the formal education route, there are a ton of resources out there that can help you learn. You just have to be willing to spend the time learning. You also have to accept that you will be confused for a very long time - and that is ok. Plenty of people give up learning to program because they get confused and this leads them to believe that they will never be able to do it.
In terms of what to learn, I would learn HTML and Javascript. Not because it is the best language, but because it is the most popular language. It is also the language where you would start seeing the results of your work the soonest. Pushing out websites is the easiest way to do stuff that is useful. You will also be able to write phone apps, program robots.. games.. the full works.
I would sign up to codecademy and take these courses
https://www.codecademy.com/learn/make-a-website
https://www.codecademy.com/learn/javascript
https://www.codecademy.com/learn/learn-the-command-line (this may be easier if you have Linux as your operating system. I recommend it, you will instantly feel like a more serious programmer.)
Here is a useful free book : http://eloquentjavascript.net/.
As you are learning start giving yourself projects to do. Build one new website per week. It doesn't matter how good they are. Practice is important. If you get stuck there is http://stackoverflow.com/. Ask lots of questions there. People will be rude to you for asking beginner questions and not looking stuff up etc.. Don't worry about it. The internet is anonymous.
After you are comfortable with javascript... in about a year or so, I would recommend you do something completely different. You want to have a broad view of what is out there.
I would recommend learning Haskell if you really want to stretch your brain. This is the book to use : http://haskellbook.com/ It is allegedly great for beginners. Haskell is an amazing language and will give you a lot of CV points. You may never use it to program in the real world but learning it will make you a much better programmer.
At some stage you will also want to learn Scheme. If you are mathematically minded you really should work through the Structure and Interpretation of Computer Programs. You can read it online here https://mitpress.mit.edu/sicp/full-text/book/book.html.
Also have a look on meetup.com to see if there are any programming meets that occur in your area. They can be scary and you will feel out of your depth. But I find programmers in general love to help new folk and there is nothing better to help you learn and improve than hanging out and discussing stuff with people who are better than you.
Once you have done that you will be better than 95% of programmers out there.
I did not enjoy it. It can be a minefield of problems.
However, I find being a US 'patent examiner' much more enjoyable as an ASD person.
-work from home
-work alone mostly
-set my own hours
-pay is easily over $150,000 per year
- a multi-million dollar pension annuity waiting for me when I retire
You have my full and undivided attention.
Naturally, ... from the cursory search I just did on the topic... you need a background in computer science and/or engineering to have done this, right?
What kind of direction is this field heading in? I'm a disabled vet and would love to leverage my background into something like this, but I didn't see a single opening for this on USAJobs when I just searched it.
1. As a disabled vet you would get "10 point preference" which would get you to the front of the line. I would think it would get you a job there easily. I am a "vet" too with "5 point preference". About four years ago , we had a program to try and hire vets, specifically.
2. They will transfer your service years. You actually have to "buy back" the years, but the cost is low. I have met vets with 20 years of service, and they don't take their military retirement, but rather, transfer those 20 years to the civilian program, and go for a much larger pension.
3.You need a technical degree. CS degrees might be OK. One problem they have is that some CS programs are at the liberal arts college of the larger college, and may not require Calculus I & II.
Last I heard, those two courses were required.
I think they want you to prove you can do some hard reasoning. I think a 2.8 or 3.0 total avg is required too; it will say on USA jobs.
4. The field has limited opportunity outside government. You develop skills that have limited applicability to the real world. There is an equivalent "real world" job called "Patent Agent" at law firms, pays like $100,000, probably, much less opportunity than software jobs.
However, it's hard to get fired with the union protections, so I don't even think about it. If you have work deficiencies, they give you many warnings that go on for 1 year, so you get like 1 year to correct whatever work deficiencies they see.
5. The new class starts early Aug. so you caught it at a bad time.The next hiring will likely start Oct 1, the new year for the gov. So, that means the job postings with likely appear in late August or early Sept.
If you have are more questions feel free to ask ...
From what I'm seeing, it's looking like I would need a Chem/Phys/Eng degree.
I do agree that it sounds like a fantastic job for an ASD-sufferer, but is probably too small of a field to bet too heavily on. If telecommuting goes away that would certainly desiccate the juiciness of the deal--$150k won't leave you broke anywhere, but it would go considerably less far in a D.C. suburb.
I wouldn't argue that you're living the dream, though!
Could any of the professional or experienced members who have been posting on this thread offer any recommendation as to how best to start? Like, if you had to do it all over again, knowing what you know now?
So I went the education way. I studied computers at school then went on to do computer science an university and then went straight into a programming job. That probably is the best way because you have to go to school to learn stuff anyway, so it might as well be programming. In reality I apply very little of what I learned at school in my job, it just made it a lot easier to get my first job. Apart from study and problem solving skills which are very useful.
If you aren't able to go down the formal education route, there are a ton of resources out there that can help you learn. You just have to be willing to spend the time learning. You also have to accept that you will be confused for a very long time - and that is ok. Plenty of people give up learning to program because they get confused and this leads them to believe that they will never be able to do it.
In terms of what to learn, I would learn HTML and Javascript. Not because it is the best language, but because it is the most popular language. It is also the language where you would start seeing the results of your work the soonest. Pushing out websites is the easiest way to do stuff that is useful. You will also be able to write phone apps, program robots.. games.. the full works.
I would sign up to codecademy and take these courses
https://www.codecademy.com/learn/make-a-website
https://www.codecademy.com/learn/javascript
https://www.codecademy.com/learn/learn-the-command-line (this may be easier if you have Linux as your operating system. I recommend it, you will instantly feel like a more serious programmer.)
Here is a useful free book : http://eloquentjavascript.net/.
As you are learning start giving yourself projects to do. Build one new website per week. It doesn't matter how good they are. Practice is important. If you get stuck there is http://stackoverflow.com/. Ask lots of questions there. People will be rude to you for asking beginner questions and not looking stuff up etc.. Don't worry about it. The internet is anonymous.
After you are comfortable with javascript... in about a year or so, I would recommend you do something completely different. You want to have a broad view of what is out there.
I would recommend learning Haskell if you really want to stretch your brain. This is the book to use : http://haskellbook.com/ It is allegedly great for beginners. Haskell is an amazing language and will give you a lot of CV points. You may never use it to program in the real world but learning it will make you a much better programmer.
At some stage you will also want to learn Scheme. If you are mathematically minded you really should work through the Structure and Interpretation of Computer Programs. You can read it online here https://mitpress.mit.edu/sicp/full-text/book/book.html.
Also have a look on meetup.com to see if there are any programming meets that occur in your area. They can be scary and you will feel out of your depth. But I find programmers in general love to help new folk and there is nothing better to help you learn and improve than hanging out and discussing stuff with people who are better than you.
Once you have done that you will be better than 95% of programmers out there.
First of all, thank you for the detailed analysis--I appreciate it.
I've never seen anyone suggest this tact for a first approach to programming self-taught (i.e., HTML and JS)...
I've been working with a little Python and can do some simple scripts--would you still recommend transitioning to JS? Is it easier in JS (as opposed to Python) to create apps and stuff that appeals to end-user types like myself?
I have looked at SICP before, and it's certainly different from every other book I've ever read or even skimmed through... What level of math--be real with me--is necessary to make a superlative programmer/software developer? I've taken up to Calc 3, but that was a minute ago...
Thank you, again.
From what I'm seeing, it's looking like I would need a Chem/Phys/Eng degree.
I do agree that it sounds like a fantastic job for an ASD-sufferer, but is probably too small of a field to bet too heavily on. If telecommuting goes away that would certainly desiccate the juiciness of the deal--$150k won't leave you broke anywhere, but it would go considerably less far in a D.C. suburb.
I wouldn't argue that you're living the dream, though!
Clarification:
-You can work anywhere in the US, after a few years of training and completing tests.
-The pay is up to 180k/year if you want to really work hard with overtime and bonuses.
-However, it's more enjoyable to work less and earn less.
-People file for patents on everything, so they need people from many different disciplines. Mostly, they hire EE/CE (Electrical & Computer Engineers), and Mechanical Engineers. They sporadically hire the other disciplines, including physics and business degrees for business patents.
-The downside is that legal work is very boring.
I've never seen anyone suggest this tact for a first approach to programming self-taught (i.e., HTML and JS)...
I've been working with a little Python and can do some simple scripts--would you still recommend transitioning to JS? Is it easier in JS (as opposed to Python) to create apps and stuff that appeals to end-user types like myself?
I have looked at SICP before, and it's certainly different from every other book I've ever read or even skimmed through... What level of math--be real with me--is necessary to make a superlative programmer/software developer? I've taken up to Calc 3, but that was a minute ago...
Thank you, again.
In terms of the actual language, Python is a much better designed language and so is easier to learn. This is why most beginner programs use it. The reason I would recommend javascript is down to motivation. Because it is the language of the web it is much easier to write simple javascript apps, stick them on the web and point your friends and family to them. Getting stuff working and having other people enjoy it is more motivating.
But if your have started with Python, there is no huge reason why you should change. There is a Python course on Codecademy which is highly recommended. Most of the principles you learn in Python will still apply to Javascript. So when you are bored of Python and want to do some Web stuff, just jump over.
You should be fine with high school mathematics to understand at least most of SICP. It's not so much how advanced it is as to how enjoyable it will be. If you enjoyed maths at school you will enjoy SICP, if you didn't you should probably not bother.
As to how much maths you need in order to be a good software developer in general, well it depends on what kind of software you do. For AI and machine learning you will need a fair bit - especially linear algebra. Writing standard business apps or general web sites you need very little to no maths at all.
Ichinin
Veteran
Joined: 3 Apr 2009
Gender: Male
Posts: 3,653
Location: A cold place with lots of blondes.
-The downside is that legal work is very boring.
And most programmers will probably hate you since you work with software patents.
_________________
"It is far better to grasp the Universe as it really is than to persist in delusion, however satisfying and reassuring" (Carl Sagan)
From what I'm seeing, it's looking like I would need a Chem/Phys/Eng degree.
I do agree that it sounds like a fantastic job for an ASD-sufferer, but is probably too small of a field to bet too heavily on. If telecommuting goes away that would certainly desiccate the juiciness of the deal--$150k won't leave you broke anywhere, but it would go considerably less far in a D.C. suburb.
I wouldn't argue that you're living the dream, though!
Clarification:
-You can work anywhere in the US, after a few years of training and completing tests.
-The pay is up to 180k/year if you want to really work hard with overtime and bonuses.
-However, it's more enjoyable to work less and earn less.
-People file for patents on everything, so they need people from many different disciplines. Mostly, they hire EE/CE (Electrical & Computer Engineers), and Mechanical Engineers. They sporadically hire the other disciplines, including physics and business degrees for business patents.
-The downside is that legal work is very boring.
Sorry, I guess I should have been more clear:
I don't believe everything I read online, but:
https://www.washingtonpost.com/news/fed ... a-problem/
In an event--sweeping civil service reform, for instance--where telework/telecommuting/remote working privileges were revoked, PTO employees would likely be confined to major hubs of federal bureaucracy (e.g., D.C.).
So, while salaries well above 100k are impressive, this would be slightly less of a boon if the situation with telework changed and the PE were confined to the beltway, as opposed to a more rural locale... where it would be fabulous.
It's a great deal as it stands, I would just be reluctant to roll the dice on it staying the same until I qualified for a pension.
Totally true, if understated. Software and business process patents are evil.
It depends a lot on your personal motivation - do you want to create systems and things, or do you want to be part holding back creation? Do you want a job or a mission?
_________________
I swallowed a bug.
From what I'm seeing, it's looking like I would need a Chem/Phys/Eng degree.
I do agree that it sounds like a fantastic job for an ASD-sufferer, but is probably too small of a field to bet too heavily on. If telecommuting goes away that would certainly desiccate the juiciness of the deal--$150k won't leave you broke anywhere, but it would go considerably less far in a D.C. suburb.
I wouldn't argue that you're living the dream, though!
Clarification:
-You can work anywhere in the US, after a few years of training and completing tests.
-The pay is up to 180k/year if you want to really work hard with overtime and bonuses.
-However, it's more enjoyable to work less and earn less.
-People file for patents on everything, so they need people from many different disciplines. Mostly, they hire EE/CE (Electrical & Computer Engineers), and Mechanical Engineers. They sporadically hire the other disciplines, including physics and business degrees for business patents.
-The downside is that legal work is very boring.
Sorry, I guess I should have been more clear:
I don't believe everything I read online, but:
https://www.washingtonpost.com/news/fed ... a-problem/
In an event--sweeping civil service reform, for instance--where telework/telecommuting/remote working privileges were revoked, PTO employees would likely be confined to major hubs of federal bureaucracy (e.g., D.C.).
So, while salaries well above 100k are impressive, this would be slightly less of a boon if the situation with telework changed and the PE were confined to the beltway, as opposed to a more rural locale... where it would be fabulous.
It's a great deal as it stands, I would just be reluctant to roll the dice on it staying the same until I qualified for a pension.
These are excellent points.
However, there are offices located around the country, so there would be no reason to go to DC.
There are offices in San Jose, Detroit, Dallas, Denver.
Beyond this discussion, you should know that you can qualify for a civilian FERS pension with just five years of federal service (can be military service transferred to civilian). So, you may want to get some job with the feds, just to lock that in. It won't be that much but it would be a check going into your bank account for the rest of your life after you retire.
See "Deferred" on this page ...
http://www.federalretirement.net/fers_e ... ligibility
I go this topic off track ... now back on track ....
I worked as a programmer at three pure software companies , and for one computer consulting company.
This was during the "dot com" era.
The jobs were so plentiful back then, that recruiters joked that the only requirement was whether you could "spell IT" (spell "information technology").
So, despite being much lower ASD functioning back then, it was easy for me to get a job.
They put me in front of a computer and had me "code" stuff.
However, the first problem I had was that I was deemed too slow at "coding".
My mind swirled with all the computer ideas, and not being trained on a specific implementation, I pursed "perfect code". However, these employers don't want "perfect code". As one boss told me, "this isn't rocket science".
They would tell me, "you need to think outside the box" or "you are a 'yes' person".
This was a reflection of my ASD -- that I require to first memorize much information, before I can effectively perform the task.
I was fired from all of these four employers eventually.