How to reach my dream to become a professional programmer?

Zolitoo

Dryer sheet wannabe
Joined
May 27, 2014
Messages
14
I was always looking for the kind of job that I spend hours and days doing it without getting bored and also that I can gain some money through it.

I graduated from the faculty of Engineering and working in this profession about 9 years ago, without stating too much details, I have never liked this career, although I am doing well in it because I am a hard worker and hate to fail in my work whatever it is.

Programming (objective C specifically) is the thing that I want to go through, will never feel bored and it will limit my interactions with stupid people, and I believe I can sell my applications and do a lot of money.

Any suggestions?
 
Programming (objective C specifically) is the thing that I want to go through, will never feel bored and it will limit my interactions with stupid people, and I believe I can sell my applications and do a lot of money.

Any suggestions?

At the risk of coming off harsh, this sounds a bit naive. There's no such thing as a programming job where you never feel bored. Like any job, there are mundane tasks that must be done, which you won't feel like doing (build notes and other documentation, dealing with App Store release requirements, accounting if you're running your own business, etc.). Likewise for interacting with "stupid people". Even if you're a one man operation, you can't operate in a vacuum. At a minimum, you need customers, and customers can be challenging.

It's fine to want to shift into programming, but you should have realistic expectations. The thrill of getting code to compile and run is pretty strong in the beginning (I still remember those "YES!!!" moments when I was young). It does wear off, though. The coding part of the job is still enjoyable, but that probably only makes up 25% of my time as a developer.

If you want to program, start programming. There are myriad books and tutorials on developing Objective-C applications. If you have some ideas, create a simple app. Make it available for free, and solicit feedback from everyone you can. Incorporate the feedback into new releases, and get feedback on that. Rinse and repeat.

It takes more than being a good programmer to make money developing iOS apps. You need to be able to market the apps. You need to have visual design skills to create an app that looks good. You need to be able to manage release cycles, and maintain bug and enhancement backlogs.

Like anything, if you really want to do it, just start doing it. The barrier to entry is extremely low. Join Objective-C user groups. Network. Get feedback on what you're building. If you're stuck, post code snippets on stackexchange.com. There are lots of extremely smart people in the world willing to help you for free. As you get better, don't forget to return the favor.

Good luck.
 
Well said ProspectiveBum. I retired after 29 years in the industry working at a MegaIT company.

Really the only thing to add in all those years I knew probably 100 folks that had consulting gigs, application development, running small business apps for folks. None of them quit their day jobs to become self employed. The few that got RIFFed and tried selling apps all eventually went back to a corporate sucky j*b.

Did I mention corporate IT stinks. Politics, stupid people, expect working 80 hour weeks because some id10t made a promise to a client.

Sent from my SAMSUNG-SGH-I337 using Early Retirement Forum mobile app
 
I was always looking for the kind of job that I spend hours and days doing it without getting bored and also that I can gain some money through it.

I graduated from the faculty of Engineering and working in this profession about 9 years ago, without stating too much details, I have never liked this career, although I am doing well in it because I am a hard worker and hate to fail in my work whatever it is.

Programming (objective C specifically) is the thing that I want to go through, will never feel bored and it will limit my interactions with stupid people, and I believe I can sell my applications and do a lot of money.

Any suggestions?

I went back into programming mid-career after being in management. I just took random courses in whatever was in high demand wherever I could find them, built up a portfolio and networked (almost all online) with people doing the same kind of work.

I got a contract with a Fortune 100 contract on my first attempt because of my portfolio. If a company wants X done and you have a portfolio with a successful X in it, that pretty much beats out consulting companies with nice offices in glass office towers, sales people in suits, high overhead but no portfolio with a specific X product in it.

I'd suggest classes in something high demand, build up a portfolio of volunteer or your own hobby projects you can sell yourself or use to get contracts, network at least on forums if not offline as well, become an expert in not everything but in 1 - 3 things that are relatively new and hot and not a lot of other people know yet. Then be prepared to rinse and repeat in 5 - 15 years when the rest of the market catches up or surpasses where you are skillwise. If you can sell something evergreen, all the better. I still make some money from things I developed years ago.

And read up on how to become an expert at something
The Expert on Experts | Fast Company | Business + Innovation

One of our kids' friends became an expert at a single type of software package and makes a really good income without ever even having gone to college or even community college.

This is a really good book on how to work for yourself in tech related field. It is out of date in terms of the technical advice, but the general concepts on work habits, identifying niche markets and how to develop income streams still hold true today:

http://www.tinaja.com/ebooks/ismm.pdf
 
Last edited:
I've been in IT, and software development for much of it, for about 30 years, and I can definitely say it gets old.

I've programmed in BASIC, COBOL, mainframe assembly, C, C++, and lately have been doing a lot of Salesforce APEX development, and can say this...

No matter what platform, what language, or what tools you use, every program does only three things - accepts input, processes data, and provides output.

Doesn't matter if that input is from a punch card or a smartphone screen, and it doesn't matter if the output is greenbar paper or a screen, it's still just input and output. Input + crunch data = Output.

If you want to try it out, by all means go for it, because it probably will be fun and enjoyable for a bit. But pure software development does get boring, no matter what the technology is. There are only so many programs you can write before they all look the same.

My .02 at least...
 
...snip...agreed.....

No matter what platform, what language, or what tools you use, every program does only three things - accepts input, processes data, and provides output.

Doesn't matter if that input is from a punch card or a smartphone screen, and it doesn't matter if the output is greenbar paper or a screen, it's still just input and output. Input + crunch data = Output.

If you want to try it out, by all means go for it, because it probably will be fun and enjoyable for a bit. But pure software development does get boring, no matter what the technology is. There are only so many programs you can write before they all look the same.

My .02 at least...

This last section made me laugh. I clearly recall writing my first JES 2 exit program(how mainframes deal with printing). Exciting as I knew it would be executed millions of times daily. It had to be perfect as all printed output went through it. I was so happy learning JES 2 APIs and internal control blocks. As I was developing the code it occured to me, this is really a batch assembly print program. I'd written hundreds of these. You are so correct!

Sent from my SAMSUNG-SGH-I337 using Early Retirement Forum mobile app
 
At the risk of coming off harsh, this sounds a bit naive. There's no such thing as a programming job where you never feel bored. Like any job, there are mundane tasks that must be done, which you won't feel like doing (build notes and other documentation, dealing with App Store release requirements, accounting if you're running your own business, etc.). Likewise for interacting with "stupid people". Even if you're a one man operation, you can't operate in a vacuum. At a minimum, you need customers, and customers can be challenging.

It's fine to want to shift into programming, but you should have realistic expectations. The thrill of getting code to compile and run is pretty strong in the beginning (I still remember those "YES!!!" moments when I was young). It does wear off, though. The coding part of the job is still enjoyable, but that probably only makes up 25% of my time as a developer.

If you want to program, start programming. There are myriad books and tutorials on developing Objective-C applications. If you have some ideas, create a simple app. Make it available for free, and solicit feedback from everyone you can. Incorporate the feedback into new releases, and get feedback on that. Rinse and repeat.

It takes more than being a good programmer to make money developing iOS apps. You need to be able to market the apps. You need to have visual design skills to create an app that looks good. You need to be able to manage release cycles, and maintain bug and enhancement backlogs.

Like anything, if you really want to do it, just start doing it. The barrier to entry is extremely low. Join Objective-C user groups. Network. Get feedback on what you're building. If you're stuck, post code snippets on stackexchange.com. There are lots of extremely smart people in the world willing to help you for free. As you get better, don't forget to return the favor.

Good luck.


Many thanks for your encouraging words, it really very well said reply, I already started using x-code trying to create something, coding is really very difficult, no matter how many books or tutorials you have read.

I don't have any problems in creating a good looking application, well organized user interface, but getting them to work is really a hard job, and that depends sure on the aim, type (networking, social, game, photo editing....etc) and complexity of the application.

Well said ProspectiveBum. I retired after 29 years in the industry working at a MegaIT company.

Really the only thing to add in all those years I knew probably 100 folks that had consulting gigs, application development, running small business apps for folks. None of them quit their day jobs to become self employed. The few that got RIFFed and tried selling apps all eventually went back to a corporate sucky j*b.

Did I mention corporate IT stinks. Politics, stupid people, expect working 80 hour weeks because some id10t made a promise to a client.

Sent from my SAMSUNG-SGH-I337 using Early Retirement Forum mobile app


Thanks for your nice reply, you confirmed to me that the way is not easy, for sure one or several of the folks you know are smarter than me or have more programming experience than myself, and they have not succeeded.

One word, you can't imagine how your word (sucky corporate job) touched me, these 5 to 8 daily jobs really suck, I dream everyday about the day I will leave this job.

I went back into programming mid-career after being in management. I just took random courses in whatever was in high demand wherever I could find them, built up a portfolio and networked (almost all online) with people doing the same kind of work.

I got a contract with a Fortune 100 contract on my first attempt because of my portfolio. If a company wants X done and you have a portfolio with a successful X in it, that pretty much beats out consulting companies with nice offices in glass office towers, sales people in suits, high overhead but no portfolio with a specific X product in it.

I'd suggest classes in something high demand, build up a portfolio of volunteer or your own hobby projects you can sell yourself or use to get contracts, network at least on forums if not offline as well, become an expert in not everything but in 1 - 3 things that are relatively new and hot and not a lot of other people know yet. Then be prepared to rinse and repeat in 5 - 15 years when the rest of the market catches up or surpasses where you are skillwise. If you can sell something evergreen, all the better. I still make some money from things I developed years ago.

And read up on how to become an expert at something
The Expert on Experts | Fast Company | Business + Innovation

One of our kids' friends became an expert at a single type of software package and makes a really good income without ever even having gone to college or even community college.

This is a really good book on how to work for yourself in tech related field. It is out of date in terms of the technical advice, but the general concepts on work habits, identifying niche markets and how to develop income streams still hold true today:

http://www.tinaja.com/ebooks/ismm.pdf


Thanks for your helpful links, browsing them now. Thanks a lot.

I've been in IT, and software development for much of it, for about 30 years, and I can definitely say it gets old.

I've programmed in BASIC, COBOL, mainframe assembly, C, C++, and lately have been doing a lot of Salesforce APEX development, and can say this...

No matter what platform, what language, or what tools you use, every program does only three things - accepts input, processes data, and provides output.

Doesn't matter if that input is from a punch card or a smartphone screen, and it doesn't matter if the output is greenbar paper or a screen, it's still just input and output. Input + crunch data = Output.

If you want to try it out, by all means go for it, because it probably will be fun and enjoyable for a bit. But pure software development does get boring, no matter what the technology is. There are only so many programs you can write before they all look the same.

My .02 at least...


Thank you, I totally respect you point of view.
 
I was always looking for the kind of job that I spend hours and days doing it without getting bored and also that I can gain some money through it.

I graduated from the faculty of Engineering and working in this profession about 9 years ago, without stating too much details, I have never liked this career, although I am doing well in it because I am a hard worker and hate to fail in my work whatever it is.

Programming (objective C specifically) is the thing that I want to go through, will never feel bored and it will limit my interactions with stupid people, and I believe I can sell my applications and do a lot of money.

Any suggestions?

Code:
do
{
   searchGoogle 'egypt programmer job';
   evaluate future programming needs;
   develop additional skills;
   join social media programming groups;
   make posts;
   ask questions;
}while( unhappy );

My pseudo code is poor, but you can make it better.
 
Check out Coursera.org, they have a lot of free courses on many many subjects. There's a charge if you want a certificate. I've just started a course on programming apps for Android. Not far enough along to know how good it is, and I don't know what else they offer for programming, or how useful their certificates are, but some of their other (non-technical) classes I've taken have been interesting.

I may try to write some apps for fun (and distribute them if I think they are good enough), but I'm not trying to make a living. Lots of wisdom in the responses you got. I (usually) loved the coding part of my job, but there was a lot of other not-so-fun stuff that went with it.
 
Over the years, I've read about literally dozens of folks who had a specific idea who then learned programming to build it and were successful in marketing it. In kitchen table app development, the idea is the thing, followed by the drive to learn the tech to make it happen.

I'm a software engineer by trade, but I've done more hobby programming than any other type. IMHO the biggest drag in that kind of programming is when you achieve a following and some start to demand you do this or that to your well-crafted baby, and it just doesn't fit with your vision...

Good luck with it!
 
I don't have any problems in creating a good looking application, well organized user interface

Almost all programmers I know have a problem with this. There is even a specialty consultant to deal with user interface issues (UX design) because this is so hard for most programmers. If you really are good with designing clean sensible and intuitive user interfaces, you might explore the idea of making that your specialty. Many companies need this expertise.
 
Likewise for interacting with "stupid people". Even if you're a one man operation, you can't operate in a vacuum. At a minimum, you need customers, and customers can be challenging.

It's fine to want to shift into programming, but you should have realistic expectations. The thrill of getting code to compile and run is pretty strong in the beginning (I still remember those "YES!!!" moments when I was young). It does wear off, though. The coding part of the job is still enjoyable, but that probably only makes up 25% of my time as a developer.


Good luck.


Amen on the customers reality. I keep asking my ole man why he hasn't retired yet at 64, he is clearly FI but he says, why, I commute 2 miles to work and I have the customer in my back pocket.

He is great at dealing with BS, me not so much...I think it will come with age.


As for learning and landing a job, practice, network, and build a portfolio. Then you can pursue either a FTE, Corp2Corp, Contracting/Consultancy job once you know someone and something, and can prove at a deep-dive technical level during the interview.

Make sure it is a job you will like doing, otherwise those boring mundane tasks and moments in time are much harder to get through.

I would focus on some internet technologies and topologies as well. Once you know how the internet was built, and web browsers display and render its a lot easier to start building something that will ultimately live and breathe on that infrastructure.

I swear the philosophy today is push the code out the door as quick as humanly possible, we wanted it done yesterday. at least at megacorp that has been largely my experience.

Good Luck.
 
Another skill that I think is hugely undervalued in the development world is not taking customers' requests at face value, and instead being able to see the forest for the trees, and get at what they REALLY need.

95% of the time, what a customer says they want isn't what they want. I see this a lot with younger people in their software development careers. One of my teammates will take a customer's request at face value. I used to handhold him more, but finally got to the point where I figure he's got to learn this on his own. So the last two projects he's worked on, he implemented what the customer said they wanted, and then had to go back afterwards and do tons of rework to give them what they actually needed.

Now he's starting to see the bigger picture and question more.

That's why, to me, I don't value technical skills anywhere near as high as business skills when I'm interviewing people. So somebody has 15 years of software development experience. Big deal. I want somebody who can see beyond a customer's smoke screens and figure out what they really need, and then go code it up.
 
it will limit my interactions with stupid people, and I believe I can sell my applications and do a lot of money.
Any suggestions?

Keep in mind if there were no "stupid people" they'd simply code your app themselves, and have no need to pay you. In a more general form, that rule applies to all jobs.
 
Many thanks for your encouraging words, it really very well said reply, I already started using x-code trying to create something, coding is really very difficult, no matter how many books or tutorials you have read.

I don't have any problems in creating a good looking application, well organized user interface, but getting them to work is really a hard job, and that depends sure on the aim, type (networking, social, game, photo editing....etc) and complexity of the application.

ProspectiveBum gave you some excellent advice, +1 :)
I'd like to add, that from what you describe above,you are maybe more suited to be a UI/app designer vs. developer (programmer).

Can you find a "buddy" developer, who would do "guts" of the applications you are thinking about?
I am software developer by trade & vocation and it's quite prevalent in the industry to work on hobby/side projects on your own time.
Maybe even somebody on ER board?

I would definitely not quit your 9-5 job, for all the guys who got rich making Angry Birds, Candy Crush or Minecraft, there are thousands of people doing software development as an expensive hobby.


Good luck. IMHO it's harder to come up with novel creative idea, than implement such.
 
I am software developer by trade & vocation and it's quite prevalent in the industry to work on hobby/side projects on your own time.

Absolutely. I worked for mega-corp as a developer while doing my own thing on the side (about eight years part-time work in all). I quit to finish my project once I got a big customer lined up, sold my company for almost $4 million at 39, and ER'd at 40 after my contract with the buyer was up.

I pretty much did what my employer was doing, but for a different niche. (It was in aviation). I learned the lingo of the industry, knew the main trade shows for the industry, and watched how my company made sales to get $5 million projects that pretty much only two or three of us developers created. That got me thinking I could work twice as hard and maybe get sales like that myself?

That's what happened, but in the different niche. I was a little worried about my (now former) employer coming after me, but it turned out that nobody there cared. A few of my colleagues were even inspired by my corporate break to break off themselves.

As for the app idea, consumer apps may be sexy, but business-to-business apps are sadly lacking in the latest technology and are ripe for making big money, in my experience. Do what your employer does (or better, a previous employer), except do it on your own. They're making money on it, so you should be able to also.
 
Back
Top Bottom