Pages:
Author

Topic: How does one get started in devlopment for Bitcoin? (Read 2915 times)

sr. member
Activity: 308
Merit: 250

NEVER, trust family & friend's reviews. If you have a kid, ask him he'll give you the most honest review lol

On a serious note, what do you mean by a normal job ? are you working in softwares or Huh

Work on something small, dont aim big, I'd like to interview someone someday soon, and I'd like to hire someone who knows a lot of little things instead of one single thing where he spent half his adult hood. While the later is good but in a competitive market you need to diversify your skill sets. Am I making sense ?

I will first say, I always trust friends and family.  If they can't tell you the truth then they aren't helping you at all, which is the main point.  My brother interviews people for software development and looks at thousands of Resumes, he isn't go to not make mine good. 

My normal job, is just an IT job, no coding, just mostly help desk and fix it stuff. 

That is what I have been doing, just learning stuff little by little and trying to put something together.
hero member
Activity: 1778
Merit: 764
www.V.systems


If you can't even trust your family and friends, who would you trust then? Huh You can't live in this world with motto "TRUST NO ONE". Roll Eyes

   ~~MZ~~

Dont misquote me, your family members will always support you no matter how much you - pardon my language- suck at something. It'll be always 'good' to them.
Dont bring philosophy into psychology.


But if you have to, then I believe this will satisfy you ;



Full quote :

"Do not believe in anything simply because you have heard it. Do not believe in anything simply because it is spoken and rumored by many. Do not believe in anything simply because it is found written in your religious books. Do not believe in anything merely on the authority of your teachers and elders. Do not believe in traditions because they have been handed down for many generations. But after observation and analysis, when you find that anything agrees with reason and is conducive to the good and benefit of one and all, then accept it and live up to it."

--- Buddh

First ones to remind me this on this forum are Benu da and spndr7 https://bitcointalksearch.org/topic/marketplace-trust-217095
hero member
Activity: 560
Merit: 509
I prefer Zakir over Muhammed when mentioning me!
Look here : https://bitcoin.org/en/development . You can see some of the great projects which will help you to start development for Bitcoin. Best of luck! Smiley

@legend

I guess the thing is I have applied at a few places and I don't even get call backs.  My Resume looks good(My brother is a software engineer that does hiring in a different city, said it looked great)  Every place I have been applying to says things like, Show us your github and open source projects you have worked on.  Well I really haven't worked on any so its hard to start from anywhere, I have my normal job and I am active, its hard to just begin coding on open source stuff I feel when I don't have a lot of time. 

@Meow

I am going to take you up on your offer, pm sent.

NEVER, trust family & friend's reviews. If you have a kid, ask him he'll give you the most honest review lol

If you can't even trust your family and friends, who would you trust then? Huh You can't live in this world with motto "TRUST NO ONE". Roll Eyes

   ~~MZ~~
hero member
Activity: 1778
Merit: 764
www.V.systems
@legend

I guess the thing is I have applied at a few places and I don't even get call backs.  My Resume looks good(My brother is a software engineer that does hiring in a different city, said it looked great)  Every place I have been applying to says things like, Show us your github and open source projects you have worked on.  Well I really haven't worked on any so its hard to start from anywhere, I have my normal job and I am active, its hard to just begin coding on open source stuff I feel when I don't have a lot of time. 

@Meow

I am going to take you up on your offer, pm sent.

NEVER, trust family & friend's reviews. If you have a kid, ask him he'll give you the most honest review lol

On a serious note, what do you mean by a normal job ? are you working in softwares or Huh

Work on something small, dont aim big, I'd like to interview someone someday soon, and I'd like to hire someone who knows a lot of little things instead of one single thing where he spent half his adult hood. While the later is good but in a competitive market you need to diversify your skill sets. Am I making sense ?
sr. member
Activity: 308
Merit: 250
@legend

I guess the thing is I have applied at a few places and I don't even get call backs.  My Resume looks good(My brother is a software engineer that does hiring in a different city, said it looked great)  Every place I have been applying to says things like, Show us your github and open source projects you have worked on.  Well I really haven't worked on any so its hard to start from anywhere, I have my normal job and I am active, its hard to just begin coding on open source stuff I feel when I don't have a lot of time. 

@Meow

I am going to take you up on your offer, pm sent.
full member
Activity: 196
Merit: 100
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience.  Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code

Age old dogma of what comes first ? the egg or chicken.

Freshers need to understand that experience doesnt need to be in a company. Build your own calculator, that counts as an experience. Get the meaning ?

I understand that part, the thing is, I am not going to bring in to a job interview a working calculator, they will look at me like I am crazy.  What they want to see is you actively working with random people on the internet so that you can work and contribute to a team

You can consider contributing within an altcoin community. There are many opportunities out there!

If you enjoy C++ and the intricacies of making a Qt wallet, then you can be a coin dev. If you enjoy making apps, then you can be a web or mobile dev. I've touched coin development, but I enjoy making apps that brings real use cases to the coin much more. To be an app dev, you would probably need to get familiar with RPC and how that works. There are also tons of libraries in different languages for RPC.

If you are interested in making apps and becoming part of an active altcoin community, you can find many if you browse around. I would recommend HYPER  Wink. If you like games, then this would be the community to be at! You can also find open source projects all over the place. For HYPER, I created this github group. There aren't many projects on there yet. They are just open source projects that I have and want to work on. Outside of that, I have a few private repositories where I am working on something called "Hyper Gaming Gateway". More info is in my sig. If you're interested in that, you can PM me!

You are welcome to propose or work on a project anytime you want! If you're like me, you can get intimidated by large open source projects, especially when there isn't sufficient documentation and you don't really know where to get started. Like you, I also have a degree in CS, but I also have a day job. PM if you would like to work together and/or you want to join a coin community with lots of support!
hero member
Activity: 1778
Merit: 764
www.V.systems
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience.  Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code

Age old dogma of what comes first ? the egg or chicken.

Freshers need to understand that experience doesnt need to be in a company. Build your own calculator, that counts as an experience. Get the meaning ?

I understand that part, the thing is, I am not going to bring in to a job interview a working calculator, they will look at me like I am crazy.  What they want to see is you actively working with random people on the internet so that you can work and contribute to a team

You've got this premade notion of job interviews being something out of Star wars perhaps, lol its not trust me, I have given many interviews scored many ditched many and got rejected by many. Most of the times company wants to know if they are gonna hire a baby who they'd have to babysit all the way through or do they get someone who knows how to get things done without relying on input.
sr. member
Activity: 308
Merit: 250
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience.  Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code

Age old dogma of what comes first ? the egg or chicken.

Freshers need to understand that experience doesnt need to be in a company. Build your own calculator, that counts as an experience. Get the meaning ?

I understand that part, the thing is, I am not going to bring in to a job interview a working calculator, they will look at me like I am crazy.  What they want to see is you actively working with random people on the internet so that you can work and contribute to a team
hero member
Activity: 1778
Merit: 764
www.V.systems
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience.  Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code

Age old dogma of what comes first ? the egg or chicken.

Freshers need to understand that experience doesnt need to be in a company. Build your own calculator, that counts as an experience. Get the meaning ?
legendary
Activity: 1050
Merit: 1002
Hey all,

How would I go about contributing, helping people for Bitcoin.  I do have a degree in Computer Science I just don't know where to start here at all, if anyone has any advice, guides that would be great!

Thanks!

Hey welcome!

We've got many great coders and can always use more. Where to start? That depends. Bitcoin now is like the Internet in the 90s, tons of potential but underdeveloped.

Bitcoin can use it all, but you probably want to stick to what you're most interested in. If you really want to help the core of Bitcoin at a minimum you can run a full node (make sure it's done properly). However, something Gavin also mentioned is a big need for people to review core code, because people often prefer writing code to reviewing.

If you're more of an app developer then dive into making things which support Bitcoin use cases, which strengthens the community (especially things with an emphasis on security). Like I said, Bitcoin needs it all!

Also, if you want coding experience for later job prospects a great way to go is contributing to open-source projects. You'll find a lot of opportunities for that in this community too.
newbie
Activity: 18
Merit: 0
@starfeeder

You basically just described the path I'm taking Smiley  I just started a nodejs project to get the ticker info for a bunch of exchanges.  I'm thinking of expanding this to make 1 huge node.js wrapper library to aggregate all the api's for all the exchanges (or most of them anyways).  

But before that, I thought to start by making the ticker then maybe some website to send email alerts for a given exchange/price.  Maybe add some charting , etc...

Actually, if we're doing similar things, would you ever want to collaborate?  I'm a java dev during the day, but have been trying to get my hands dirty with Node and Scala.

newbie
Activity: 6
Merit: 0
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience.  Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code

If you are at that level, I'd say start by making your own website / blog.

As far as Bitcoin goes, the easiest app you can make would be a price ticker, like preev.com or zeroblock. So if I where you, I'd make one of those.

I'm working on a public address watcher which will display total bitcoins in all accounts combined. Next after that is making a web wallet.

Like some others have said, I wouldn't touch Bitcoin core, don't know C anyways, also wouldn't want to mess anything up with the core client. Rather just built apps that connect to the blockchain.

For resources:

Bitcoin
https://bitcoin.org/en/developer-guide#full-service-wallets
http://www.amazon.com/Mastering-Bitcoin-Unlocking-Digital-Cryptocurrencies/dp/1449374042
https://github.com/aantonop/bitcoinbook

For Programming (web):
I like Tuts+ and Codeschool, I'm currently learning the MEAN stack, and there are various videos and tutorials all over the web.

sr. member
Activity: 308
Merit: 250
If you are interested in C# https://github.com/NicolasDorier/NBitcoin.
The code is easier to read, and there is not lot of people. This is the smoother way to start contributing I believe.

You can play with some cool stuff with it, take a look to the articles listed in Readme. Smiley

(And it works on all : Microsoft, Linux and Apple plateform, mobile or not)



Thanks for the response, I will check out the github and look around at the code see if I can contribute to anything and start the learning process!  Thanks!
hero member
Activity: 714
Merit: 662
If you are interested in C# https://github.com/NicolasDorier/NBitcoin.
The code is easier to read, and there is not lot of people. This is the smoother way to start contributing I believe.

You can play with some cool stuff with it, take a look to the articles listed in Readme. Smiley

(And it works on all : Microsoft, Linux and Apple plateform, mobile or not)

legendary
Activity: 1628
Merit: 1012
member
Activity: 66
Merit: 10
Thanks for the answer, I am just looking to get some practice coding so I can try and one day get a job as a programmer, everywhere I apply I don't get many call returns because everyone wants experience.  Its hard to get experience if no one gives you the chance to get some, so I want to start working on side projects to show them I can code


Lie about your experience and give your friends as refrences and inform them that someone may be calling and tell them who you put them down as.
I've had several friends land really good jobs doing this - they rarely delve deep into your references if you are applying for a starter position at a company. They will call and probably not much more than that... Get the job, work there and get real coding experience at a company, then you can either work your way up or apply for a different/better job once you have some real job experience.

Don't get so discouraged without actually trying. If you really put effort into getting a job and are willing to spin a few small lies (if needed) to make yourself better than the rest of the applicants - so be it..

If being dishonest doesn't suit you then just learn to sell yourself. If I were hiring people - I would hire someone with less experience if he wanted the job more, was more enthusiastic, and promised he would work hard and be grateful for the opportunity over some guy who just needed a job and had a degree. Especially if he came prepared with examples of his work or showed real effort or persistence.

Just a thought. Don't quit before the race starts.
legendary
Activity: 1008
Merit: 1000
One thing you can do is fork and create an altcoin. There are lots of altcoin guides around, and it will give you valuable experience.
You can even launch it in altcoin section while making it clear that you're doing it for study purposes.
legendary
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
there is a bug log on the git repo, feel free to start fixin stuff Smiley
sr. member
Activity: 308
Merit: 250

One thing you might consider is to pick some language you like to use and intend to use (e.g. C, C++, Pascal, Ada, Swift, Smalltalk, php, perl, python, Java, Javascript, Prolog, Lisp, ML or whatever) and do some coding.  Pick a language that you know at least a bit, know the development environment, and have access to.  Some languages might be more of a challenge than others!

Then pick something small to familiarize yourself with how bitcoin works first.

For example, create a private/public pair.   Might be 50-100 lines of code depending on how much you comment it.  You'll learn a lot, and there are examples that you can look at to follow along.  And articles (e.g. http://procbits.com/2013/08/27/generating-a-bitcoin-address-with-javascript).  Then maybe redo it in a more common language if you used something esoteric like ML, Prolog or Lisp.

Then, find another area you can extend it.

Try to avoid using libraries (you may need some, for example an elliptic curve math library might be good).  You will familiarize yourself with some portions of the nuts and bolts if you do a few smaller projects.  Keep an eye on the forums (and join the development list) and see what areas people think need work or improvement.  Look at the BIPs.

You'll figure out what areas are of interest to you, which is important, and what areas you enjoy too!



Wow, Thanks a lot this is pretty much exactly what I am looking for.  The languages I know are C++, C, Javascript and Java really well, I am learning others but am not 100% confident in them yet.  Thanks again!
legendary
Activity: 4270
Merit: 1313
Hey all,

How would I go about contributing, helping people for Bitcoin.  I do have a degree in Computer Science I just don't know where to start here at all, if anyone has any advice, guides that would be great!

Thanks!

One thing you might consider is to pick some language you like to use and intend to use (e.g. C, C++, Pascal, Ada, Swift, Smalltalk, php, perl, python, Java, Javascript, Prolog, Lisp, ML or whatever) and do some coding.  Pick a language that you know at least a bit, know the development environment, and have access to.  Some languages might be more of a challenge than others!

Then pick something small to familiarize yourself with how bitcoin works first.

For example, create a private/public pair.   Might be 50-100 lines of code depending on how much you comment it.  You'll learn a lot, and there are examples that you can look at to follow along.  And articles (e.g. http://procbits.com/2013/08/27/generating-a-bitcoin-address-with-javascript).  Then maybe redo it in a more common language if you used something esoteric like ML, Prolog or Lisp.

Then, find another area you can extend it.

Try to avoid using libraries (you may need some, for example an elliptic curve math library might be good).  You will familiarize yourself with some portions of the nuts and bolts if you do a few smaller projects.  Keep an eye on the forums (and join the development list) and see what areas people think need work or improvement.  Look at the BIPs.

You'll figure out what areas are of interest to you, which is important, and what areas you enjoy too!



Pages:
Jump to: